#atmos-dev - July 2026

114 messages

Discuss atmos core development (golang). If you want to help out, reach out to @Erik Osterman (Cloud Posse)

erik
erik4 months ago
@Andriy Knysh (Cloud Posse) kubernetes components are ready for review. github.com/cloudposse/atmos/pull/2607

after this, the last PR is github.com/cloudposse/atmos/pull/2667 which needs to be rebased on main after merging 2607
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) Improve the mobile responsiveness of the new site theme

github.com/cloudposse/atmos/pull/2673
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) native support for atmos emulators + terraform test.
github.com/cloudposse/atmos/pull/2663
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2667 is passing now
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2683
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2681
This fixes some bugs in 1.222
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2678 this makes it easier to separate or to read the help because we separate custom commands from the built-in ones. Also cleans up our output of errors for displaying hints and explanations. Hints were frequently used in place of explanations.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/github-action-setup-atmos/pull/111 cc @Igor Rodionov
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2682
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2429

improves algolia search results by showing the <Intro> subtext when available.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2661
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2687 a slight redesign of the Atmos CI badge.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2268
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) support dot-notion in stack config.

github.com/cloudposse/atmos/pull/2139

components:
  terraform:
    vpc:
      metadata.component: vpc-base
      metadata.owner: platform
      vars:
        tags:
          environment: prod
          team: network
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) This adds support for CEL expressions on when conditions
github.com/cloudposse/atmos/pull/2689

workflows:
  deploy:
    steps:
      - name: plan-prod
        type: shell
        command: terraform plan
        when: !cel 'ci && stack == "prod" && status == "success"'

erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this replaces all make with atmos custom commands.

github.com/cloudposse/atmos/pull/2677

e.g. instead of make build, now we run:

atmos build --target linux

# or just this for the default.
atmos build
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this ensures --profile works with custom commands
github.com/cloudposse/atmos/pull/2190
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2685
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/1515
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2595
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2669
erik
erik4 months ago(edited)
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2696

this reduces the amount of output when running atmos --help ; we now support atmos --help=full or atmos --help=usage
Brian
Brian4 months ago
Can you confirm if this is a bug with interactive workflows and custom commands? Should the new interactive step types (eg, choose, input, etc support non-tty? I think it should. It would mean a single workflow could work for local and ci usage.

Example:
workflows:
  build-manifests:
    dependencies:
      tools:
        kustomize: v5.0.3
    steps:
      - name: account
        type: choose
        prompt: "Account"
        options: [dev, prod]
        default: !env STACK_ACCOUNT dev
      - name: region
        type: choose
        prompt: "Region"
        options: [use1, euc1]
        default: !env STACK_REGION use1
      - name: tag
        type: input
        prompt: "Release tag"
        default: !env RELEASE_TAG latest
      - command: atmos kube build "{{ .steps.account.value }}-{{ .steps.region.value }}/tao" --tag "{{ .steps.tag.value }}" --env "{{ .steps.account.value }}" --output ".argocd/manifests/common-tao/kustomized.yaml"
        type: shell
      - command: atmos kube build "{{ .steps.account.value }}-{{ .steps.region.value }}/zen" --tag "{{ .steps.tag.value }}" --env "{{ .steps.account.value }}" --output ".argocd/manifests/common-zen/kustomized.yaml"
        type: shell
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2692 this is the foundational work that will be used to record ascii casts (videos) of every feature. The work was actually part of another branch, but I refactored it out into it's PR.
erik
erik4 months ago(edited)
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2664 includes github.com/cloudposse/atmos/pull/2688
• after merging these going to focus on recording the demo casts and polishing off the documentation. Then we'll be ready for the next release.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this adds demos for almost every example: (PR is too big to review, but it's all .cast files and YAML workflows to generate the demos).
github.com/cloudposse/atmos/pull/2672

Instead, what makes more sense to review is the output: view the demos.

pr-2672.atmos-docs.ue2.dev.plat.cloudposse.org/examples
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) Optimize the custom golangci linter (custom-gcl) for concurrency across work trees
github.com/cloudposse/atmos/pull/2701
Brian
Brian4 months ago
Heads up: the "Native CI/CD integration" link at top of https://atmos.tools is broken.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2704
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2705
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) updated skills for new features and documented deprecations.
https://github.com/cloudposse/atmos/pull/2493
Brian
Brian4 months ago
Brian
Brian4 months ago
Brian
Brian4 months ago
I see that pkg/auth/integrations/github/sts.go is locked to Atmos Pro. I have been using (self-hosted) version of ChainGuard's octo-sts for the past year. Is this something want to keep locked Atmos Pro?
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2712
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2707 This fixes the rest of the casts and adds the casts to each changelog.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2706
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2717
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2715
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2703
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2713
erik
erik4 months ago(edited)
@Andriy Knysh (Cloud Posse) this introduces a loop skill that is activated by /pr-maintenance-loop And when activated we'll periodically wake up, rebase, address the Code Rabbit review comments, ensure test coverage is over 85%, fix ci failures, and keep the PR title and description up to date, and then announce the PR is ready for final review.github.com/cloudposse/atmos/pull/2718
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) I gave atmos AI and atmos MCP a facelift. Improved the DX, cleaned up the UX, introduced more tools into the MCP so it can manage toolchains, vendor configs, set/get operations, as well has HCL editing. The docs also got a makeover.

We can now just run atmos mcp install and it will install by default the atmos MCP, as well as specifying presets defined in atmos.yaml. Added uninstall command too, support for http transports, and more.

github.com/cloudposse/atmos/pull/2720
Prashanth D
Prashanth D4 months ago
Please can you review this github.com/cloudposse/atmos/pull/2543
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2742
Brian
Brian4 months ago
Zack
Zack4 months ago
@Erik Osterman (Cloud Posse) ptal github.com/cloudposse/atmos/pull/2747 - addressed the rabbit. Confirmed working on my machine
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2730
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) clean up PR github.com/cloudposse/atmos/pull/2752
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2751
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) finally support for tags & labels github.com/cloudposse/atmos/pull/2738
erik
erik4 months ago
Bug fixes for the not-yet released version tracker.
github.com/cloudposse/atmos/pull/2698
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2736 Hooks were not firing on bulk operations
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) MCP / AI refresh is ready github.com/cloudposse/atmos/pull/2720
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) if the tests pass, good to merge and cut release
github.com/cloudposse/atmos/pull/2508
Brian
Brian4 months ago
github.com/cloudposse/atmos/pull/2754 - Fixes an edge case for the PR toolchain that was merge.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2749 this consolidates the stack schemas
Brian
Brian4 months ago(edited)
QQs. If tools are defined at the project root level (eg, .tool-version), should custom commands have access to those tools defined at the project? Should it behave differently if a custom command defines dependencies.tools or does not define any?
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2753
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2758 This speeds up tool chain installation, by parallelizing install
Brian
Brian4 months ago
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2760 (this is semi urgent; causes GHA issues with cloudposse/atmos/actions/*

Download action repository 'actions/checkout@v6' (SHA:df4cb1c069e1874edd31b4311f1884172cec0e10)
Download action repository 'cloudposse/atmos@v1' (SHA:1c00575b4be0393764fd202c4f0fb8efaf2411a0)
Error: Could not find file '/home/runner/_work/_actions/_temp_abab9a8a-faa8-41be-b57a-2d057d929d26/_staging/atmos-1c00575b4be0393764fd202c4f0fb8efaf2411a0/.claude/skills/atmos-gitops'.
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/1834 Overhauls are grammar for parsing YAML functions and implements a first-class parser instead of relying on CSV. No more """ Syntax for escaping quotes is required (although supported for backward compatibility).
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this introduces the long awaited atmos init and atmos scaffold commands;

github.com/cloudposse/atmos/pull/1687
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2763
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2761
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) small bug fix github.com/cloudposse/atmos/pull/2769
Brian
Brian4 months ago
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2755
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) documentation clean up for dependencies
github.com/cloudposse/atmos/pull/2773
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) bug fixes for --help cast output (it was getting recorded twice)
github.com/cloudposse/atmos/pull/2774
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this adds missing options to use build caches and mirrors
github.com/cloudposse/atmos/pull/2771
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this just adds test coverage; tried to reproduce the issue @Zack was having, but turns out it was already fixed. This just confirms that it's also already fixed 😃
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this provides an escape hatch, where if users specify --mask=false, atmos will not attempt to pass sensitive values via ENV vars.
github.com/cloudposse/atmos/pull/2770
erik
erik4 months ago
@Andriy Knysh (Cloud Posse) this just improves the hint when using --use-version incorrectly github.com/cloudposse/atmos/pull/2775
Brian
Brian4 months ago(edited)
Any opinion on choice options being determined at runtime? I would like to populate the options for choice in earlier step prior to reaching the step.

Related, any opinion on markdown not being pre-render before any steps: [] are executed? I would like to render .steps.<name>.output in markdown using markdown type.
Zack
Zack3 months ago(edited)
fix for a templating bug that we ran into after upgrading to atmos 1.223.0
github.com/cloudposse/atmos/pull/2779
Brian
Brian3 months ago
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this was verified by @Sean github.com/cloudposse/atmos/pull/2783
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this adds support for tflint as a hook, and atmos terraform lint subcommand; it also includes native support for GitHub annotations, sarif format, and markdown summaries.

github.com/cloudposse/atmos/pull/2675
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) I was hoping to squeeze in one more PR but I think it's pushing it. Let's cut a release with what we have now. cc @Sean
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) actually one more is ready https://github.com/cloudposse/atmos/pull/2780
erik
erik3 months ago
Then lets cut 1.224.0
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2780
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) we need to cut a patch release tomorrow as soon as these are passing
erik
erik3 months ago
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2786
erik
erik3 months ago
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)3 months ago
@Erik Osterman (Cloud Posse) github.com/cloudposse/atmos/pull/2805
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2806
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2808
Juan Aguero
Juan Aguero3 months ago
Hey 👋 ,

Dropping the RDS IAM auth PRs here (full context in discussions #121):
- token — atmos aws rds token, ready for review → github.com/cloudposse/atmos/pull/2817
- connect — atmos aws rds connect + aws/rds integration, draft follow-on → github.com/cloudposse/atmos/pull/2818

Token's self-contained; connect builds on it and has a couple of open design Qs (embedding the Amazon RDS CA bundle vs fetch-on-demand / --ca-bundle, and the psql/mysql client-binary prereq) — kept it draft pending direction there. Happy to reshape either.
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2808
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2798
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this one warrants a closer look and is an area you've spent the most time on over the years.
github.com/cloudposse/atmos/pull/2787

I don't know when it stopped working, but this formalizes and adds regression tests to ensure a "parent stack" can be decomposed into smaller files. It preserves the idea that component instances are unique, while allowing them to be split across multiple files.
Brian
Brian3 months ago(edited)
Couple DX feedback:
1. I love spin type. It makes it feel like a native atmos command. However, it hide error messages. It needs a way to surface an error on non-zero exits.
a. Adding the ability to pass state (eg, outputs) that can be used by another step would be a bonus.
2. Support for GitHub Action style if: condition for steps would be useful.
a. Not really needed for shell or spin type steps, but it would be useful for choice types. It would allow for similar interactive experience that atmos provides when running commands that required stack or component inputs. eg, custom command that has flag marked optional (but really is required) could prompt user to select a option when flag value is a empty value.
3. Support for dynamic options for choice
a. We already discussed this. I just haven't spent time on solving it yet. Probably will start this evening.
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2815
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2813
Zack
Zack3 months ago
@Erik Osterman (Cloud Posse) ok - I think this is ready to get into your branch
github.com/cloudposse/atmos/pull/2816
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2814
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2825
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2826
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this fixes the constant windows failures github.com/cloudposse/atmos/pull/2834
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2828 this optimizes the atmos container commands by caching the detected container runtime (e.g. docker or podman)
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this fixes atmos git clone in CI, so it can clone the current repo.
github.com/cloudposse/atmos/pull/2812/changes
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) this fixes the problem reported by @Juan Aguero where atmos would silently (log debug) ignore invalid atmos configs in atmos.d .atmos.d.

github.com/cloudposse/atmos/pull/2837
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2831 fixes race condition reported by @Zack
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) github.com/cloudposse/atmos/pull/2840 This adds only a regression test to confirm a certain reported behavior is no longer happening
erik
erik3 months ago
@Andriy Knysh (Cloud Posse) fixes bug reported by @Maksym Vlasov github.com/cloudposse/atmos/pull/2841