Releases: cloudposse/atmos
Releases · cloudposse/atmos
0.21.1
0.21.0
Add removing `.terraform.lock.hcl` with `atmos terraform clean` @nitrocode (#42)
what
- Add removing
.terraform.lock.hcl
withatmos terraform clean
why
- This prevents
terraform-docs
from picking up local provider versions (changesn/a
to hard coded values in.terraform.lock.hcl
) and conflicting with the pre commit hook which then reverts the local changes (changes hard coded values ton/a
)
references
- N/A
0.20.0
Add new `terraform` and `helmfile` commands @aknysh (#41)
what
- Add new
terraform
andhelmfile
commands - Terraform commands:
console
,show
helmfile
commands:template
,list
,status
,test
,write-values
why
- More native Terraform and
helmfile
command supported byatmos
references
test
√ . example ⨠ atmos terraform console vpc -s ue2-dev
{"cidr_block":"10.100.0.0/18","environment":"ue2","namespace":"eg","region":"us-east-2","stage":"dev","test-map":{"a":"a3","atr":{"atr1":"1-1","atr2":"2-3","atr3":3,"atr4":4,"list":["1b"]},"atr-2":{"atr1":1,"atr2":2},"b":"b2","c":"c1","d":"d3","e":"e3","g":"g1","list":[4,5,6],"list2":[1,2,3]}}
Initializing modules...
Downloading git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.39.1 for subnets...
- subnets in .terraform/modules/subnets
Downloading cloudposse/label/null 0.24.1 for subnets.nat_instance_label...
- subnets.nat_instance_label in .terraform/modules/subnets.nat_instance_label
Downloading cloudposse/label/null 0.24.1 for subnets.nat_label...
- subnets.nat_label in .terraform/modules/subnets.nat_label
Downloading cloudposse/label/null 0.24.1 for subnets.private_label...
- subnets.private_label in .terraform/modules/subnets.private_label
Initializing the backend...
Terraform has been successfully initialized!
Workspace "ue2-dev" doesn't exist.
You can create this workspace with the "new" subcommand.
Created and switched to workspace "ue2-dev"!
You're now on a new, empty workspace. Workspaces isolate their state,
so if you run "terraform plan" Terraform will not see any existing state
for this configuration.
> 1 + 1
2
>
0.19.0
Process `component` attribute for `helmfile`. Add `settings` and `env` sections to `stack config` outputs @aknysh (#40)
what
- Process
component
attribute forhelmfile
- Add
settings
andenv
sections toatmos stack config
outputs - Add
--config-type=describe
parameter toatmos stack config
command
why
- Process
component
attribute inhelmfile
commands - makehelmfile
module the same as theterraform
module and allow using thecomponent
attribute to reference the base component with default values
√ . example ⨠ atmos helmfile diff nginx-ingress-2 -s ue2-dev
"environment": "ue2"
"installed": true
"namespace": "eg"
"region": "us-east-2"
"stage": "dev"
"test": false
helmfile --state-values-file ./ue2-dev-nginx-ingress-2.helmfile.vars.yaml diff
rm ./components/helmfile/nginx-ingress/ue2-dev-nginx-ingress-2.helmfile.vars.yaml
-
Add
settings
andenv
sections tostack config
outputs - makeatmos
compatible with the latest additions to YAML stack configs -
Add
--config-type=describe
parameter toatmos stack config
command - show all (deep-merged) sections for a component in one output - helps with debugging YAML configs
√ . example ⨠ atmos stack config nginx-ingress-2 -s ue2-dev --config-type=describe --component-type=helmfile
"backend": {}
"backend-type": "s3"
"command": "helmfile"
"component": "nginx-ingress"
"env": {}
"settings": {}
"vars":
"environment": "ue2"
"installed": true
"namespace": "eg"
"region": "us-east-2"
"stage": "dev"
"test": false
√ . example ⨠ atmos stack config vpc2 -s ue2-dev --config-type=describe
"backend": {}
"backend-type": "s3"
"command": "terraform"
"component": "vpc"
"env":
"ENV_TEST_1": "test1_override"
"ENV_TEST_2": "test2_override"
"ENV_TEST_3": "test3"
"ENV_TEST_4": "test4"
"settings":
"spacelift":
"autodeploy": true
"branch": "test"
"triggers":
- "a"
- "b"
- "c"
"workspace_enabled": true
"version": 0
"vars":
"cidr_block": "10.108.0.0/18"
"environment": "ue2"
"namespace": "eg"
"region": "us-east-2"
"stage": "dev"
"test-map":
"a": "a3"
"atr":
"atr1": "1-1"
"atr2": "2-3"
"atr3": 3
"atr4": 4
"list":
- "1b"
"atr-2":
"atr1": 1
"atr2": 2
"b": "b2"
"c": "c1"
"d": "d3"
"e": "e3"
"g": "g1"
"list":
- 4
- 5
- 6
"list2":
- 1
- 2
- 3
related
0.18.0
0.17.2
0.17.1
🚀 Enhancements
Cross-complie atmos @Nuru (#34)
what
- Use goreleaser to cross-compile and release
- Fix issues with #33 that caused preparation step to fail
why
- Make binaries available for other platforms
notes
- At this time, Windows builds fail due to
syscall
ink-kinzal/[email protected]
being undefined, so we are not yet distributing Windows binaries - At this time, builds using
go
1.16 fail due to an incompatibility with Variant 0.37.1, so we must usego
1.15 and cannot build binaries for Apple M1 because that requiresgo
1.16. - The preferred way to set the version is by having the
go
linker set the value of a global variable, but there is currently no way to reference a globalgo
variable inside avariant
job.
references
v0.17.0
Fix `helm-aws-profile-pattern` option @aknysh (#25)
what
- Fix
helm-aws-profile-pattern
option
why
- Helm/helmfile/kubeconfig AWS profiles use
gbl
environment in their names (since IAM roles are global) - Replacing
{environment}
with the environment values from the YAML stack configs does not work when runningatmos helmfile ...
commands for the environments other thangbl
v0.16.0
Fix `terraform backend generate component` command. Add `version` command @aknysh (#23)
what
- Fix
terraform backend generate component
command while keeping JSON pretty printing - Add
version
command
why
jq
interraform backend generate component
command was just outputting tostdout
, not to the backend file- Simplify
terraform backend generate component
command atmos version
command is useful to show the CLI version
references
- Closes #18
test
> atmos terraform backend generate component vpc -s uw2-demo
{
"terraform": {
"backend": {
"s3": {
"acl": "bucket-owner-full-control",
"bucket": "xxxxx-uw2-root-tfstate",
"dynamodb_table": "xxxxxx-uw2-root-tfstate-lock",
"encrypt": true,
"key": "terraform.tfstate",
"region": "us-west-2",
"role_arn": "arn:aws:iam::xxxxxxx:role/xxxxxx-gbl-root-terraform",
"workspace_key_prefix": "vpc"
}
}
}
}
> atmos version
0.16.0