Skip to main content

Read-only AWS reliability audit. Alarm coverage assessment for ECS, Lambda, RDS, Aurora, and SQS.

Project description

opsfabric-discovery

A read-only AWS reliability audit you run on your own laptop. Produces an executive PDF assessing CloudWatch alarm coverage across ECS, Lambda, RDS, Aurora, and SQS workloads against the OpsFabric reliability baseline.

See what your audit would look like (no AWS needed)

Download a sample report (PDF, ~68 KB)

Or run it yourself in 30 seconds without any AWS credentials:

pip install opsfabric-discovery
opsfabric-discovery audit --demo
# → out/audit-demo.pdf

--demo runs against a baked-in synthetic dataset that exercises every feature of the audit (DEGRADED alarm detection, ALB→ECS bridge, critical-gap cards, coverage breakdown). No AWS calls, no credentials needed. Same matching engine, same PDF — only the input is fake.

What it does

  • Discovers AWS resources via Resource Explorer 2 across one or all enabled regions.
  • Maps CloudWatch alarms to those resources using a five-strategy matcher (exact dimensions, ALB target-group bridge for ECS, namespace + partial dimensions, log-group → metric-filter linkage, naming heuristic).
  • Detects alarms that exist but won't notify (actions disabled / no SNS target / INSUFFICIENT_DATA) and surfaces them as DEGRADED — they don't count toward coverage.
  • Scores required-check coverage against a baseline pack (discovery_fabric/data/alarm_pack.yaml).
  • Renders an executive PDF (3 pages, McKinsey-style) plus JSON appendices for every artifact.

Trust statement

  • Read-only. Calls only AWS describe / list APIs. Never creates, modifies, or deletes any resource.
  • Runs on your laptop. No telemetry, no phone-home. Your data never leaves your machine.
  • Source is auditable. Open the installed Python files — every AWS call is visible.
  • Minimum IAM permissions: sts:GetCallerIdentity, ec2:DescribeRegions, resource-explorer-2:ListViews/GetView/Search, tag:GetResources, cloudwatch:DescribeAlarms, logs:DescribeLogGroups/DescribeMetricFilters, ecs:ListClusters/ListServices/DescribeServices/DescribeTaskDefinition, lambda:ListFunctions/GetFunction, rds:DescribeDBInstances/DescribeDBClusters, sqs:ListQueues/GetQueueAttributes. Read-only across the board.

Install

pip install opsfabric-discovery
opsfabric-discovery --help

Quickstart

Once installed, from any directory:

# Audit a profile from ~/.aws/credentials
opsfabric-discovery audit --profile prod --regions all --account-alias acme-prod

# Or via STS assume-role (cross-account)
opsfabric-discovery audit \
  --assume-role-arn arn:aws:iam::CUSTOMER_ACCOUNT:role/OpsFabricAuditor \
  --external-id agreed-secret \
  --regions all \
  --account-alias acme-prod

# Outputs land in ./out/ by default; override with --output-dir
ls out/
# audit-<account-id>-<YYYYMMDD>.pdf
# alarm-coverage-score.json
# alarm-coverage-missing.json
# resource-mapping.json
# all-resources.json
# audit-meta.json

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opsfabric_discovery-0.2.1.tar.gz (156.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opsfabric_discovery-0.2.1-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

Details for the file opsfabric_discovery-0.2.1.tar.gz.

File metadata

  • Download URL: opsfabric_discovery-0.2.1.tar.gz
  • Upload date:
  • Size: 156.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for opsfabric_discovery-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d53e2e914d8532be914cd90aadddf5928bd552bafec89e9d2a95b781b80e3f05
MD5 6cf02fb71a9bc30e49f10bb7f3ec2512
BLAKE2b-256 ba4a72ef97dd4fff140499282962caa324586675bbb21df46d8ef0dc9389bcf5

See more details on using hashes here.

File details

Details for the file opsfabric_discovery-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opsfabric_discovery-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5626fac6d74f1391c93addaf10d58bb96e4a232be48843d25d95a62de0c81fbf
MD5 d2c807a9f363c0b6cb4127cf1e36b55a
BLAKE2b-256 0e33497a0976e4ca5a395ab332d54a2afab4eb7bf8385143d92f4a71134ea6d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page