Accept most other params for dce system deploy as either CLI flags, YAML, or env vars (region, namespace, tfvars)
Add integration testing for dce system deploy command
Some refactoring around dce system deploy config parsing
We a number of different structs holding different types of configuration. We also had a number of places across the code where defaults were set. I tried to move this all into a single configuration struct, and implement defaults in a single location.
Fix some functions to return errors instead of panicking (mostly in cases where it made testing difficult)
Fix a bug where CLI flags/YAML/env vars were ignored, if a cached version of main.tf already existed
End result is that our --use-cached flag no longer has any effect. We could reimplement some caching here in the future, but it probably makes more sense around file downloads vs main.tf file generation.
Fixed bad logic for "local" DCE system deployments. Though I'd recommend that we test and harden this behavior more thoroughly before documenting for general use.
And a couple other things, while I was trying to fix unit tests:
Report test results in Azure Devops pipelines
Fix pre-run check for AWS creds. Was accepting expired creds as valid
Types of changes
[x] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (changes to code, which do not change application behavior)
Proposed changes
Accept DCE version configuration, as:
--dce-version
/-d
)deploy.version
)DCE_VERSION
Also:
dce system deploy
as either CLI flags, YAML, or env vars (region, namespace, tfvars)dce system deploy
commanddce system deploy
config parsingmain.tf
already existed--use-cached
flag no longer has any effect. We could reimplement some caching here in the future, but it probably makes more sense around file downloads vs main.tf file generation.And a couple other things, while I was trying to fix unit tests:
Types of changes
Checklist
README.md
, inline comments, etc.)CHANGELOG.md
under a## next
release, with a short summary of my changes