cloudburn 0.14.1 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/dist/cli.js +5 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -99,6 +99,12 @@ cloudburn discover
|
|
|
99
99
|
cloudburn discover --region eu-central-1
|
|
100
100
|
cloudburn discover --config .cloudburn.yml --enabled-rules CLDBRN-AWS-EBS-1
|
|
101
101
|
cloudburn discover --enabled-rules CLDBRN-AWS-LAMBDA-4
|
|
102
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-1
|
|
103
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-2
|
|
104
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-3
|
|
105
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-4
|
|
106
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-5
|
|
107
|
+
cloudburn discover --enabled-rules CLDBRN-AWS-COSTOPTIMIZATIONHUB-6
|
|
102
108
|
cloudburn discover --enabled-rules CLDBRN-AWS-TAGGING-1
|
|
103
109
|
cloudburn discover --service ec2,s3
|
|
104
110
|
cloudburn discover --fail-on high
|
|
@@ -112,6 +118,24 @@ The discovery config equivalent is `discovery.fail-on`.
|
|
|
112
118
|
The CLI targets one region per run. Multi-region discovery remains available through the SDK and still needs an AWS Resource Explorer aggregator plus an unfiltered default view in the aggregator region.
|
|
113
119
|
`CLDBRN-AWS-TAGGING-1` is opt-in and requires an accessible aggregator; a local-only setup cannot run account-wide tagging discovery.
|
|
114
120
|
`CLDBRN-AWS-LAMBDA-4` is opt-in and requires AWS Compute Optimizer enrollment.
|
|
121
|
+
`CLDBRN-AWS-COSTOPTIMIZATIONHUB-1` through `CLDBRN-AWS-COSTOPTIMIZATIONHUB-6` are opt-in and require AWS Cost Optimization Hub enrollment. CloudBurn checks enrollment but never changes it. These rules use `cost-optimization-hub:ListEnrollmentStatuses`, `cost-optimization-hub:ListRecommendations`, and `cost-optimization-hub:GetRecommendation`, with `Resource: "*"`, plus `sts:GetCallerIdentity` for account scoping.
|
|
122
|
+
|
|
123
|
+
Rule 3 reports idle-capacity Stop, Delete, and ScaleIn recommendations. It never executes them. Missing enrollment,
|
|
124
|
+
denied access, and malformed evidence produce diagnostics. Review the exact action and rollback capability before acting.
|
|
125
|
+
Table output includes an Action column for these findings. Regional discovery limits recommendations to the selected Region.
|
|
126
|
+
|
|
127
|
+
`CLDBRN-AWS-COSTOPTIMIZATIONHUB-5` reviews AWS `Upgrade` recommendations for standalone EC2 instances, Auto Scaling groups, EBS volumes, RDS DB instances, and RDS DB instance storage. It preserves both configurations for generation review; rightsizing and Graviton migration use separate AWS actions. Unenrolled accounts, access denial, and incomplete required details produce unavailable diagnostics.
|
|
128
|
+
|
|
129
|
+
Rule 6 reports Graviton migration candidates for standalone EC2 instances, Auto Scaling groups, and RDS DB instances.
|
|
130
|
+
Review workload compatibility and rollback requirements before migrating. Unclassified workloads are not confirmed
|
|
131
|
+
compatible; unavailable evidence produces diagnostics. See the [SDK evidence contract](../sdk/README.md) for details.
|
|
132
|
+
Reservation findings include their AWS resource namespace in JSON and in the default table output.
|
|
133
|
+
`CLDBRN-AWS-COSTOPTIMIZATIONHUB-4` is also opt-in and uses the same Hub IAM actions for rightsizing recommendations
|
|
134
|
+
across EC2 instances and Auto Scaling groups, EBS, Lambda, ECS, RDS instances and storage, and Aurora cluster storage.
|
|
135
|
+
It reads recommendations across Regions for the current account through `us-east-1`. Missing enrollment, denied
|
|
136
|
+
access, or incomplete configurations produce diagnostics. The SDK exposes both typed configurations with
|
|
137
|
+
`includeEvaluationResources: true`; the CLI prints finding identities and diagnostics.
|
|
138
|
+
`CLDBRN-AWS-SAGEMAKER-3` uses Cost Explorer coverage data and remains available when Cost Optimization Hub is unavailable.
|
|
115
139
|
Use `--debug` to print SDK and provider execution tracing to `stderr` without changing the normal `stdout` format.
|
|
116
140
|
|
|
117
141
|
## Shell Completion
|
package/dist/cli.js
CHANGED
|
@@ -551,7 +551,9 @@ var scanColumns = [
|
|
|
551
551
|
{ key: "severity", header: "Severity" },
|
|
552
552
|
{ key: "source", header: "Source" },
|
|
553
553
|
{ key: "service", header: "Service" },
|
|
554
|
+
{ key: "resourceType", header: "ResourceType" },
|
|
554
555
|
{ key: "resourceId", header: "ResourceId" },
|
|
556
|
+
{ key: "actionType", header: "Action" },
|
|
555
557
|
{ key: "accountId", header: "AccountId" },
|
|
556
558
|
{ key: "region", header: "Region" },
|
|
557
559
|
{ key: "path", header: "Path" },
|
|
@@ -689,11 +691,13 @@ ${renderAsciiTable(diagnosticRows, diagnosticColumns)}`
|
|
|
689
691
|
};
|
|
690
692
|
var projectFindingRows = (result) => flattenScanResult(result).map(({ finding, message, provider, ruleId, service, severity, source }) => ({
|
|
691
693
|
accountId: finding.accountId ?? "",
|
|
694
|
+
actionType: finding.actionType ?? "",
|
|
692
695
|
message,
|
|
693
696
|
path: finding.location?.path ?? "",
|
|
694
697
|
provider,
|
|
695
698
|
region: finding.region ?? "",
|
|
696
699
|
resourceId: finding.resourceId,
|
|
700
|
+
resourceType: finding.resourceType ?? "",
|
|
697
701
|
ruleId,
|
|
698
702
|
service,
|
|
699
703
|
severity,
|
|
@@ -1552,7 +1556,7 @@ var isCliEntrypoint = (moduleUrl, argvEntry = process.argv[1]) => {
|
|
|
1552
1556
|
};
|
|
1553
1557
|
var createProgram = () => {
|
|
1554
1558
|
const program = createCliCommand();
|
|
1555
|
-
program.name("cloudburn").usage("[command]").description("Know what you spend. Fix what you waste.").version("0.
|
|
1559
|
+
program.name("cloudburn").usage("[command]").description("Know what you spend. Fix what you waste.").version("0.16.0").option("--debug", "Write execution trace messages to stderr").option("--format <format>", OUTPUT_FORMAT_OPTION_DESCRIPTION, parseOutputFormat);
|
|
1556
1560
|
configureCliHelp(program);
|
|
1557
1561
|
program.exitOverride();
|
|
1558
1562
|
registerCompletionCommand(program);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudburn",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Cloudburn CLI for cloud cost optimization",
|
|
5
5
|
"homepage": "https://cloudburn.io/docs",
|
|
6
6
|
"bugs": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"commander": "^13.1.0",
|
|
23
|
-
"@cloudburn/sdk": "0.
|
|
23
|
+
"@cloudburn/sdk": "0.32.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@biomejs/biome": "^2.5.3",
|