#atmos-dev - October 2025

86 messages

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

October 2025
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this addresses @j4zzcat’s feature to support imports of templates without context. https://github.com/cloudposse/atmos/pull/1544
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this resolves the issue reported by @Jonathan Rose (I believe) and adds extensive tests for the vendoring functions. It resolves a regression (outside of our control) that appeared after upgrading go-getter https://github.com/cloudposse/atmos/pull/1504
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) another small one that builds on the previous one https://github.com/cloudposse/atmos/pull/1581
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) cc @Shubham Tholiya https://github.com/cloudposse/atmos/pull/1591
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) a small clean up: https://github.com/cloudposse/atmos/pull/1596
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this addresses the issues raised by @Jonathan Rose that led to defaults not used. Most likely cause is API rate limits with SSM. Tests were able to reproduce the failure case (by mocking a 10% failure rate). https://github.com/cloudposse/atmos/pull/1583
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) here's a big one. It refactors all of atmos to properly use wrapped errors and eliminates substring searches on errors to determin the type of error. It adds a lot of tests in the process. https://github.com/cloudposse/atmos/pull/1530
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1475 all comments addressed and ready for review cc @Ben Smith (Benbentwo) (unresolved threads were preventing merge). I fixed them, but cannot self-approve.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready for final review. it adds provenance to all nodes and displays files/linenumber and depth (I hope at some point in the future this is the default view of atmos describe component; but not in this PR) https://github.com/cloudposse/atmos/pull/1584
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this adds the --version flag @Ben Smith (Benbentwo) wanted (that is customary; it's an alias of version command)
https://github.com/cloudposse/atmos/pull/1600
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready for final review. https://github.com/cloudposse/atmos/pull/1426 it moves telemetry notice to stderr and uses markdown formatting instead. it stops sending telemtry for completion commands. it also adds more preconditions to prevent tests from failing locally when conditions aren't met.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1605 (smaller PR) this is to speed up local development by enabling developers to filter for short tests, aka fast tests. We could further optimize this. The idea is to catch most things locally and then everything else in CI. Is a native feature of go test.
Vinny
Vinnyabout 1 year ago
please review https://github.com/cloudposse/atmos/pull/1560 @Erik Osterman (Cloud Posse) @Andriy Knysh (Cloud Posse)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this test seems to be flakey - not sure why. Had the same problem in my branch.
--- FAIL: TestDescribeComponentWithProvenance (0.05s)
    describe_component_test.go:512: 
        	Error Trace:	/Users/runner/work/atmos/atmos/internal/exec/describe_component_test.go:512
        	Error:      	Should be true
        	Test:       	TestDescribeComponentWithProvenance
        	Messages:   	Should find provenance for at least one vars field
    describe_component_test.go:569: Successfully tested provenance tracking with 38 provenance paths
{
  "filtered": "result"
}
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1615 this ensures that we don't entirely lose track of errors returned (that are inconsequential) and at least log them in trace mode.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Dan Hansen
Dan Hansenabout 1 year ago
opened this fix for a breakage in !exec that caused us to roll back to 1.192 https://github.com/cloudposse/atmos/pull/1634
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1637 cc @Ben Smith (Benbentwo)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this introduces the pattern we should use for all NEW commands in atmos. We'll separately refactor existing comments to use the command registry pattern, so we can move commands into folders. https://github.com/cloudposse/atmos/pull/1643
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1161 adding a public changelog (blog) format. This is where we should announce features. Anything that is major/minor.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) bug fix for the check requiring changelog https://github.com/cloudposse/atmos/pull/1646
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this introduces plugable component types, while preserving backward compatbility with our current "built-in" component types. Subsequent PRs down the road will refactor those into the pluggable types. This is so we can more easily adopt new component types.

https://github.com/cloudposse/atmos/pull/1648
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago(edited)
@Andriy Knysh (Cloud Posse) this fixes the lintroller custom plugin for golanglint-ci. must say I'm not a fan of how they do "plugins", but so be it for now.
https://github.com/cloudposse/atmos/pull/1636
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago(edited)
@Andriy Knysh (Cloud Posse) this adds --chdir support to atmos (like -C in git and make). By passing this flag, or setting ATMOS_CHDIR , atmos will first change to this working directory before commencing any processing. This is different from --base-path which works on file path manipulation rather than changing working directory.

It means that if one is working in a git worktree, setting ATMOS_CHDIR to some infra repo or path, it will "just work" without needing to change directories in the current shell. cc @Ben Smith (Benbentwo) @Dan Miller (tembo) @Igor Rodionov

https://github.com/cloudposse/atmos/pull/1644
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) can we do this next? https://github.com/cloudposse/atmos/pull/1644 this is very helpful for atmos development. It allows us to define a root for atmos to use. When working with multiple Git work trees developing Atmos, each work tree can be pointed to use a particular infrastructure repository simply by setting an environment variable.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) @Dan Miller (tembo) I think we can merge this. I addressed the coderabbit comments and my own comments. https://github.com/cloudposse/atmos/pull/1633
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) we should not cut 1.195 until we resolve these https://github.com/cloudposse/atmos/pull/1660 (i'm working on the fixes)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) i think the custom linter corrupted the git tree due to how it was compiled. https://github.com/cloudposse/atmos/pull/1666
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready. Makes it easy to see what the latest releases are for atmos and show the release notes. https://github.com/cloudposse/atmos/pull/1658
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this fixes atmos auth login when user has envs like AWS_PROFILE set that conflict.

https://github.com/cloudposse/atmos/pull/1654
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) small clean up of mocks https://github.com/cloudposse/atmos/pull/1670
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1671 this fixes a "hang" when running atmos auth login in a Makefile
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) small refactoring for test stability regarding how args are tested https://github.com/cloudposse/atmos/pull/1675
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) can you approve https://github.com/cloudposse/atmos/pull/1676 so we can publish the blog link
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago(edited)
@Andriy Knysh (Cloud Posse) this is ready. It adds the ability to list all identities, including by defaul a tree view. It can even export mermaid diagram, markdown and grafwiz of the identity architecture.
https://github.com/cloudposse/atmos/pull/1645
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this adds the ability to logout with atmos auth https://github.com/cloudposse/atmos/pull/1656
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this adds better DX feedback when logging in...
https://github.com/cloudposse/atmos/pull/1653
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready now as well https://github.com/cloudposse/atmos/pull/1640
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this fixes the blog post ordering (dates) and adds truncation markers. https://github.com/cloudposse/atmos/pull/1689
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
PePe Amengual
PePe Amengualabout 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1640 is passing
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Dan Miller (tembo) https://github.com/cloudposse/atmos/pull/1690 introduces better github action for license compliance
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Dan Miller (tembo) @Andriy Knysh (Cloud Posse) one more https://github.com/cloudposse/atmos/pull/1692
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready and adds the ability to launch the AWS web console from atmos auth.

https://github.com/cloudposse/atmos/pull/1684
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this compresses our CLAUDE.md instructions and adds a check. I got this warning from claude today:
 ⚠Large CLAUDE.md will impact performance (40.3k chars > 40.0k) 

https://github.com/cloudposse/atmos/pull/1693
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1655 this is ready
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1640 is ready
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) add a precommit check for perf.Track https://github.com/cloudposse/atmos/pull/1698/files
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready https://github.com/cloudposse/atmos/pull/1684
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) finally clean go test output

https://github.com/cloudposse/atmos/pull/1704
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
We're almost up to 70%

✅️ Project coverage is 68.39%.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
maybe hitting 80% by EOY is not out of reach
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) our go version regressed. This puts it back and adds a github action to check for this in the future. https://github.com/cloudposse/atmos/pull/1706
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago(edited)
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1695 this is ready
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1709 this restores the ability to run go install. And as it as a pre-commit check instead of a go test.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready https://github.com/cloudposse/atmos/pull/1717
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) this is ready now too https://github.com/cloudposse/atmos/pull/1712
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) https://github.com/cloudposse/atmos/pull/1722 this adds more test output cleanup so that it's only displayed when there are errors.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago
@Andriy Knysh (Cloud Posse) This just adds the missing perf calls caught by the linter. https://github.com/cloudposse/atmos/pull/1728
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)about 1 year ago