Try Without Cloud Access

Run CloudOpt on bundled sample data with no cloud credentials.

Run collect → analyze → report against recorded API responses. No cloud account needed.

AWS offline workflow

COA_WORKSPACE_DIR="$HOME/.cloudopt-demo"
cloudopt init

cloudopt collect aws inventory --offline --regions us-east-1
cloudopt collect aws cost --offline --snapshot-id <id-from-inventory>
cloudopt collect aws metrics --offline --snapshot-id <id-from-inventory>

cloudopt analyze
cloudopt report --format html

Replace <id-from-inventory> with the snapshot ID from the inventory output.

You should see findings for stopped instances, unattached volumes, stale snapshots, and untagged resources.

GCP offline workflow

COA_WORKSPACE_DIR="$HOME/.cloudopt-gcp-demo"
cloudopt init

cloudopt collect gcp inventory --offline \
  --projects app-workloads-demo,shared-net-demo \
  --regions us-central1 --zones us-central1-a

cloudopt collect gcp cost --offline --snapshot-id <id-from-inventory>
cloudopt collect gcp metrics --offline --snapshot-id <id-from-inventory>

cloudopt analyze
cloudopt report --format html

You should see findings for idle external IPs, disk type optimization, Cloud SQL rightsizing, and committed use coverage.

Multi-cloud engagement

Load a combined AWS + GCP fixture (source checkout only):

COA_WORKSPACE_DIR="$HOME/.cloudopt-multicloud-demo"
cloudopt init

cloudopt import-fixture testdata/fixtures/multicloud-engagement.yaml
cloudopt analyze
cloudopt report --format json

The report includes portfolio summaries by provider, a capability matrix, and coverage scores. Each provider keeps its own currency.

Import a single fixture file (source checkout only)

With a cloned repository:

cloudopt import-fixture testdata/fixtures/sample.yaml
cloudopt analyze
cloudopt report --format html

Preflight without collecting

cloudopt collect aws inventory --dry-run --offline --regions us-east-1

cloudopt collect gcp inventory --dry-run --offline \
  --projects app-workloads-demo --regions us-central1

Demo report with redaction

echo 'customer_name: Demo Corp' > "$COA_WORKSPACE_DIR/config/report.yaml"
cloudopt report --format html --redact

--redact replaces real identifiers with stable aliases (Account-1, Resource-001).

Live accounts

Quick Start for AWS. GCP guide for Google Cloud.