Skip to content

Releases: cloudposse/atmos

v1.109.0

23 Nov 00:42
4b30800
Compare
Choose a tag to compare
Expose `ExecuteDescribeComponent` function in `pkg` to make it publicly accessible from other Go programs @aknysh (#801)

what

  • Expose ExecuteDescribeComponent function in pkg to make it publicly accessible from other Go programs

why

v1.108.0

20 Nov 18:59
a564308
Compare
Choose a tag to compare
Filter out empty results from describe stacks @Cerebrovinny (#764)

what

  • Introduced a new command-line flag --include-empty-stacks to include stacks without components in the output
  • Enhanced stack processing logic to support filtering based on the new flag
  • Changed the default behavior of atmos describe stacks to filter empty stacks by default unless user pass the flag --include-empty-stacks
  • Added new test cases to validate the behavior of the ExecuteDescribeStacks function with empty stacks

why

This was causing stacks with empty results or no components/imports components to be displayed.

Test Results

Screenshot 2024-11-05 at 11 36 39


Screenshot 2024-11-05 at 11 36 53


v1.107.2

19 Nov 14:25
39cf094
Compare
Choose a tag to compare

🚀 Enhancements

Set Default Schema to Remote Schema @haitham911 (#777)

what

  • Set Default Validation Schema to Remote Schema

why

  • We should set the default schema to the remote atmos schema so that atmos validate work even if the user does not configure a validation schema

v1.107.1

19 Nov 05:54
1020645
Compare
Choose a tag to compare

🚀 Enhancements

Handle empty stack YAML file configurations @haitham911 (#791)

what

  • Handle empty stack YAML file configurations

why

  • atmos validate stacks should not error on empty stack manifest files

v1.107.0

16 Nov 21:00
f909493
Compare
Choose a tag to compare
Add support for custom `atmos terraform shell` prompt @pkbhowmick (#786)

what

  • Add support for custom atmos terraform shell prompt
  • Allow specifying custom prompt for atmos terraform shell command in atmos.yaml. Supports Go templates

why

  • Improve user experience
  • Make the prompt customizable

Working demo

With custom prompt:

Screenshot 2024-11-16 at 11 20 14 PM

Without custom prompt:

image

v1.106.1

15 Nov 19:25
81f6db2
Compare
Choose a tag to compare
Update gettings started, add $schema directive at the top of files @osterman (#769)

what

  • Remove unimplemented commands
  • $schema directive at the top of files

why

  • Not everyone will have $schema validation enabled by default in their editor
Enhance `WriteToFileAsJSON` with pretty-printing support @RoseSecurity (#783)

what

  • Used the ConvertToJSON utility with json.MarshalIndent to produce formatted JSON
  • Indentation is set to two spaces (" ") for consistent readability

why

  • This PR improves the WriteToFileAsJSON function by introducing pretty-printing for JSON outputs. Previously, the function serialized JSON using a compact format, which could make the resulting files harder to read. With this change, all JSON written by this function will now be formatted with indentation, making it easier for developers and users to inspect and debug the generated files

  • This specifically addresses #778 , which previously rendered auto-generated backends as:

{
   "terraform": {
   "backend": {
   "s3": {
   "acl": "bucket-owner-full-control",
   "bucket": "my-tfstate-bucket",
   "dynamodb_table": "some-dynamo-table",
   "encrypt": true,
   "key": "terraform.tfstate",
   "profile": "main",
   "region": "us-west-2",
   "workspace_key_prefix": "something"
}
}
}
}

With this addition, the output appears as:

{
  "terraform": {
    "backend": {
      "s3": {
        "acl": "bucket-owner-full-control",
        "bucket": "my-tfstate-bucket",
        "dynamodb_table": "some-dynamo-table",
        "encrypt": true,
        "key": "terraform.tfstate",
        "profile": "main",
        "region": "us-west-2",
        "workspace_key_prefix": "something"
      }
    }
  }
}

references

v1.106.0

13 Nov 20:56
9acca77
Compare
Choose a tag to compare
Add support for vendor path setting in `atmos.yaml` @Cerebrovinny (#737)

what

  • Add support for vendor path setting in atmos.yaml
  • Add support for vendor files under folders or multiple vendor files to be processed in lexicographic order

why

  • Users now should be able to use new variable vendor in atmos.yaml and process different vendor files at different locations

v1.105.0

12 Nov 13:46
74516e6
Compare
Choose a tag to compare
Clean Terraform workspace before executing `terraform init` in the `atmos.Component` template function @aknysh (#775)

what

  • Clean Terraform workspace before executing terraform init in the atmos.Component template function

why

When using multiple backends for the same component (e.g. separate backends per tenant or account), and if an Atmos command was executed that selected a Terraform workspace, Terraform will prompt the user to select one of the following workspaces:

 1. default
 2. <the previously used workspace>

The prompt forces the user to always make a selection (which is error-prone), and also makes it complicated when running on CI/CD.

This PR adds the logic that deletes the .terraform/environment file from the component directory before executing terraform init when executing the atmos.Component template function. It allows executing the atmos.Component function for a component in different Terraform workspaces without Terraform asking to select a workspace. The .terraform/environment file contains the name of the currently selected workspace, helping Terraform identify the active workspace context for managing your infrastructure.

v1.104.0

11 Nov 17:51
d502eb0
Compare
Choose a tag to compare
Change PS1 to show that Atmos is in the `atmos terraform shell` mode @pkbhowmick (#761)

what

  • Change PS1 to show that Atmos is in the atmos terraform shell mode
  • Customized command prompt for the interactive shell with the addition of the "atmos>" prefix
  • Enhanced shell behavior by removing the unnecessary -l flag for non-Windows systems and implementing a fallback to sh if bash is unavailable.
  • Improved handling for the /bin/zsh shell with additional flags

why

  • Improve user experience

test

image

v1.103.0

11 Nov 17:25
1250929
Compare
Choose a tag to compare
feat: additional `atmos docs` parameters for specifying width, using auto-styling and color profile, and preserving new lines @RoseSecurity (#757)

what

atmos_docs

  • Add an additional atmos docs flag for specifying the width of markdown output
  • Utilizing auto-styling based on light or dark mode preferences instead of hardcoding to dark
  • Preserving new lines with rendered markdown

why

  • Enhance the user experience for interacting with documentation. The width parameter is useful for users who prefer seeing wider output for Terraform docs-generated tables and is defined in the atmos.yaml:
settings:
  docs:
    max-width: 200

references