Skip to content

Releases: cloudposse/atmos

0.21.1

10 Jul 09:33
42336d8
Compare
Choose a tag to compare

🚀 Enhancements

Build Atmos for Apple M1 chip. No functional changes. @Nuru (#47)

what

  • Build Atmos for Apple M1 chip. No functional changes.

why

  • Support Apple hardware

references

0.21.0

18 Jun 18:55
f52cbb3
Compare
Choose a tag to compare
Add removing `.terraform.lock.hcl` with `atmos terraform clean` @nitrocode (#42)

what

  • Add removing .terraform.lock.hcl with atmos terraform clean

why

  • This prevents terraform-docs from picking up local provider versions (changes n/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 to n/a)

references

  • N/A

0.20.0

01 Jun 23:08
a43e1af
Compare
Choose a tag to compare
Add new `terraform` and `helmfile` commands @aknysh (#41)

what

  • Add new terraform and helmfile commands
  • Terraform commands: console, show
  • helmfile commands: template, list, status, test, write-values

why

  • More native Terraform and helmfile command supported by atmos

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

28 May 18:32
2c99477
Compare
Choose a tag to compare
Process `component` attribute for `helmfile`. Add `settings` and `env` sections to `stack config` outputs @aknysh (#40)

what

  • Process component attribute for helmfile
  • Add settings and env sections to atmos stack config outputs
  • Add --config-type=describe parameter to atmos stack config command

why

  • Process component attribute in helmfile commands - make helmfile module the same as the terraform module and allow using the component 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 and env sections to stack config outputs - make atmos compatible with the latest additions to YAML stack configs

  • Add --config-type=describe parameter to atmos 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

04 May 11:02
671d077
Compare
Choose a tag to compare
AWS region paramater pass for terraform import @goruha (#37)

what

  • Pass region parameter for terraform import

why

  • terraform import was broken

0.17.2

27 Apr 17:23
10784b2
Compare
Choose a tag to compare

🚀 Enhancements

fix: refer to correct module @jhosteny (#35)

what

  • Fix the module reference in the example

why

  • It points to a non-existent module, and causes the docker build to fail

references

  • n/a

0.17.1

26 Apr 05:04
5bc1b64
Compare
Choose a tag to compare

🚀 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 in k-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 use go 1.15 and cannot build binaries for Apple M1 because that requires go 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 global go variable inside a variant job.

references

v0.17.0

23 Feb 05:04
fc85d82
Compare
Choose a tag to compare
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 running atmos helmfile ... commands for the environments other than gbl

v0.16.0

18 Feb 03:32
b3f8edc
Compare
Choose a tag to compare
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 in terraform backend generate component command was just outputting to stdout, not to the backend file
  • Simplify terraform backend generate component command
  • atmos version command is useful to show the CLI version

references

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

v0.15.0

15 Feb 18:25
8525e37
Compare
Choose a tag to compare
Fix `terraform backend generate component` job @aknysh (#22)

what

  • Fix terraform backend generate component job

why

  • a comma was missing in the jq command