Skip to content

Add Atlantis-to-Atmos-Native-CI migration skill guide - #2870

Open
Erik Osterman (Cloud Posse) (osterman) wants to merge 4 commits into
mainfrom
osterman/atlantis-migration-skill
Open

Add Atlantis-to-Atmos-Native-CI migration skill guide#2870
Erik Osterman (Cloud Posse) (osterman) wants to merge 4 commits into
mainfrom
osterman/atlantis-migration-skill

Conversation

@osterman

@osterman Erik Osterman (Cloud Posse) (osterman) commented Aug 5, 2026

Copy link
Copy Markdown
Member

what

  • Adds agent-skills/skills/atmos-migration/references/from-atlantis.md, a migration reference
    that maps Atlantis concepts (projects[]/autoplan, workflow_templates, pre/post_workflow_hooks,
    apply_requirements, PR comments, the $PLANFILE handoff, project locking) to their Atmos
    Native CI equivalents (describe affected matrices, hooks/custom commands, GitHub Environment
    protection rules, ci.comments/ci.checks, components.terraform.planfiles, atmos pro lock).
  • Covers both starting points: a project already on Atmos using integrations.atlantis/
    settings.atlantis, and a project on plain Terraform + Atlantis with no Atmos yet.
  • Includes a step-by-step checklist to remove Atlantis, and an honest "Known Gaps" section (no
    OSS-native project locking, plan-only PR comments, deferred Azure/GCS planfile backends, no
    GitLab CI provider yet).
  • Cross-links the new reference from atmos-migration/SKILL.md (routing table, escalation list,
    resources), atmos-ci/SKILL.md (Integrations section), and atmos-modernization/SKILL.md
    (modernization checklist), and updates the skill index in agent-skills/AGENTS.md.

why

  • No existing skill or PRD covered moving a project off Atlantis onto Atmos Native CI, despite
    Atmos having mature, non-deprecated Atlantis integration (atmos atlantis generate repo-config)
    on one side and a fully-built Native CI feature set on the other.
  • Extends the existing atmos-migration skill (mirroring the from-native-terraform.md/
    from-terraform-workspaces.md reference pattern) rather than adding a new top-level skill,
    consistent with this repo's "extend, don't fork" convention for agent skills.

references

  • No linked issue.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guidance for migrating from Atlantis to Atmos Native CI.
    • Documented staged migration steps, project shapes, validation, cleanup, and feature mappings.
    • Added guidance on limitations, including locking, planfile storage, comments, and provider support.
    • Updated CI and modernization guidance with references for replacing Atlantis configuration with CI configuration and GitHub Actions.
    • Expanded migration resources with recommended practices for hooks, approvals, and workflow setup.

Adds references/from-atlantis.md to the atmos-migration skill, mapping
Atlantis concepts (autoplan, workflow templates, apply gating, locking,
PR comments) to their Atmos Native CI equivalents, with a removal
checklist and known gaps. Cross-links from atmos-ci and
atmos-modernization so agents can find it from either direction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@atmos-pro

atmos-pro Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Tip

Atmos Pro  

No affected stacks workflow was detected for this pull request.
If this is expected, no action is needed.
Learn More. Ask AI.

@osterman Erik Osterman (Cloud Posse) (osterman) added the no-release Do not create a new release (wait for additional code changes) label Aug 5, 2026
@github-actions github-actions Bot added the size/m Medium size PR label Aug 5, 2026
…ration-skill

# Conflicts:
#	agent-skills/skills/atmos-migration/SKILL.md
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues found.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@osterman, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 36 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 07ef09e4-5ce6-45ac-af69-c3863e164f8f

📥 Commits

Reviewing files that changed from the base of the PR and between d93af7f and 3eacbd9.

📒 Files selected for processing (1)
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
📝 Walkthrough

Walkthrough

The PR adds Atlantis-to-Atmos Native CI migration guidance. It links the guidance from the migration, CI, modernization, and skill index documentation.

Changes

Atlantis migration documentation

Layer / File(s) Summary
Migration guidance and routing
agent-skills/skills/atmos-migration/SKILL.md, agent-skills/skills/atmos-migration/references/from-atlantis.md
The migration skill routes Atlantis workflows to a guide covering project shapes, feature mapping, staged adoption, CI setup, validation, cleanup, and known gaps.
Skill index and integration links
agent-skills/AGENTS.md, agent-skills/skills/atmos-ci/SKILL.md, agent-skills/skills/atmos-modernization/SKILL.md
The skill index, Atmos CI guidance, and modernization checklist identify or link to the Atlantis-to-Native-CI migration path.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: aknysh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the added Atlantis-to-Atmos Native CI migration guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch osterman/atlantis-migration-skill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-atlantis.md`:
- Around line 121-124: Update the hook guidance in the migration document to
distinguish scope: prescribe a CI job step for behavior that must run once per
pull request, and reserve Atmos hooks for component- or stack-scoped lifecycle
steps. Preserve the existing custom-command guidance for steps not tied to a
command lifecycle.
- Line 76: Update the `parallel_apply` mapping in the migration guidance to
preserve `dependencies.components` ordering: limit matrix jobs to independent
components, or direct users to a dependency-aware deployment flow such as
`terraform deploy --affected`; do not describe an unrestricted matrix as
sufficient.
- Line 76: Update the migration mapping table entry for automerge,
parallel_plan, and parallel_apply to separate parallel execution from automatic
merging: retain the GitHub Actions matrix job mapping for parallel_plan and
parallel_apply, and document GitHub merge queues or branch protection as
distinct merge-order/protection mechanisms rather than automerge. Explicitly
describe GitHub auto-merge as the automerge equivalent or mark it as a known
gap.
- Line 75: Update the Atlantis lock mapping in the migration documentation to
explicitly state that project-level lock behavior is not preserved by the
open-source CLI or CI workflow; it is preserved only when using Atmos Pro lock
and unlock commands. Ensure the checklist or Known Gaps section also warns that
CI does not automatically acquire or clean up project locks.
- Line 73: Add a conditional item to the “Checklist to Remove Atlantis” covering
workflows that depend on Atlantis planfiles: configure
components.terraform.planfiles storage and enable --verify-plan for deploy,
ensuring the stored plan is compared before apply. Keep it scoped to projects
using the $PLANFILE behavior and align it with the existing checklist style.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 43feeae0-d008-4042-92fc-44b982e87b7e

📥 Commits

Reviewing files that changed from the base of the PR and between c14ce82 and a602d60.

📒 Files selected for processing (5)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
  • agent-skills/skills/atmos-modernization/SKILL.md

Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-atlantis.md`:
- Around line 3-5: Update the introduction of the Atlantis migration reference
to clarify that the “CI system only” scope applies to Shape A; explicitly note
that Shape B also requires migrating from plain Terraform to Atmos.
- Around line 33-35: Update the migration guidance around the `ci:` block and
the referenced GitHub Actions workflows to prevent both Atlantis and Native CI
from applying the same pull request. Keep one system in plan-only mode or
disable its apply workflow during comparison, and defer enabling both apply
paths until cutover.
- Line 73: Update the planfile storage guidance in the workflow comparison table
to require durable shared storage across separate plan and deploy runners: use
S3 or GitHub Artifacts with --verify-plan, or explicitly require a persistent
shared location before allowing local paths. Keep the existing $PLANFILE and
components.terraform.planfiles references and split-workflow guidance intact.
- Line 70: Update the linked Native CI deploy job examples for the mappings
around apply_requirements, including the second referenced example, to set the
job-level environment to the corresponding protected GitHub environment. Use the
existing protected-environment name for each example and leave the guidance
about avoiding custom Atmos approval logic unchanged.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: df6bc7e8-7078-4b0a-bc5e-399fdf213d93

📥 Commits

Reviewing files that changed from the base of the PR and between c14ce82 and e8451c0.

📒 Files selected for processing (5)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
  • agent-skills/skills/atmos-modernization/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (4)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-modernization/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-ci/SKILL.md

Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
…uide

- Add a conditional checklist step to configure planfile storage and
  --verify-plan for projects relying on Atlantis's $PLANFILE guarantee.
- Split the parallel_plan/parallel_apply/automerge mapping: matrix jobs
  are only safe for independent components, so point dependency-ordered
  applies at `terraform deploy/apply --affected` instead.
- Add automerge as a Known Gap: it assumes apply-before-merge, which
  doesn't match the default plan-before-merge, apply-after-merge Native
  CI flow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Scope the "CI system only" intro claim to Shape A; Shape B also needs
  an IaC move to Atmos first.
- Note that GitHub Environment required-reviewer rules only gate a job
  that sets environment: <name> on the deploy job itself.
- Restrict $PLANFILE storage guidance to S3/GitHub Artifacts, since the
  PR plan and deploy workflows run on separate runners and a local path
  store can't carry the planfile between them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.76%. Comparing base (c14ce82) to head (3eacbd9).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2870   +/-   ##
=======================================
  Coverage   82.75%   82.76%           
=======================================
  Files        1860     1860           
  Lines      180240   180337   +97     
=======================================
+ Hits       149150   149248   +98     
+ Misses      23306    23300    -6     
- Partials     7784     7789    +5     
Flag Coverage Δ
unittests 82.76% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 20 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-release Do not create a new release (wait for additional code changes) size/m Medium size PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant