@intentius/behold 0.8.0 → 0.9.1
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/AGENTS.md +85 -0
- package/README.md +124 -2
- package/demos.json +17 -1
- package/dist/cli.js +2553 -315
- package/example-argo-estate/README.md +43 -18
- package/example-argo-estate/app-a/chant.config.ts +10 -2
- package/example-argo-estate/app-a/package.json +2 -2
- package/example-argo-estate/app-b/chant.config.ts +11 -2
- package/example-argo-estate/app-b/package.json +2 -2
- package/example-argo-estate/control-plane/chant.config.ts +20 -5
- package/example-argo-estate/control-plane/package.json +2 -2
- package/example-argo-estate/package-lock.json +20 -20
- package/example-carve/README.md +221 -0
- package/example-carve/app/chant.config.ts +6 -0
- package/example-carve/app/package-lock.json +1075 -0
- package/example-carve/app/package.json +13 -0
- package/example-carve/app/src/carved.ts +30 -0
- package/example-carve/app/tsconfig.json +1 -0
- package/example-carve/carve-report.json +962 -0
- package/example-carve/legacy-tf/cdn.tf +23 -0
- package/example-carve/legacy-tf/compute.tf +63 -0
- package/example-carve/legacy-tf/floci-override.tf.disabled +61 -0
- package/example-carve/legacy-tf/modules/cdn/main.tf +72 -0
- package/example-carve/legacy-tf/naming.tf +10 -0
- package/example-carve/legacy-tf/network.tf +119 -0
- package/example-carve/legacy-tf/observability.tf +18 -0
- package/example-carve/legacy-tf/outputs.tf +21 -0
- package/example-carve/legacy-tf/storage.tf +33 -0
- package/example-carve/legacy-tf/terraform.tfstate +602 -0
- package/example-carve/legacy-tf/versions.tf +40 -0
- package/example-flux-estate/README.md +9 -4
- package/example-flux-estate/app-a/package.json +2 -2
- package/example-flux-estate/app-a/src/app.ts +2 -1
- package/example-flux-estate/app-b/chant.config.ts +4 -3
- package/example-flux-estate/app-b/package.json +2 -2
- package/example-flux-estate/app-b/src/app.ts +5 -3
- package/example-flux-estate/control-plane/package.json +2 -2
- package/example-flux-estate/control-plane/src/flux.ts +4 -2
- package/example-flux-estate/package-lock.json +20 -20
- package/example-k8s/package-lock.json +21 -21
- package/example-k8s/package.json +3 -3
- package/example-writes/package-lock.json +14 -14
- package/example-writes/package.json +3 -3
- package/package.json +8 -6
- package/web/app.js +714 -57
- package/web/carve-steps.js +621 -0
- package/web/carve-steps.test.js +248 -0
- package/web/demos.js +71 -0
- package/web/demos.test.js +83 -0
- package/web/index.html +93 -1
- package/web/json-view.js +334 -0
- package/web/json-view.test.js +218 -0
- package/web/layout-store.js +164 -4
- package/web/layout-store.test.js +226 -1
- package/web/panel.js +28 -0
- package/web/theme.js +57 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "behold-example-carve-app",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "The chant half of behold's carve demo estate — the pieces already peeled out of ../legacy-tf.",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "./node_modules/.bin/chant build src --lexicon aws -o template.json"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@intentius/chant": "^0.44.7",
|
|
11
|
+
"@intentius/chant-lexicon-aws": "^0.44.7"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LogGroup, SsmParameter } from "@intentius/chant-lexicon-aws";
|
|
2
|
+
|
|
3
|
+
// These two came out of ../legacy-tf last month, in the first pass of the
|
|
4
|
+
// migration. Both were carved the same way:
|
|
5
|
+
//
|
|
6
|
+
// chant carve emit --from ../legacy-tf --state ../legacy-tf/terraform.tfstate \
|
|
7
|
+
// --select aws_cloudwatch_log_group.api --output .
|
|
8
|
+
// terraform state rm aws_cloudwatch_log_group.api
|
|
9
|
+
//
|
|
10
|
+
// Neither was destroyed or recreated — `carve emit` adopts the live resource at
|
|
11
|
+
// the observe position, and the `state rm` only drops Terraform's claim on it.
|
|
12
|
+
// The estate has been mixed ever since: chant owns these, Terraform still owns
|
|
13
|
+
// the bucket, the API lambda and the whole VPC block next door.
|
|
14
|
+
|
|
15
|
+
// The API lambda's log group. Terraform created it (the retention was already
|
|
16
|
+
// 30 days); chant has owned it since the carve.
|
|
17
|
+
export const apiLogs = new LogGroup({
|
|
18
|
+
LogGroupName: "/acme/platform/api",
|
|
19
|
+
RetentionInDays: 30,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Was `aws_ssm_parameter.assets_cdn_domain` in ../legacy-tf. The surviving
|
|
23
|
+
// Terraform reads it back through a `data "aws_ssm_parameter"` block — the
|
|
24
|
+
// data-source patch `carve bridge` writes for every inbound edge a carve cuts.
|
|
25
|
+
export const assetsCdnDomain = new SsmParameter({
|
|
26
|
+
Name: "/acme/platform/prod/assets-cdn-domain",
|
|
27
|
+
Type: "String",
|
|
28
|
+
Value: "cdn.acme-platform.example.com",
|
|
29
|
+
Description: "Public hostname the CDN serves acme-platform's static assets on.",
|
|
30
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "Bundler", "strict": true, "skipLibCheck": true, "noEmit": true }, "include": ["src/**/*", "chant.config.ts"] }
|