Remove the hardcoding at different levels of IPs and configuration options and instead take the values from a configuration object (which may come from a simple yaml file, or injected by a script). For 3-n-h-a-s an example code and configuration attached. Actually this example attached code (base_env-main.tf.zip) was tested working in a POC on derived TEF fork and removed hardcoding. The actual configuration object coming from the calling module e.g. envs/development (development-main.tf.zip). An example (working & tested) config file attached . Just a working example showing this is possible and even potentially beneficial in terms of consolidating the configuration and streamlining configuration. Just examples (although working) certainly can be optimized or done in other more intelligent way
TL;DR
Remove the hardcoding at different levels of IPs and configuration options and instead take the values from a configuration object (which may come from a simple yaml file, or injected by a script). For 3-n-h-a-s an example code and configuration attached. Actually this example attached code (base_env-main.tf.zip) was tested working in a POC on derived TEF fork and removed hardcoding. The actual configuration object coming from the calling module e.g. envs/development (development-main.tf.zip). An example (working & tested) config file attached . Just a working example showing this is possible and even potentially beneficial in terms of consolidating the configuration and streamlining configuration. Just examples (although working) certainly can be optimized or done in other more intelligent way
Attachments:
base_env-main.tf.zip development-main.tf.zip vpc_config.yaml.zip
Terraform Resources
Detailed design
Additional information
Related to #1152 #1153 #1154 #1155