Project — Python Cloud Operations Toolkit¶
Advanced portfolio build — one CLI for cloud inventory and platform read-only operations.
Project Overview¶
Goal: Combine cloud inventory (AWS EC2, Azure resources, GCP instances) with Docker and Kubernetes health helpers behind a shared CLI, defaulting to fixtures/dry-run.
Deliverable for your portfolio:
- Packaged multi-command CLI (
cloudops ...) - Adapters: AWS, Azure, GCP (fixture-first)
docker danglingandk8s healthread-only commands- Shared logging, config, and exit taxonomy
- pytest suite with no live credentials required
Estimated cost: £0 with fixtures (optional live read-only).
Goals¶
-
cloudops inventory {aws,azure,gcp}with--fixture -
cloudops docker reportdry-run;--applyoptional and documented -
cloudops k8s health --fixture/ optional kubeconfig - Unified JSON schema for inventory rows
- CI green without cloud credentials
Stack¶
| Piece | Choice |
|---|---|
| CLI | Typer |
| Cloud | boto3 / Azure SDK / google-cloud (optional) |
| Platform | Docker SDK, kubernetes client |
| Test | pytest + fixtures |
Prerequisites¶
- Intermediate: Infrastructure Inventory CLI
- Labs: AWS/Azure/GCP inventory, Docker cleanup, Kubernetes health
- Tutorials: Cloud Automation, Docker SDK, Kubernetes Client
Milestones¶
Milestone 1 — CLI skeleton and shared models¶
Milestone 2 — Cloud inventory adapters (fixtures)¶
Milestone 3 — Docker + Kubernetes read-only commands¶
Milestone 4 — Docs, dry-run policy, CI¶
Success criteria¶
- Every mutating path defaults to dry-run
- Offline tests cover parsers and CLI wiring
- README includes blast-radius and credential guidance
Related¶
- Next: Platform Engineering Framework
- Labs: AWS EC2 Inventory