You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The runner module is configurable via many variables. From day one the intention was to keep the module simple to use, and ensure it work out of the box with minimal configuration. To allow the user to adjust the module to their needs a lot of variables are offered over time. Althowu we tried to keep certain naming convention; this is not properly applied anymore. Also, when we made the first version of the module optional were not supported by Terraform.
We think it is time to rethink the variables and make a major refactoring. We not planning to drop support for variable but just among better naming, and when possible, add validation.
Any support from the community would be welcome of course.
Approach - prefix style
In this approach we prefix each variable with a predefined set of prefixes. An example could be:
No option to validate variables that are correlated, for example en userdata is not enabled, it does not make sense to proivde a template.
Keeps a lot of duplication by copying varaibles to submodules
Advantages
Logical grouping via normal sorting
Approach - object style
In this approach we define object for variables that logically group togehter. The object names are like the prefixes of the other option.
Disadvantage
Description needs to describe multiple attributes
Advantage
Option validate correlation variables
Less copying when passing values to submodules, just pass the object
Migration
These changes will be breaking and requiring migration. The intention is to move all not supported variables to the variable deprecated file, and throw an error when used, with a hint for migration.
The text was updated successfully, but these errors were encountered:
npalm
changed the title
Refactor ALL variables
Refactor ALL variables - FEEDBACK / HELP
Aug 5, 2023
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions.
Problem
The runner module is configurable via many variables. From day one the intention was to keep the module simple to use, and ensure it work out of the box with minimal configuration. To allow the user to adjust the module to their needs a lot of variables are offered over time. Althowu we tried to keep certain naming convention; this is not properly applied anymore. Also, when we made the first version of the module optional were not supported by Terraform.
We think it is time to rethink the variables and make a major refactoring. We not planning to drop support for variable but just among better naming, and when possible, add validation.
Any support from the community would be welcome of course.
Approach - prefix style
In this approach we prefix each variable with a predefined set of prefixes. An example could be:
network_vpc_id
,network_subnet_id
runner_ec2_userdata_enable
,runner_ec2_userdata_template
Disadvantage
Advantages
Approach - object style
In this approach we define object for variables that logically group togehter. The object names are like the prefixes of the other option.
Disadvantage
Advantage
Migration
These changes will be breaking and requiring migration. The intention is to move all not supported variables to the variable deprecated file, and throw an error when used, with a hint for migration.
The text was updated successfully, but these errors were encountered: