Atmos Pro Logo

Atmos Pro

ProductPricingDocsBlogChangelog
⌘K
Create Workspace
Atmos Pro Logo

Atmos Pro

ProductPricingDocsBlogChangelog
What is Atmos Pro?
Installation
How it Works
Workspaces
Authentication
Ordered Deployments
Deployment Approvals
Deployment Locking
Drift Detection
Event Triggers
Workflow Dispatches
Repository Permissions
Audit Log
Troubleshooting
Workspaces
Atmos Stacks
Atmos CI
Atmos Toolchain
Cloud Authentication
GitHub Repository
GitHub Workflows
Upload Instances
GitHub Environments
Deployment Locking
Drift Detection
Webhooks
AWS
Reference
Atmos Docs
Example Repository
What is Atmos Pro?
Installation
How it Works
Workspaces
Authentication
Ordered Deployments
Deployment Approvals
Deployment Locking
Drift Detection
Event Triggers
Workflow Dispatches
Repository Permissions
Audit Log
Troubleshooting
Workspaces
Atmos Stacks
Atmos CI
Atmos Toolchain
Cloud Authentication
GitHub Repository
GitHub Workflows
Upload Instances
GitHub Environments
Deployment Locking
Drift Detection
Webhooks
AWS
Reference
Atmos Docs
Example Repository

Upload Instances

Configure the GitHub Actions workflow that uploads your component inventory ("instances") to Atmos Pro. This is what populates your Stacks and Instances views and powers drift detection.


Atmos Pro displays your stacks and component instances based on inventory that your CI uploads. Atmos Pro has read access to your repository, but it cannot execute Atmos itself — Atmos has to run to deep-merge your stack configurations and evaluate YAML functions, which requires your dependencies and credentials. So a workflow in your repository runs atmos list instances --upload and sends the resulting inventory back to Atmos Pro.
Once this workflow has run successfully, your Stacks and Instances pages populate, and drift detection has the inventory it needs to schedule periodic plans.
Create the following workflow file in your repository. It runs on every push to your default branch (shown as main below — replace if your repo uses master or trunk), on a daily schedule, and can also be triggered manually. The workflow is not dispatched by Atmos Pro — it runs on its own GitHub Actions triggers.
.github/workflows/atmos-pro-upload-instances.yaml
name: 👽 Atmos Pro Upload Instances
run-name: Upload Instances
 
on:
  push:
    branches:
      - main # replace with your repository's default branch if different
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:
 
concurrency:
  group: ${{ github.workflow }}
  cancel-in-progress: false
 
permissions:
  id-token: write
  contents: read
  checks: write
  statuses: write
 
jobs:
  atmos-list-instances:
    name: Upload Instances
 
    runs-on:
      - "ubuntu-latest"
 
    container:
      image: ghcr.io/cloudposse/atmos:${{ vars.ATMOS_VERSION }}
 
    defaults:
      run:
        shell: bash
 
    steps:
      - name: Checkout
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
 
      - name: Configure Git Safe Directory
        run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
 
      - name: Upload instances to Atmos Pro
        env:
          ATMOS_PRO_WORKSPACE_ID: ${{ vars.ATMOS_PRO_WORKSPACE_ID }}
          ATMOS_PROFILE: github
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          atmos list instances --upload
The ATMOS_VERSION GitHub Actions variable should be set to a version without the v prefix (e.g., 1.175.0, not v1.x.x), since Docker image tags do not use the v prefix.
  • The push trigger runs on every push to your default branch, ensuring your inventory is updated immediately after merges.
  • The schedule trigger runs daily at midnight UTC to keep your inventory current even when nothing has merged.
  • workflow_dispatch lets you run the workflow manually for testing or on-demand discovery.
  • atmos list instances --upload discovers all deployed component instances and reports them to Atmos Pro.
The workflow authenticates to Atmos Pro using GitHub OIDC — no long-lived API tokens required. Cloud credentials are handled by your Atmos Auth Profile, the same profile used by your plan and apply workflows.
After the workflow runs successfully:
  1. 1
    Open the Stacks page in Atmos Pro — your stacks and components should appear, organized by repository.
  2. 2
    Open the Instances page — each component/stack pair (an "instance") will be listed with its drift status, ready for drift detection scheduling.
If the page is still empty, check the workflow run logs for the Upload instances to Atmos Pro step. Common issues:
  • ATMOS_PRO_WORKSPACE_ID not set in repository or organization variables.
  • The workflow runs on a branch that does not match the push branches filter.
  • Cloud authentication isn't configured — atmos needs cloud credentials to read Terraform state and discover deployed instances.
Once instances are uploading, configure drift detection so Atmos Pro periodically checks for divergence between your code and live infrastructure.
Configure Drift Detection

GitHub WorkflowsGitHub Environments
Atmos Pro Logo

Atmos Pro

The fastest way to deploy your apps on AWS with Terraform and GitHub Actions.

GitHubTwitterLinkedInYouTubeSlack

For Developers

  • Quick Start
  • Example Workflows
  • Atmos Documentation

Community

  • Register for Office Hours
  • Join the Slack Community
  • Try our Newsletter

Company

  • About Cloud Posse
  • Security
  • Pricing
  • Blog
  • Media Kit

Legal

  • SaaS Agreement
  • Terms of Use
  • Privacy Policy
  • Disclaimer
  • Cookie Policy

© 2026 Cloud Posse, LLC. All rights reserved.

Checking status...