Atmos is a GitOps workflow automation framework and CLI for Terraform and OpenTofu that brings component-based infrastructure management, stack configurations, and workflow automation to platform engineering teams. Organizations use Atmos to manage hundreds of Terraform root modules across dozens of environments using a declarative stack configuration system. The infrastructure that Atmos depends on — Terraform remote state backends (S3, GCS, Azure Blob), VCS webhook receivers, and any custom Atmos component registries — must stay available for infrastructure operations to proceed. When state backends are unreachable, atmos terraform apply fails for every component in every stack. Vigilmon gives you external HTTP and TCP visibility into all the infrastructure Atmos depends on.
What You'll Build
- HTTP monitors on your Terraform state backend endpoints to detect storage availability failures
- A VCS webhook endpoint check (if self-hosted) to confirm CI/CD triggers are reachable
- A TCP port check on the state backend for low-level connectivity verification
- SSL certificate monitoring for custom Atmos tooling domains
- An alerting matrix that separates backend failures from network-level failures
Prerequisites
- An Atmos-managed infrastructure with Terraform remote state (S3, GCS, or Azure Blob)
- A CI/CD system (GitHub Actions, GitLab CI, Atlantis, or similar) running
atmoscommands - A free account at vigilmon.online
Step 1: Understand What Atmos Depends On
Atmos itself is a CLI tool — it doesn't run as a server. But the infrastructure it automates does, and Atmos workflows fail if any dependency is unavailable:
- Terraform state backend: S3, GCS, or Azure Blob endpoints that store remote state. If unavailable, no
atmos terraform planoratmos terraform applycan succeed. - VCS (Version Control System): GitHub, GitLab, or Bitbucket APIs that Atmos-driven CI/CD pipelines depend on.
- Atlantis or custom automation servers: If your team runs Atlantis alongside Atmos for PR-based workflows, Atlantis availability is a dependency.
- Component registries: Custom OCI registries or S3-backed component sources used by
atmos vendor pull.
Monitoring these external dependencies gives you early warning before engineers start seeing Error: Failed to retrieve state or Error: vendoring failed in their CI/CD pipelines.
Step 2: Monitor Your Terraform State Backend
For teams using S3 as the Terraform state backend, S3 bucket availability can be probed via the AWS health endpoint or by checking a known object:
# Check if the S3 bucket is accessible (replace with your region and bucket)
curl -s https://s3.us-east-1.amazonaws.com/your-tf-state-bucket/ \
-o /dev/null -w "%{http_code}"
# Returns: 403 (authenticated access required — but 403 means S3 is responding)
An HTTP 403 from S3 is a healthy response — it means S3 is reachable and the bucket exists. An error response or connection timeout means the AWS region is experiencing issues.
- Log in to Vigilmon → Add Monitor → HTTP.
- URL:
https://s3.us-east-1.amazonaws.com/your-tf-state-bucket/(use your region and bucket name). - Check interval: 2 minutes.
- Response timeout: 15 seconds.
- Expected status:
403(S3 returns 403 for unauthenticated requests to private buckets — this confirms reachability). - Label:
Terraform State S3 Bucket. - Click Save.
For GCS backends:
curl -s https://storage.googleapis.com/storage/v1/b/your-tf-state-bucket \
-o /dev/null -w "%{http_code}"
# Returns: 401 (unauthenticated — means GCS is reachable)
- URL:
https://storage.googleapis.com/storage/v1/b/your-tf-state-bucket. - Expected status:
401. - Label:
Terraform State GCS Bucket.
Step 3: Monitor Atlantis (If Used with Atmos)
Many platform teams use Atlantis alongside Atmos to run Terraform plan/apply on pull requests. Atlantis exposes a health endpoint:
curl https://atlantis.example.com/healthz
# Returns: {"status":"ok"}
- Add Monitor → HTTP.
- URL:
https://atlantis.example.com/healthz. - Check interval: 60 seconds.
- Response timeout: 10 seconds.
- Expected status:
200. - Keyword:
ok. - Label:
Atlantis health. - Click Save.
This monitor catches Atlantis pod restarts, OOM kills, and Kubernetes scheduling failures that would prevent all PR-triggered Terraform operations in your Atmos-managed stacks.
Step 4: Monitor the Atlantis Webhook Endpoint
Atlantis receives VCS webhooks (GitHub, GitLab) on its /events endpoint. If this endpoint is unreachable, pull requests won't trigger atmos terraform plan outputs automatically:
curl -X POST https://atlantis.example.com/events \
-H "Content-Type: application/json" \
-d '{}' -o /dev/null -w "%{http_code}"
# Returns: 400 (bad request — but 400 means the endpoint is reachable)
- Add Monitor → HTTP.
- URL:
https://atlantis.example.com/events. - Method:
POST. - Check interval: 2 minutes.
- Expected status:
400(a bare POST with no payload returns 400, confirming the endpoint is live). - Label:
Atlantis webhook endpoint. - Click Save.
Step 5: Monitor Your Atmos Component OCI Registry
If your team uses atmos vendor pull to pull components from a private OCI registry, registry availability is a CI/CD dependency:
curl https://registry.example.com/v2/
# Returns: {"errors":[{"code":"UNAUTHORIZED",...}]} with HTTP 401
- Add Monitor → HTTP.
- URL:
https://registry.example.com/v2/. - Check interval: 5 minutes.
- Response timeout: 10 seconds.
- Expected status:
401(unauthenticated requests to a private registry return 401 — confirms the registry is up). - Label:
Atmos OCI component registry. - Click Save.
Step 6: Monitor SSL Certificates
Atmos-related infrastructure — Atlantis, custom registries, and automation endpoints — relies on TLS. Expired certificates break CI/CD pipelines that run atmos vendor pull or call external APIs:
openssl s_client -connect atlantis.example.com:443 2>/dev/null | openssl x509 -noout -dates
- Add Monitor → SSL Certificate.
- Domain:
atlantis.example.com(and separately for any custom registry or automation domain). - Alert when expiry is within: 30 days.
- Alert again: 14 days, 7 days, 3 days, 1 day.
- Click Save.
CI/CD pipelines that run
atmos terraform planoften run in short-lived containers that fail fast on TLS errors with minimal logging. Certificate expiry is one of the hardest failures to diagnose post-hoc because the error disappears after renewal. A 30-day alert window catches it proactively.
Step 7: Configure Alerting
In Vigilmon under Settings → Notifications, configure your alert channels:
| Monitor | Trigger | Action |
|---|---|---|
| S3/GCS state backend | Non-200/403 or timeout | AWS/GCP regional issue; check cloud provider status; atmos terraform commands will fail |
| Atlantis health | Non-200 or keyword missing | Atlantis pod down; check kubectl get pods -n atlantis; PR workflows blocked |
| Atlantis webhook | Not reachable | VCS webhooks failing; engineers must manually trigger plans |
| OCI registry | Not 401 or 200 | Registry down; atmos vendor pull will fail in all CI pipelines |
| SSL certificate | < 30 days to expiry | Renew certificate; check cert-manager events |
Alert after: 1 consecutive failure for state backend and Atlantis health monitors. 2 consecutive failures for registry and webhook monitors.
Common Atmos Ecosystem Failure Modes and What Vigilmon Catches
| Scenario | Vigilmon monitor |
|---|---|
| AWS S3 regional degradation | State backend monitor fails; all atmos terraform apply commands fail |
| Atlantis pod OOM killed | Atlantis health monitor fires; PR plan/apply workflows stop |
| OCI registry disk full | Registry monitor returns 500; atmos vendor pull fails in all pipelines |
| SSL certificate expires on Atlantis | SSL monitor alerts; VCS webhook delivery fails with TLS error |
| VCS webhook signing key rotated but not updated | Webhook endpoint returns 400 from signature mismatch; plan comments stop |
| Atlantis version upgrade breaks /healthz | Health monitor catches regression immediately |
| GCS bucket IAM policy change blocks CI service account | State backend returns 403 (expected) but terraform init fails with 403 — separate monitoring needed at the application layer |
Atmos orchestrates your entire infrastructure lifecycle across Terraform stacks and environments. When its dependencies — state backends, automation servers, and component registries — become unavailable, every engineer's atmos terraform plan and atmos terraform apply commands fail, often with cryptic errors that take time to diagnose. Vigilmon gives you continuous external visibility into the infrastructure Atmos depends on, so you know the moment a state backend degrades or an Atlantis instance goes down — before it blocks your next infrastructure deployment.
Start monitoring your Atmos infrastructure in under 5 minutes — register free at vigilmon.online.