add structured support for external and top-level variables in qbec #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactor the options structs and interfaces such that config is now
created in the commands package. This allows for a single implmentation
for real code and tests such that the newly introduced interactions
between VM config and app can be handled in one place and tested.
Add a
vars
section in qbec.yaml that allows definition of externaland top-level variables. External variables can have defaults that
are used when not specified on the command line. Top level variables
must be associated with components such that these are only set
for the components that need them.
Add
-V
and-A
shorthands (similar tojsonnet eval
) to setstring vars for external and top-level variables from the command line.
Code values are also supported but do not have short flags for
assigment.
Introduce a
--strict-vars
flag that restricts commands fromonly setting up variables that are defined in qbec and requires
them to set all such variables at the time of command invocation