Hi there, I eventually realized there is a lot on ...
# pr-reviews
a
Hi there, I eventually realized there is a lot on the plate for y’all and don’t see the GH notifications. 😅 Wanted to know if my PR regarding atmos.yaml schema (github.com/cloudposse/atmos/pull/2731) is on-par with the current additions in the changelog regarding the
atmos stack schema
command (github.com/cloudposse/atmos/commit/0485a62a5c75…, github.com/cloudposse/atmos/pull/2761) Just so I know if I should close the PR and wait for the above PR to be finished.
e
Apologies, we get a lot of PRs and issues across our orgs and drown under the GitHub notifications which leads us to miss a lot of things unless posted here. And I confess I didn't see this one. I will reconcile with what we have going on. There are a ton of DX improvements overall, including the addition of native CI support with annotations, various new format options, GitHub actions linting, and way more.
Here's the TL;DR:
A root
atmos.yaml
schema has been a long-standing gap (#2351), and you’re completely right about the pain: config authoring has been guess-and-check with no IDE support.
We ended up solving it in #2761 with a different construction: the schema is generated from the Atmos configuration structs (
go generate
), with CI enforcing byte-exact regeneration. The reason we went that route rather than merging a hand-written schema is purely about maintenance:
atmos.yaml
grows options every release, and a hand-maintained 4,500-line schema would start drifting the week after it merged — the same problem that left the old embedded `config/global`schema stale. Generation makes drift structurally impossible, and doc comments in the code become the hover text in editors for free.
Your PR still directly improved the result: it flagged that the embedded
<atmos://schema/config/global/1.0>
was silently serving a copy of the stack-manifest schema, which we’ve now fixed by aliasing that URI to the generated schema. #2761 also picks up the same defaults you wired (built-in `schemas.config`validation of `atmos.yaml`/`atmos.yml`, plus
atmos.d/**
and profile fragments) and the editor modeline docs. So I’m going to close this in favor of #2761 — but genuinely, thank you for pushing on it.
Once it ships you’ll get
atmos validate schema config
,
atmos config schema
, and IDE completion via
<https://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json>
(with pinned per-release copies).
Would love your eyes on it if you have a chance to try it against your configs — you clearly know this surface well.
✅ 1
a
Completely understandable, that’s why I decided to hop in and mention it here. I will eventually contribute PRs if needed, thanks!
Amazing job nevertheless! 😄
I closed the PR myself with reference to #2761