Skip to content

Commit 66e02cb

Browse files
authored
Minor doc updates (#125)
1 parent 1297d48 commit 66e02cb

6 files changed

Lines changed: 397 additions & 225 deletions

File tree

README.fr.md

Lines changed: 107 additions & 88 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 67 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,28 @@
1111

1212
---
1313

14+
## Quick Start
15+
16+
```bash
17+
pipx install cleancloud
18+
cleancloud demo # see sample findings — no credentials needed
19+
```
20+
21+
Scan your cloud:
22+
23+
```bash
24+
cleancloud scan --provider aws --all-regions
25+
cleancloud scan --provider azure
26+
cleancloud scan --provider gcp --all-projects
27+
```
28+
29+
---
30+
1431
**CleanCloud is the Cloud Hygiene Engine — the missing layer between cost visibility and cleanup.**
1532

1633
**Supports:** AWS · Azure · GCP
1734

18-
Cloud waste hit 29% of spend in 2026 — the first rise in five years (Flexera). Most teams already have cost dashboards. Dashboards show spend trends; they don't tell engineers what to clean up. SaaS FinOps platforms require vendor access to your cloud account — a non-starter for regulated industries. And as cloud environments scale across accounts and subscriptions, unused resources are no longer exceptions — they are continuous drift. Platform teams need a deterministic, enforceable process to turn that drift into a list of exactly what to act on.
19-
20-
That's CleanCloud. Scan your AWS, Azure, and GCP environments, get specific actionable findings with per-resource cost estimates, and enforce waste thresholds on a schedule — no agents, no SaaS, no data leaving your environment.
35+
CleanCloud scans your AWS, Azure, and GCP environments and tells you exactly what to clean up — with per-resource cost estimates. No agents. No SaaS. Read-only. Runs entirely in your environment.
2136

2237
| | AWS/Azure/GCP native cost tools | FinOps SaaS platforms | **CleanCloud** |
2338
|---|:---:|:---:|:---:|
@@ -30,36 +45,6 @@ That's CleanCloud. Scan your AWS, Azure, and GCP environments, get specific acti
3045
| Multi-account / multi-subscription / multi-project ||||
3146
| CI/CD and scheduled enforcement (exit codes) ||||
3247

33-
- **32 curated, high-signal detection rules:** orphaned volumes, idle databases, stopped instances, unused registries, and more — designed to avoid false positives in IaC environments, each with a deterministic cost estimate. AI/ML rules (SageMaker, Azure ML) are opt-in via `--category ai`
34-
- **Governance enforcement (opt-in):** `--fail-on-confidence HIGH` or `--fail-on-cost 100` — enforce waste thresholds on a schedule, owned by platform or FinOps teams
35-
- **Multi-account scanning (AWS):** scan entire AWS Organizations in one run — config file, inline IDs, or auto-discovery via `--org`
36-
- **Multi-subscription scanning (Azure):** scan all Azure subscriptions in parallel — auto-discovery via Management Group, per-subscription cost breakdown included
37-
- **Multi-project scanning (GCP):** scan all accessible GCP projects in parallel — auto-discovery via Application Default Credentials, per-project cost breakdown included
38-
- **Safe for regulated environments:** read-only, no agents, no telemetry, no SaaS — runs entirely inside your own infrastructure. Suitable for financial services, healthcare, and government accounts where third-party SaaS access is restricted
39-
- **Ecosystem-ready output:** JSON for Slack alerts, cost dashboards, and ticketing automation — CSV for spreadsheet workflows — markdown to paste directly into GitHub PRs, Jira, or Confluence
40-
- **No agents. No telemetry. No SaaS.** Data never leaves your environment
41-
42-
### What CleanCloud does NOT do
43-
44-
| | |
45-
|---|---|
46-
| ❌ Delete resources | ❌ Modify or create tags |
47-
| ❌ Write to any cloud API | ❌ Store or log credentials |
48-
| ❌ Send telemetry or usage data | ❌ Require a SaaS account or agent |
49-
50-
All operations are read-only. Safe for production accounts, air-gapped environments, and security-reviewed pipelines.
51-
52-
**Who uses it:**
53-
- **Platform and FinOps teams** — run weekly hygiene scans across your AWS Org or Azure tenant, enforce waste thresholds, catch drift before it compounds
54-
- **Regulated industries** — financial services, healthcare, and government teams that cannot send cloud account data to a SaaS vendor
55-
- **Mid-market engineering teams** — too large to ignore cloud waste, too lean for enterprise FinOps platforms. Native cost tools show bills; CleanCloud shows you what to fix
56-
- **Cloud consultants and MSPs** — run a read-only audit against a client account in minutes, export findings to markdown or JSON
57-
58-
**Use cases:**
59-
- One-time cloud waste audit — run in CloudShell, see findings in 60 seconds
60-
- Scheduled hygiene governance — weekly job that catches new waste and enforces thresholds across all accounts
61-
- Pre-review reports — export findings to markdown before a quarterly cost review or board meeting
62-
6348
## What It Looks Like
6449

6550
```
@@ -154,6 +139,39 @@ No cloud account yet? `cleancloud demo` shows sample output without any credenti
154139
155140
---
156141

142+
## Key Features
143+
144+
- **32 curated, high-signal detection rules:** orphaned volumes, idle databases, stopped instances, unused registries, and more — designed to avoid false positives in IaC environments, each with a deterministic cost estimate. AI/ML rules (SageMaker, Azure ML) are opt-in via `--category ai`
145+
- **Governance enforcement (opt-in):** `--fail-on-confidence HIGH` or `--fail-on-cost 100` — enforce waste thresholds on a schedule, owned by platform or FinOps teams
146+
- **Multi-account scanning (AWS):** scan entire AWS Organizations in one run — config file, inline IDs, or auto-discovery via `--org`
147+
- **Multi-subscription scanning (Azure):** scan all Azure subscriptions in parallel — auto-discovery via Management Group, per-subscription cost breakdown included
148+
- **Multi-project scanning (GCP):** scan all accessible GCP projects in parallel — auto-discovery via Application Default Credentials, per-project cost breakdown included
149+
- **Safe for regulated environments:** no agents, no telemetry, no SaaS — runs entirely inside your own infrastructure. Suitable for financial services, healthcare, and government accounts where third-party SaaS access is restricted
150+
- **Ecosystem-ready output:** JSON for Slack alerts, cost dashboards, and ticketing automation — CSV for spreadsheet workflows — markdown to paste directly into GitHub PRs, Jira, or Confluence
151+
152+
### What CleanCloud does NOT do
153+
154+
| | |
155+
|---|---|
156+
| ❌ Delete resources | ❌ Modify or create tags |
157+
| ❌ Write to any cloud API | ❌ Store or log credentials |
158+
| ❌ Send telemetry or usage data | ❌ Require a SaaS account or agent |
159+
160+
All operations are read-only. Safe for production accounts, air-gapped environments, and security-reviewed pipelines.
161+
162+
**Who uses it:**
163+
- **Platform and FinOps teams** — run weekly hygiene scans across your AWS Org or Azure tenant, enforce waste thresholds, catch drift before it compounds
164+
- **Regulated industries** — financial services, healthcare, and government teams that cannot send cloud account data to a SaaS vendor
165+
- **Mid-market engineering teams** — too large to ignore cloud waste, too lean for enterprise FinOps platforms. Native cost tools show bills; CleanCloud shows what to fix
166+
- **Cloud consultants and MSPs** — run a read-only audit against a client account in minutes, export findings to markdown or JSON
167+
168+
**Use cases:**
169+
- One-time cloud waste audit — run in CloudShell, see findings in 60 seconds
170+
- Scheduled hygiene governance — weekly job that catches new waste and enforces thresholds across all accounts
171+
- Pre-review reports — export findings to markdown before a quarterly cost review or board meeting
172+
173+
---
174+
157175
## Get Started
158176

159177
### Commands
@@ -202,15 +220,9 @@ cleancloud scan --provider azure
202220
cleancloud scan --provider gcp --all-projects
203221
```
204222

205-
**Not sure if your credentials have the right permissions?**
223+
**Not sure if your credentials have the right permissions?**
206224

207-
Run:
208-
209-
`cleancloud doctor --provider aws`,
210-
211-
`cleancloud doctor --provider azure`, or
212-
213-
`cleancloud doctor --provider gcp` first.
225+
Run `cleancloud doctor --provider aws`, `cleancloud doctor --provider azure`, or `cleancloud doctor --provider gcp` first.
214226

215227
### Scan flags:
216228

@@ -267,11 +279,7 @@ cleancloud doctor --provider gcp # check what permissions your session has
267279
cleancloud scan --provider gcp --all-projects
268280
```
269281

270-
Both AWS and Azure shells authenticate using your portal session — no separate credentials needed.
271-
272-
GCP Cloud Shell authenticates via gcloud Application Default Credentials, which are pre-configured in Cloud Shell.
273-
274-
Permissions vary by account; `doctor` tells you exactly what's available before you scan. If permissions are missing, CleanCloud skips those rules and reports what was skipped.
282+
All three shells authenticate using your portal session — no separate credentials needed. Permissions vary by account; `doctor` tells you exactly what's available before you scan. If permissions are missing, CleanCloud skips those rules and reports what was skipped.
275283

276284
<details>
277285
<summary>Install troubleshooting</summary>
@@ -396,7 +404,7 @@ cleancloud scan --provider azure --management-group <MGMT_GROUP_ID> \
396404
--fail-on-cost 500
397405
```
398406

399-
The JSON output can feed Slack alerts, Jira tickets, or a cost dashboard. No agents, no SaaS — runs entirely in your own infrastructure.
407+
The JSON output can feed Slack alerts, Jira tickets, or a cost dashboard.
400408

401409
---
402410

@@ -440,13 +448,14 @@ cleancloud scan --provider azure \
440448

441449
Copy-pasteable GitHub Actions workflows for AWS (OIDC) and Azure (Workload Identity) — including auth setup, RBAC, and enforcement patterns:
442450

443-
**[Automation & CI/CD guide →](docs/ci.md)** · [AWS setup →](docs/aws.md) · [Azure setup →](docs/azure.md)
451+
**[Automation & CI/CD guide →](docs/ci.md)** · [AWS setup →](docs/aws.md) · [Azure setup →](docs/azure.md) · [GCP setup →](docs/gcp.md)
444452

445453
**Need help with OIDC or enforcement flags?** [Ask in our setup discussion →](https://github.com/cleancloud-io/cleancloud/discussions/98)
446454

447455
---
448456

449-
## Multi-Account Scanning (AWS only)
457+
<details>
458+
<summary>Multi-Account Scanning (AWS)</summary>
450459

451460
Built for enterprises running AWS Organizations. Scan every account in parallel — findings aggregated into one report.
452461

@@ -490,23 +499,22 @@ accounts:
490499
}
491500
```
492501

493-
Full IAM policy, trust policy, and IaC templates: [AWS multi-account setup →](docs/aws.md#multi-account-scanning)
494-
495502
**How it works:**
496503

497504
- **Hub-and-spoke** — CleanCloud assumes `CleanCloudReadOnlyRole` in each target account using STS. No persistent access, no stored credentials.
498505
- **Three discovery modes**`.cleancloud/accounts.yaml` for explicit control, `--accounts` for quick ad-hoc scans, `--org` for full AWS Organizations auto-discovery.
499506
- **Efficient region detection** — active regions are discovered once on the hub account and reused across all spokes. Without this: N accounts × 160 API calls just for region probing. With it: 160 calls once.
500507
- **Parallel with isolation** — each account runs in its own thread with its own session. One account failing (AccessDenied, timeout) never affects the others.
501-
- **Partial-success visibility** — if 2 regions fail and 7 succeed within an account, the account is marked `partial` with the failed regions named. You see exactly what was missed, not just a binary pass/fail.
508+
- **Partial-success visibility** — if 2 regions fail and 7 succeed within an account, the account is marked `partial` with the failed regions named.
502509
- **Live progress**`[3/50] done production (123456789012) — 47s, 12 findings` printed as each account completes.
503510
- **Per-account cost breakdown** — JSON output includes estimated monthly waste per account, sortable and scriptable.
504511

505512
Full setup guide (IAM policy, trust policy, IaC templates): [AWS multi-account setup →](docs/aws.md#multi-account-scanning)
506513

507-
---
514+
</details>
508515

509-
## Multi-Subscription Scanning (Azure)
516+
<details>
517+
<summary>Multi-Subscription Scanning (Azure)</summary>
510518

511519
Built for enterprises running large Azure tenants. Scan every subscription in parallel with one identity — findings aggregated into one report with a per-subscription cost breakdown.
512520

@@ -547,9 +555,10 @@ az role assignment create \
547555

548556
Full setup guide (RBAC, Workload Identity, Management Group): [Azure multi-subscription setup →](docs/azure.md#multi-subscription-scanning)
549557

550-
---
558+
</details>
551559

552-
## Multi-Project Scanning (GCP)
560+
<details>
561+
<summary>Multi-Project Scanning (GCP)</summary>
553562

554563
Built for teams running multiple GCP projects. Scan all accessible projects in parallel with one identity — findings aggregated into one report with a per-project cost breakdown.
555564

@@ -588,6 +597,8 @@ All read-only permissions are covered by four predefined roles: `roles/compute.v
588597

589598
Full setup guide: [GCP setup →](docs/gcp.md)
590599

600+
</details>
601+
591602
---
592603

593604
## Roadmap

0 commit comments

Comments
 (0)