Documentation

Atlas Docs

Everything you need to install, configure, and get the most out of Atlas — the native Windows platform for exploring cloud resources, detecting infrastructure drift and managing Infrastructure as Code.

Getting Started

Atlas is a native Windows desktop platform for cloud infrastructure management. Explore your AWS resources visually, detect infrastructure drift between Terraform and what's actually deployed, and manage Infrastructure as Code — all in one place. It is built with WPF and .NET 9 — no browser, no Electron, no slowness. Azure support is coming soon.

Atlas communicates directly with AWS APIs from your machine using the AWS SDK. No data is ever routed through external servers. Your credentials never leave your device.

Drift detection

See where reality diverges from your Terraform with a visual plan diff.

Local-only

Credentials stored encrypted on your PC with Windows DPAPI. No cloud sync.

Multi-account

Switch between unlimited AWS accounts instantly from the top bar.

System Requirements
Component Requirement Notes
Operating System Windows 10 or Windows 11 x64 only. macOS and Linux not supported.
.NET Runtime .NET 9.0 (included) Bundled in the installer. No separate download needed.
Architecture 64-bit (x64) ARM64 not currently supported.
Disk space ~150 MB Includes the .NET runtime and AWS SDK.
Internet Required for AWS calls No internet needed after launch. AWS calls go out on demand.
AWS Account IAM user with access keys See IAM Permissions.
Installation
1

Download the installer

Go to cloud-atlas.io and click Free Download. The installer file is named Atlas-win.msi.

2

Run the installer

Double-click the downloaded file. Windows SmartScreen may show a warning on first run — click More info → Run anyway. Atlas is code-signed; the warning appears only because the certificate is new.

3

Installation completes automatically

Atlas installs to %LocalAppData%\Atlas and creates a Start Menu shortcut. No administrator privileges required.

4

Auto-updates

Atlas checks for updates on launch and installs them silently in the background via Velopack. You will be prompted to restart when a new version is ready.

To uninstall, go to Settings → Apps → Atlas and click Uninstall, or use the uninstaller in %LocalAppData%\Atlas.
First Launch

When you open Atlas for the first time you will see the Dashboard with an empty state. The next step is to add your AWS account.

  • Click Settings in the left sidebar, or click the Go to Settings link in the Dashboard empty state.
  • Fill in your AWS credentials (see Add Account).
  • Click Validate & Add Account. Atlas calls sts:GetCallerIdentity to verify the keys.
  • Once validated, navigate to any page — the data will load automatically.
Adding an AWS Account

Open the Settings page and fill in the form:

FieldDescription
Account name A friendly label, e.g. Production or Dev. Shown in the top bar account switcher.
Access Key ID The AKIA… key for your IAM user.
Secret Access Key The 40-character secret. Masked in the UI. Encrypted with Windows DPAPI at rest.
Default Region The AWS region Atlas will use by default for all calls (e.g. us-east-1).

Click Validate & Add Account. Atlas calls sts:GetCallerIdentity — if the credentials are valid the account is saved. If not, an inline error explains what went wrong.

Never use your AWS root account access keys. Create a dedicated IAM user with only the permissions Atlas needs. See IAM Permissions for the exact policy.
IAM Permissions

Atlas only calls read actions plus the specific write actions required for the features you use. Attach the policy below to your IAM user to enable all features. Remove any sections for services you don't use.

Minimum policy (Free tier)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AtlasFree", "Effect": "Allow", "Action": [ "sts:GetCallerIdentity", "ec2:DescribeInstances", "ec2:DescribeRegions", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetBucketLocation" ], "Resource": "*" } ] }
EC2 write actions (bulk Start / Stop / Reboot / Terminate)
"ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances", "ec2:TerminateInstances"
All features
"cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "guardduty:ListDetectors", "guardduty:ListFindings", "guardduty:GetFindings", "iam:ListUsers", "iam:ListRoles", "iam:ListGroups", "iam:ListPolicies", "iam:GetUser", "iam:ListAttachedUserPolicies", "ce:GetCostAndUsage", "ce:GetCostForecast"
If a permission is missing, Atlas will show an inline error for that specific section only — other pages continue to work normally.
Multi-Account Management

You can add unlimited AWS accounts (each with its own access keys and default region) and switch between them instantly.

  • Add each account in Settings using the same form as the first account.
  • The Active account is shown in the top bar at all times.
  • Click the account name in the top bar to open the account switcher dropdown.
  • Switching accounts immediately invalidates all cached data and reloads the current page.
  • Each account has its own default region — you can change it in Settings at any time.
  • To remove an account, click Remove next to it in Settings. The next account in the list becomes active automatically.
Infrastructure as Code

Cloud consoles show what is deployed; Infrastructure as Code (IaC) shows the desired state. Atlas connects both worlds. It integrates with Terraform so you can import existing AWS resources into code, generate HCL, run init/plan/apply, and detect drift — without leaving the app.

Atlas runs the terraform CLI on your machine. Make sure Terraform is installed and on your PATH — Atlas shows the detected CLI version in the IaC page header. AWS credentials are injected only as child-process environment variables and are never written to your .tf files.
  • Stacks — group projects, run the full import → plan pipeline, and view live streaming output per run.
  • Import to Terraform — discover live resources across 35+ types and generate import blocks and HCL.
  • Drift detection — run a plan to see what changed outside of code.
Stacks

A stack is a Terraform project that Atlas manages for you. Each stack tracks its runs (Init, Import, Plan, Apply) with status, duration and full logs.

  • Click Create new stack, give it a name and pick a destination folder.
  • Atlas provisions an S3 remote-state backend (atlas-tfstate-<accountId>) with versioning, public-access block and SSE encryption — or falls back to local state if permissions are insufficient.
  • Runs stream their output in real time. Logs auto-expand and auto-scroll; use Copy to grab the full output.
  • Use the per-stack Actions menu to run Init, Import or Apply, or to remove the stack (your .tf files on disk are preserved).
Apply is always manual. The automatic pipeline runs up to plan so you can review changes; importing resources into state happens only when you choose Actions → Apply.
Import existing resources to Terraform

Atlas discovers what already exists in your AWS account and brings it under Infrastructure as Code — no hand-written import blocks required.

  • Discovery scans across 35+ resource types — Compute (EC2, ASG, Launch Templates), Networking (VPC, Subnet, SG, Route Tables, Gateways, Load Balancers), Database (RDS, DynamoDB, ElastiCache), Serverless (Lambda, API Gateway), Containers (ECS, EKS, ECR), Messaging (SQS, SNS), IAM, Security (KMS, Secrets Manager, ACM), DNS (Route53) and Monitoring (CloudWatch).
  • A selection screen groups discovered resources by category so you choose exactly what to manage.
  • Atlas writes Terraform 1.5+ import { } blocks and generates clean HCL definitions, wrapped in ATLAS-MANAGED markers so you can regenerate safely without touching hand-written code.
  • Default discovery skips AWS-managed and default resources (default VPC/SG, service-linked roles) unless you opt in.
Drift Detection

Infrastructure drift is the gap between what your Terraform declares and what is actually deployed. Atlas runs terraform plan against your live environment and surfaces the difference as a readable diff.

  • + to add — declared in code but not yet deployed.
  • ~ to change — deployed configuration drifted from code.
  • - to destroy — exists in code but removed in the cloud, or scheduled for removal.

Review the plan, then choose Apply to reconcile reality with your Infrastructure as Code. Re-run plan anytime to confirm there is no remaining drift.

Dashboard FREE

The Dashboard gives you an instant overview of your AWS infrastructure health and costs.

KPI Cards
CardColorSource
EC2 Running● Greenec2:DescribeInstances (state = running)
EC2 Stopped● Redec2:DescribeInstances (state = stopped)
S3 Buckets● Blues3:ListAllMyBuckets
CloudWatch Alarms● Redcloudwatch:DescribeAlarms (state = ALARM)
Other elements
  • Account ID is shown below the KPI cards.
  • Last-refreshed timestamp updates after every reload.
  • The Refresh button forces a full reload regardless of cache.
  • All four API calls run in parallel — a missing permission on one call (e.g. no CloudWatch access) does not prevent the others from loading.
  • Cost overview panel shows current-month spend and a 30-day forecast (requires ce:GetCostAndUsage).
EC2 Instances FREE

Manage all EC2 instances in your active account and region from a single table.

Table & Filtering
  • Columns: State badge, Name, Instance ID, Type, Public IP, Private IP, Launch Time.
  • Real-time search by name, instance ID, or IP address — results filter as you type.
  • Status filter dropdown: All / running / stopped / pending / terminated.
  • Color-coded state badges: â–  running, â–  stopped, â–  pending/stopping, â–  shutting-down, â–  terminated.
Bulk Actions
  • Select instances via row checkboxes. The header checkbox selects/deselects all visible rows. Use Ctrl+A to select all.
  • A slide-in action bar appears at the bottom when at least one row is selected, showing a count pill and action buttons.
  • Available actions: Start, Stop, Reboot, Terminate.
  • Every action opens a confirmation dialog listing the target instances. Terminate uses a red danger variant with an explicit "this cannot be undone" warning.
  • After an action completes the list auto-reloads to reflect the new state.
Terminate is irreversible. Terminating an instance permanently deletes it and any non-persistent EBS volumes attached to it. Atlas always shows a confirmation dialog before executing this action.
Instance Detail Panel

Selecting exactly one instance opens a detail panel on the right side. It shows:

  • Summary — ID, state, type, vCPUs, public/private/IPv6 IPs, region, DNS names, VPC, Subnet, IAM role, Auto Scaling Group, IMDSv2 status, ARN.
  • Details — AMI ID, monitoring, platform, key pair, launch time, virtualization type, lifecycle, boot mode, credit specification.
  • Placement — Tenancy, Host ID, affinity, placement group, partition, reservation.
  • Capacity Reservation — Reservation ID and setting.

Copy buttons () are available next to Instance ID, ARN, and AMI ID. The panel closes when you clear the selection or select multiple rows.

S3 Buckets FREE

Browse S3 buckets and objects, upload files, and download objects — all from a split-pane browser.

Layout
  • Left panel lists all buckets with name and creation date. Click a bucket to open it.
  • Right panel shows the objects inside the selected bucket.
  • Object columns: Key/Name, Size (auto-formatted as B / KB / MB / GB), Storage Class, Last Modified.
  • Objects are browsed with prefix-based navigation, similar to a folder hierarchy.
Upload
  • Click Upload to open a file picker.
  • A real-time progress bar and percentage are shown during the upload.
  • The object list refreshes automatically when the upload completes.
Download
  • Select an object and click Download.
  • A save dialog lets you choose the destination.
  • A real-time progress bar and percentage are shown during the download.
CloudWatch Alarms

Monitor the state of all your CloudWatch alarms in one place without navigating through the AWS Console.

Features
  • KPI cards show counts per alarm state: ALARM, OK, INSUFFICIENT_DATA.
  • Filter chips at the top let you show only alarms in a specific state.
  • Real-time search filters alarms by name as you type.
  • Each row shows alarm name, state badge, metric name, threshold, and last update time.
Required permissions
"cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics"
GuardDuty Findings

Review all active GuardDuty security findings sorted and filtered by severity.

Features
  • KPI cards show finding counts per severity: HIGH, MEDIUM, LOW.
  • Severity filter chips at the top narrow down the list.
  • Real-time search filters findings by title or description.
  • Each finding row shows title, severity badge, finding type, region, and last seen time.
GuardDuty must be enabled in your AWS account for findings to appear. If it is not enabled, Atlas will show an empty state with a link to the GuardDuty console.
Required permissions
"guardduty:ListDetectors", "guardduty:ListFindings", "guardduty:GetFindings"
IAM Management

Audit IAM users, roles, groups, and policies across your AWS account.

Features
  • List all IAM users with username, creation date, last activity, and attached policies.
  • List all IAM roles with role name, creation date, and trust policy summary.
  • List IAM groups and their membership counts.
  • List managed policies with their attachment counts.
  • Real-time search across all IAM entities.
Required permissions
"iam:ListUsers", "iam:ListRoles", "iam:ListGroups", "iam:ListPolicies", "iam:GetUser", "iam:ListAttachedUserPolicies"
Billing & Costs

Track your AWS spend with Cost Explorer data pulled directly from the AWS API.

Features
  • Current-month cost breakdown by service.
  • Month-over-month spend comparison.
  • 30-day cost forecast based on current usage trends.
  • Displayed on the Dashboard summary panel as well as the dedicated Billing page.
Cost Explorer must be enabled in your AWS account. The first time you enable it there may be up to 24 hours before data appears.
Required permissions
"ce:GetCostAndUsage", "ce:GetCostForecast"
Keyboard Shortcuts

Global

Command palette / global search Ctrl+K
Refresh current page F5
Toggle dark / light theme Ctrl+T

EC2 Table

Select all visible rows Ctrl+A
Deselect all Esc
Security & Privacy
Credential storage
  • AWS access keys are encrypted with Windows DPAPI (user-scoped) before being written to the local SQLite database.
  • Credentials are decrypted in memory only at the moment an AWS SDK call is made, then discarded.
  • No plaintext credentials are ever written to disk.
  • The SQLite database is stored at %LocalAppData%\Atlas\atlas.db and is readable only by the Windows user account that created it.
Network
  • Atlas has no backend server. All AWS API calls go directly from your machine to the AWS SDK endpoints.
  • No telemetry data containing your AWS resource names or account IDs is ever transmitted anywhere.
  • The only external connections are: AWS SDK endpoints, optional auto-update checks (Velopack/GitHub), and anonymous usage analytics (page views only, via Google Analytics).
Error logs
  • Unhandled errors are written to atlas-errors.txt in the application directory.
  • Log entries are prepended (newest first) and include timestamp, level, message, and stack trace.
  • Log format: [YYYY-MM-DD HH:mm:ss] [LEVEL] message
  • Logs never contain credential values.
Atlas is open about what it does. If you have a security concern or find a vulnerability, please contact us.
Troubleshooting

"Invalid credentials" when adding an account

  • Double-check that the Access Key ID starts with AKIA and that the Secret Access Key is correct.
  • Ensure the IAM user is not suspended or has no permission boundaries blocking sts:GetCallerIdentity.
  • Make sure the account is not in an AWS Organizations SCP that blocks STS calls.

A page shows "Access Denied"

  • The IAM user is missing the required permissions for that page. See IAM Permissions.
  • Other pages will continue to work — Atlas isolates permission errors per service.

EC2 / S3 list is empty

  • Check that the selected region is correct — resources are region-specific.
  • Try clicking Refresh to force a fresh API call bypassing the 30-second cache.
  • Verify that your IAM user has the ec2:DescribeInstances or s3:ListAllMyBuckets permission.

App crashes or closes unexpectedly

  • Check atlas-errors.txt in the Atlas installation folder (%LocalAppData%\Atlas\) for the error details.
  • Send the log content to the team via the contact page and include your Atlas version.

Windows SmartScreen blocks the installer

  • Click More info and then Run anyway. The installer is signed; the warning appears because the code-signing certificate is relatively new.
Changelog
v1.0.1 2025-07-02 Initial Release
Shell & Navigation
  • Sidebar with radio-button items and a 3 px blue active indicator.
  • Pages: Dashboard, EC2 Instances, S3 Buckets, IAM, Billing, CloudWatch, GuardDuty, Settings.
  • All features available — IAM, Billing, CloudWatch, GuardDuty, EC2, S3 included during public beta.
  • Theme toggle (☀ / 🌙) in top bar — switches Dark/Light at runtime without restart.
  • Active account picker in top bar — switching accounts reloads all page data.
  • Global resource search bar.
Dashboard
  • KPI cards: EC2 Running, EC2 Stopped, S3 Buckets, Active CloudWatch Alarms.
  • Account ID, last-refreshed timestamp, manual Refresh button.
  • Dashboard API calls execute concurrently — one missing permission does not block the rest.
  • Cost Explorer integration: costs and usage overview.
EC2 Instances
  • Full instance table with real-time search and state filter.
  • Multi-select with batch Start / Stop / Reboot / Terminate actions.
  • Confirmation dialog for all batch actions; Terminate uses a red danger variant.
  • Instance detail side panel with 20+ fields across Summary, Details, Placement, and Capacity Reservation sections.
  • Ctrl+A shortcut hint in the action bar.
S3 Buckets
  • Bucket list + object browser split-pane layout.
  • Upload and download with real-time progress bars.
  • Prefix-based folder-like navigation.
CloudWatch
  • Alarm list with state filter chips (All / ALARM / OK / INSUFFICIENT_DATA).
  • KPI cards per alarm state.
GuardDuty
  • Findings list with severity filter chips (All / HIGH / MEDIUM / LOW).
  • KPI cards per severity.
IAM & Billing
  • IAM user, role, group, and policy audit tables.
  • Billing overview with Cost Explorer integration.
Infrastructure
  • AWS credentials encrypted with Windows DPAPI at rest.
  • SDK clients cached per (service, region, access key) — HTTP connections reused.
  • 30-second ViewModel data cache with cancellation on navigation.
  • Error logging to atlas-errors.txt in prepend mode.
  • Auto-updates via Velopack.

Ready to get started?

Download Atlas for free and manage your AWS infrastructure in seconds.