@intentius/chant-lexicon-k8s 0.7.0 → 0.8.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/dist/actions/apps.d.ts +44 -0
- package/dist/actions/apps.d.ts.map +1 -0
- package/dist/actions/batch.d.ts +22 -0
- package/dist/actions/batch.d.ts.map +1 -0
- package/dist/actions/core.d.ts +131 -0
- package/dist/actions/core.d.ts.map +1 -0
- package/dist/actions/index.d.ts +9 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/networking.d.ts +27 -0
- package/dist/actions/networking.d.ts.map +1 -0
- package/dist/actions/rbac.d.ts +40 -0
- package/dist/actions/rbac.d.ts.map +1 -0
- package/dist/codegen/docs-cli.d.ts +2 -0
- package/dist/codegen/docs-cli.d.ts.map +1 -0
- package/dist/codegen/docs.d.ts +12 -0
- package/dist/codegen/docs.d.ts.map +1 -0
- package/dist/codegen/generate-cli.d.ts +6 -0
- package/dist/codegen/generate-cli.d.ts.map +1 -0
- package/dist/codegen/generate-lexicon.d.ts +21 -0
- package/dist/codegen/generate-lexicon.d.ts.map +1 -0
- package/dist/codegen/generate-typescript.d.ts +11 -0
- package/dist/codegen/generate-typescript.d.ts.map +1 -0
- package/dist/codegen/generate.d.ts +19 -0
- package/dist/codegen/generate.d.ts.map +1 -0
- package/dist/codegen/naming.d.ts +15 -0
- package/dist/codegen/naming.d.ts.map +1 -0
- package/dist/codegen/package.d.ts +11 -0
- package/dist/codegen/package.d.ts.map +1 -0
- package/dist/codegen/patches.d.ts +31 -0
- package/dist/codegen/patches.d.ts.map +1 -0
- package/dist/codegen/typecheck.d.ts +5 -0
- package/dist/codegen/typecheck.d.ts.map +1 -0
- package/dist/codegen/versions.d.ts +20 -0
- package/dist/codegen/versions.d.ts.map +1 -0
- package/dist/composites/adot-collector.d.ts +66 -0
- package/dist/composites/adot-collector.d.ts.map +1 -0
- package/dist/composites/agic-ingress.d.ts +73 -0
- package/dist/composites/agic-ingress.d.ts.map +1 -0
- package/dist/composites/aks-external-dns-agent.d.ts +65 -0
- package/dist/composites/aks-external-dns-agent.d.ts.map +1 -0
- package/dist/composites/alb-ingress.d.ts +77 -0
- package/dist/composites/alb-ingress.d.ts.map +1 -0
- package/dist/composites/argo-app.d.ts +168 -0
- package/dist/composites/argo-app.d.ts.map +1 -0
- package/dist/composites/autoscaled-service.d.ts +106 -0
- package/dist/composites/autoscaled-service.d.ts.map +1 -0
- package/dist/composites/azure-disk-storage-class.d.ts +48 -0
- package/dist/composites/azure-disk-storage-class.d.ts.map +1 -0
- package/dist/composites/azure-file-storage-class.d.ts +46 -0
- package/dist/composites/azure-file-storage-class.d.ts.map +1 -0
- package/dist/composites/azure-monitor-collector.d.ts +63 -0
- package/dist/composites/azure-monitor-collector.d.ts.map +1 -0
- package/dist/composites/batch-job.d.ts +85 -0
- package/dist/composites/batch-job.d.ts.map +1 -0
- package/dist/composites/cockroachdb-cluster.d.ts +132 -0
- package/dist/composites/cockroachdb-cluster.d.ts.map +1 -0
- package/dist/composites/cockroachdb-region-stack.d.ts +164 -0
- package/dist/composites/cockroachdb-region-stack.d.ts.map +1 -0
- package/dist/composites/config-connector-context.d.ts +41 -0
- package/dist/composites/config-connector-context.d.ts.map +1 -0
- package/dist/composites/configured-app.d.ts +91 -0
- package/dist/composites/configured-app.d.ts.map +1 -0
- package/dist/composites/cron-workload.d.ts +76 -0
- package/dist/composites/cron-workload.d.ts.map +1 -0
- package/dist/composites/ebs-storage-class.d.ts +55 -0
- package/dist/composites/ebs-storage-class.d.ts.map +1 -0
- package/dist/composites/efs-storage-class.d.ts +47 -0
- package/dist/composites/efs-storage-class.d.ts.map +1 -0
- package/dist/composites/external-dns-agent.d.ts +58 -0
- package/dist/composites/external-dns-agent.d.ts.map +1 -0
- package/dist/composites/filestore-storage-class.d.ts +46 -0
- package/dist/composites/filestore-storage-class.d.ts.map +1 -0
- package/dist/composites/fluent-bit-agent.d.ts +66 -0
- package/dist/composites/fluent-bit-agent.d.ts.map +1 -0
- package/dist/composites/gce-ingress.d.ts +72 -0
- package/dist/composites/gce-ingress.d.ts.map +1 -0
- package/dist/composites/gce-pd-storage-class.d.ts +48 -0
- package/dist/composites/gce-pd-storage-class.d.ts.map +1 -0
- package/dist/composites/gke-external-dns-agent.d.ts +59 -0
- package/dist/composites/gke-external-dns-agent.d.ts.map +1 -0
- package/dist/composites/gke-fluent-bit-agent.d.ts +64 -0
- package/dist/composites/gke-fluent-bit-agent.d.ts.map +1 -0
- package/dist/composites/gke-gateway.d.ts +63 -0
- package/dist/composites/gke-gateway.d.ts.map +1 -0
- package/dist/composites/gke-otel-collector.d.ts +64 -0
- package/dist/composites/gke-otel-collector.d.ts.map +1 -0
- package/dist/composites/index.d.ts +86 -0
- package/dist/composites/index.d.ts.map +1 -0
- package/dist/composites/irsa-service-account.d.ts +54 -0
- package/dist/composites/irsa-service-account.d.ts.map +1 -0
- package/dist/composites/metrics-server.d.ts +56 -0
- package/dist/composites/metrics-server.d.ts.map +1 -0
- package/dist/composites/monitored-service.d.ts +92 -0
- package/dist/composites/monitored-service.d.ts.map +1 -0
- package/dist/composites/namespace-env.d.ts +64 -0
- package/dist/composites/namespace-env.d.ts.map +1 -0
- package/dist/composites/network-isolated-app.d.ts +88 -0
- package/dist/composites/network-isolated-app.d.ts.map +1 -0
- package/dist/composites/node-agent.d.ts +87 -0
- package/dist/composites/node-agent.d.ts.map +1 -0
- package/dist/composites/ray-cluster.d.ts +179 -0
- package/dist/composites/ray-cluster.d.ts.map +1 -0
- package/dist/composites/ray-job.d.ts +88 -0
- package/dist/composites/ray-job.d.ts.map +1 -0
- package/dist/composites/ray-service.d.ts +87 -0
- package/dist/composites/ray-service.d.ts.map +1 -0
- package/dist/composites/secure-ingress.d.ts +66 -0
- package/dist/composites/secure-ingress.d.ts.map +1 -0
- package/dist/composites/security-context.d.ts +17 -0
- package/dist/composites/security-context.d.ts.map +1 -0
- package/dist/composites/sidecar-app.d.ts +121 -0
- package/dist/composites/sidecar-app.d.ts.map +1 -0
- package/dist/composites/stateful-app.d.ts +82 -0
- package/dist/composites/stateful-app.d.ts.map +1 -0
- package/dist/composites/web-app.d.ts +95 -0
- package/dist/composites/web-app.d.ts.map +1 -0
- package/dist/composites/worker-pool.d.ts +96 -0
- package/dist/composites/worker-pool.d.ts.map +1 -0
- package/dist/composites/workload-identity-sa.d.ts +54 -0
- package/dist/composites/workload-identity-sa.d.ts.map +1 -0
- package/dist/composites/workload-identity-service-account.d.ts +54 -0
- package/dist/composites/workload-identity-service-account.d.ts.map +1 -0
- package/dist/coverage.d.ts +14 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/crd/crd-sources.d.ts +10 -0
- package/dist/crd/crd-sources.d.ts.map +1 -0
- package/dist/crd/loader.d.ts +17 -0
- package/dist/crd/loader.d.ts.map +1 -0
- package/dist/crd/parser.d.ts +21 -0
- package/dist/crd/parser.d.ts.map +1 -0
- package/dist/crd/types.d.ts +55 -0
- package/dist/crd/types.d.ts.map +1 -0
- package/dist/default-labels.d.ts +84 -0
- package/dist/default-labels.d.ts.map +1 -0
- package/dist/describe-resources.d.ts +30 -0
- package/dist/describe-resources.d.ts.map +1 -0
- package/dist/detect.d.ts +4 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/export-resources.d.ts +8 -0
- package/dist/export-resources.d.ts.map +1 -0
- package/dist/generated/index.d.ts +295 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/runtime.d.ts +5 -0
- package/dist/generated/runtime.d.ts.map +1 -0
- package/dist/import/generator.d.ts +25 -0
- package/dist/import/generator.d.ts.map +1 -0
- package/dist/import/live-export.d.ts +18 -0
- package/dist/import/live-export.d.ts.map +1 -0
- package/dist/import/parser.d.ts +19 -0
- package/dist/import/parser.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/integrity.json +2 -2
- package/dist/lint/post-synth/argo-helpers.d.ts +24 -0
- package/dist/lint/post-synth/argo-helpers.d.ts.map +1 -0
- package/dist/lint/post-synth/argo002.d.ts +12 -0
- package/dist/lint/post-synth/argo002.d.ts.map +1 -0
- package/dist/lint/post-synth/argo003.d.ts +14 -0
- package/dist/lint/post-synth/argo003.d.ts.map +1 -0
- package/dist/lint/post-synth/argo005.d.ts +3 -0
- package/dist/lint/post-synth/argo005.d.ts.map +1 -0
- package/dist/lint/post-synth/index.d.ts +3 -0
- package/dist/lint/post-synth/index.d.ts.map +1 -0
- package/dist/lint/post-synth/k8s-helpers.d.ts +97 -0
- package/dist/lint/post-synth/k8s-helpers.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8005.d.ts +10 -0
- package/dist/lint/post-synth/wk8005.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8006.d.ts +9 -0
- package/dist/lint/post-synth/wk8006.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8041.d.ts +10 -0
- package/dist/lint/post-synth/wk8041.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8042.d.ts +10 -0
- package/dist/lint/post-synth/wk8042.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8101.d.ts +10 -0
- package/dist/lint/post-synth/wk8101.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8102.d.ts +9 -0
- package/dist/lint/post-synth/wk8102.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8103.d.ts +9 -0
- package/dist/lint/post-synth/wk8103.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8104.d.ts +10 -0
- package/dist/lint/post-synth/wk8104.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8105.d.ts +10 -0
- package/dist/lint/post-synth/wk8105.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8201.d.ts +10 -0
- package/dist/lint/post-synth/wk8201.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8202.d.ts +10 -0
- package/dist/lint/post-synth/wk8202.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8203.d.ts +10 -0
- package/dist/lint/post-synth/wk8203.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8204.d.ts +14 -0
- package/dist/lint/post-synth/wk8204.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8205.d.ts +10 -0
- package/dist/lint/post-synth/wk8205.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8207.d.ts +10 -0
- package/dist/lint/post-synth/wk8207.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8208.d.ts +10 -0
- package/dist/lint/post-synth/wk8208.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8209.d.ts +10 -0
- package/dist/lint/post-synth/wk8209.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8301.d.ts +15 -0
- package/dist/lint/post-synth/wk8301.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8302.d.ts +9 -0
- package/dist/lint/post-synth/wk8302.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8303.d.ts +10 -0
- package/dist/lint/post-synth/wk8303.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8304.d.ts +10 -0
- package/dist/lint/post-synth/wk8304.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8305.d.ts +9 -0
- package/dist/lint/post-synth/wk8305.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8306.d.ts +11 -0
- package/dist/lint/post-synth/wk8306.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8401.d.ts +11 -0
- package/dist/lint/post-synth/wk8401.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8402.d.ts +10 -0
- package/dist/lint/post-synth/wk8402.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8403.d.ts +10 -0
- package/dist/lint/post-synth/wk8403.d.ts.map +1 -0
- package/dist/lint/rules/argo-appset-single-project.d.ts +18 -0
- package/dist/lint/rules/argo-appset-single-project.d.ts.map +1 -0
- package/dist/lint/rules/argo-ast.d.ts +37 -0
- package/dist/lint/rules/argo-ast.d.ts.map +1 -0
- package/dist/lint/rules/argo-automated-prune.d.ts +20 -0
- package/dist/lint/rules/argo-automated-prune.d.ts.map +1 -0
- package/dist/lint/rules/hardcoded-namespace.d.ts +13 -0
- package/dist/lint/rules/hardcoded-namespace.d.ts.map +1 -0
- package/dist/lint/rules/latest-image-tag.d.ts +3 -0
- package/dist/lint/rules/latest-image-tag.d.ts.map +1 -0
- package/dist/lint/rules/missing-resource-limits.d.ts +3 -0
- package/dist/lint/rules/missing-resource-limits.d.ts.map +1 -0
- package/dist/lsp/completions.d.ts +6 -0
- package/dist/lsp/completions.d.ts.map +1 -0
- package/dist/lsp/hover.d.ts +6 -0
- package/dist/lsp/hover.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/micro-time.d.ts +43 -0
- package/dist/micro-time.d.ts.map +1 -0
- package/dist/package-cli.d.ts +6 -0
- package/dist/package-cli.d.ts.map +1 -0
- package/dist/plugin.d.ts +9 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/serializer.d.ts +12 -0
- package/dist/serializer.d.ts.map +1 -0
- package/dist/spec/fetch.d.ts +34 -0
- package/dist/spec/fetch.d.ts.map +1 -0
- package/dist/spec/parse.d.ts +73 -0
- package/dist/spec/parse.d.ts.map +1 -0
- package/dist/validate-cli.d.ts +6 -0
- package/dist/validate-cli.d.ts.map +1 -0
- package/dist/validate.d.ts +15 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/variables.d.ts +35 -0
- package/dist/variables.d.ts.map +1 -0
- package/package.json +24 -5
- package/src/composites/argo-app.ts +3 -3
- package/src/detect.ts +9 -0
- package/src/lint/post-synth/index.ts +63 -0
- package/src/plugin.ts +4 -12
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CronWorkload composite — CronJob + ServiceAccount + Role + RoleBinding.
|
|
3
|
+
*
|
|
4
|
+
* A higher-level construct for deploying scheduled workloads with
|
|
5
|
+
* proper RBAC permissions.
|
|
6
|
+
*/
|
|
7
|
+
import { CronJob, ServiceAccount, Role, RoleBinding } from "../generated/index.js";
|
|
8
|
+
import type { ContainerSecurityContext } from "./security-context.js";
|
|
9
|
+
export interface CronWorkloadProps {
|
|
10
|
+
/** Workload name — used in metadata and labels. */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Container image. */
|
|
13
|
+
image: string;
|
|
14
|
+
/** Cron schedule expression (e.g., "0 * * * *"). */
|
|
15
|
+
schedule: string;
|
|
16
|
+
/** Command to run in the container. */
|
|
17
|
+
command?: string[];
|
|
18
|
+
/** Arguments to the command. */
|
|
19
|
+
args?: string[];
|
|
20
|
+
/** RBAC rules for the service account. */
|
|
21
|
+
rbacRules?: Array<{
|
|
22
|
+
apiGroups: string[];
|
|
23
|
+
resources: string[];
|
|
24
|
+
verbs: string[];
|
|
25
|
+
}>;
|
|
26
|
+
/** Job history limits. */
|
|
27
|
+
successfulJobsHistoryLimit?: number;
|
|
28
|
+
failedJobsHistoryLimit?: number;
|
|
29
|
+
/** Restart policy for the job (default: "OnFailure"). */
|
|
30
|
+
restartPolicy?: string;
|
|
31
|
+
/** Additional labels to apply to all resources. */
|
|
32
|
+
labels?: Record<string, string>;
|
|
33
|
+
/** Namespace for all resources. */
|
|
34
|
+
namespace?: string;
|
|
35
|
+
/** Environment variables. */
|
|
36
|
+
env?: Array<{
|
|
37
|
+
name: string;
|
|
38
|
+
value: string;
|
|
39
|
+
}>;
|
|
40
|
+
/** Container security context (supports PSS restricted fields). */
|
|
41
|
+
securityContext?: ContainerSecurityContext;
|
|
42
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
43
|
+
defaults?: {
|
|
44
|
+
cronJob?: Partial<Record<string, unknown>>;
|
|
45
|
+
serviceAccount?: Partial<Record<string, unknown>>;
|
|
46
|
+
role?: Partial<Record<string, unknown>>;
|
|
47
|
+
roleBinding?: Partial<Record<string, unknown>>;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface CronWorkloadResult {
|
|
51
|
+
cronJob: InstanceType<typeof CronJob>;
|
|
52
|
+
serviceAccount: InstanceType<typeof ServiceAccount>;
|
|
53
|
+
role: InstanceType<typeof Role>;
|
|
54
|
+
roleBinding: InstanceType<typeof RoleBinding>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a CronWorkload composite — returns prop objects for
|
|
58
|
+
* a CronJob, ServiceAccount, Role, and RoleBinding.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { CronWorkload } from "@intentius/chant-lexicon-k8s";
|
|
63
|
+
*
|
|
64
|
+
* const { cronJob, serviceAccount, role, roleBinding } = CronWorkload({
|
|
65
|
+
* name: "db-backup",
|
|
66
|
+
* image: "postgres:16",
|
|
67
|
+
* schedule: "0 2 * * *",
|
|
68
|
+
* command: ["pg_dump", "-h", "postgres", "mydb"],
|
|
69
|
+
* rbacRules: [
|
|
70
|
+
* { apiGroups: [""], resources: ["secrets"], verbs: ["get"] },
|
|
71
|
+
* ],
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare const CronWorkload: import("@intentius/chant").CompositeDefinition<CronWorkloadProps, import("@intentius/chant").CompositeMembers>;
|
|
76
|
+
//# sourceMappingURL=cron-workload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-workload.d.ts","sourceRoot":"","sources":["../../src/composites/cron-workload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IACH,0BAA0B;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,mEAAmE;IACnE,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3C,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAChD,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC;IACtC,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IACpD,IAAI,EAAE,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC;IAChC,WAAW,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,gHAqGP,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EbsStorageClass composite — StorageClass for AWS EBS CSI driver.
|
|
3
|
+
*
|
|
4
|
+
* @eks Creates a StorageClass with the `ebs.csi.aws.com` provisioner.
|
|
5
|
+
*/
|
|
6
|
+
import { StorageClass } from "../generated/index.js";
|
|
7
|
+
export interface EbsStorageClassProps {
|
|
8
|
+
/** StorageClass name. */
|
|
9
|
+
name: string;
|
|
10
|
+
/** EBS volume type (default: "gp3"). */
|
|
11
|
+
type?: string;
|
|
12
|
+
/** IOPS for io1/io2/gp3 volumes. */
|
|
13
|
+
iops?: string | number;
|
|
14
|
+
/** Throughput for gp3 volumes (MiB/s). */
|
|
15
|
+
throughput?: string | number;
|
|
16
|
+
/** Enable encryption (default: true). */
|
|
17
|
+
encrypted?: boolean;
|
|
18
|
+
/** KMS key ID for encryption. */
|
|
19
|
+
kmsKeyId?: string;
|
|
20
|
+
/** Filesystem type (default: "ext4"). */
|
|
21
|
+
fsType?: string;
|
|
22
|
+
/** Reclaim policy (default: "Delete"). */
|
|
23
|
+
reclaimPolicy?: string;
|
|
24
|
+
/** Volume binding mode (default: "WaitForFirstConsumer"). */
|
|
25
|
+
volumeBindingMode?: string;
|
|
26
|
+
/** Allow volume expansion (default: true). */
|
|
27
|
+
allowVolumeExpansion?: boolean;
|
|
28
|
+
/** Additional labels. */
|
|
29
|
+
labels?: Record<string, string>;
|
|
30
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
31
|
+
defaults?: {
|
|
32
|
+
storageClass?: Partial<Record<string, unknown>>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface EbsStorageClassResult {
|
|
36
|
+
storageClass: InstanceType<typeof StorageClass>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create an EbsStorageClass composite — returns prop objects for
|
|
40
|
+
* a StorageClass with the EBS CSI provisioner.
|
|
41
|
+
*
|
|
42
|
+
* @eks
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { EbsStorageClass } from "@intentius/chant-lexicon-k8s";
|
|
46
|
+
*
|
|
47
|
+
* const { storageClass } = EbsStorageClass({
|
|
48
|
+
* name: "gp3-encrypted",
|
|
49
|
+
* type: "gp3",
|
|
50
|
+
* encrypted: true,
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare const EbsStorageClass: import("@intentius/chant").CompositeDefinition<EbsStorageClassProps, import("@intentius/chant").CompositeMembers>;
|
|
55
|
+
//# sourceMappingURL=ebs-storage-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ebs-storage-class.d.ts","sourceRoot":"","sources":["../../src/composites/ebs-storage-class.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,mHA6CP,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EfsStorageClass composite — StorageClass for AWS EFS CSI driver.
|
|
3
|
+
*
|
|
4
|
+
* @eks Creates a StorageClass with the `efs.csi.aws.com` provisioner.
|
|
5
|
+
* EFS provides ReadWriteMany access mode (shared across pods/nodes).
|
|
6
|
+
*/
|
|
7
|
+
import { StorageClass } from "../generated/index.js";
|
|
8
|
+
export interface EfsStorageClassProps {
|
|
9
|
+
/** StorageClass name. */
|
|
10
|
+
name: string;
|
|
11
|
+
/** EFS filesystem ID (required). */
|
|
12
|
+
fileSystemId: string;
|
|
13
|
+
/** Directory permissions (default: "700"). */
|
|
14
|
+
directoryPerms?: string;
|
|
15
|
+
/** Base path for dynamic provisioning (default: "/dynamic_provisioning"). */
|
|
16
|
+
basePath?: string;
|
|
17
|
+
/** Reclaim policy (default: "Delete"). */
|
|
18
|
+
reclaimPolicy?: string;
|
|
19
|
+
/** Provisioning mode (default: "efs-ap"). */
|
|
20
|
+
provisioningMode?: string;
|
|
21
|
+
/** Additional labels. */
|
|
22
|
+
labels?: Record<string, string>;
|
|
23
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
24
|
+
defaults?: {
|
|
25
|
+
storageClass?: Partial<Record<string, unknown>>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface EfsStorageClassResult {
|
|
29
|
+
storageClass: InstanceType<typeof StorageClass>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create an EfsStorageClass composite — returns prop objects for
|
|
33
|
+
* a StorageClass with the EFS CSI provisioner.
|
|
34
|
+
*
|
|
35
|
+
* @eks
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import { EfsStorageClass } from "@intentius/chant-lexicon-k8s";
|
|
39
|
+
*
|
|
40
|
+
* const { storageClass } = EfsStorageClass({
|
|
41
|
+
* name: "efs-shared",
|
|
42
|
+
* fileSystemId: "fs-12345678",
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare const EfsStorageClass: import("@intentius/chant").CompositeDefinition<EfsStorageClassProps, import("@intentius/chant").CompositeMembers>;
|
|
47
|
+
//# sourceMappingURL=efs-storage-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"efs-storage-class.d.ts","sourceRoot":"","sources":["../../src/composites/efs-storage-class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,mHAkCP,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ExternalDnsAgent composite — Deployment + IRSA ServiceAccount + ClusterRole + ClusterRoleBinding.
|
|
3
|
+
*
|
|
4
|
+
* @eks ExternalDNS for Route53 DNS management. Common in production EKS setups
|
|
5
|
+
* where Ingress/Service hostnames should automatically create DNS records.
|
|
6
|
+
*/
|
|
7
|
+
import { Deployment, ServiceAccount, ClusterRole, ClusterRoleBinding } from "../generated/index.js";
|
|
8
|
+
export interface ExternalDnsAgentProps {
|
|
9
|
+
/** IAM Role ARN for IRSA (needs Route53 permissions). */
|
|
10
|
+
iamRoleArn: string;
|
|
11
|
+
/** Domain filters — only manage DNS records for these domains. */
|
|
12
|
+
domainFilters: string[];
|
|
13
|
+
/** DNS provider (default: "aws"). */
|
|
14
|
+
provider?: string;
|
|
15
|
+
/** Source of DNS records (default: "ingress"). */
|
|
16
|
+
source?: string;
|
|
17
|
+
/** TXT record owner ID for identifying managed records. */
|
|
18
|
+
txtOwnerId?: string;
|
|
19
|
+
/** Agent name (default: "external-dns"). */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** Container image (default: "registry.k8s.io/external-dns/external-dns:v0.14.0"). */
|
|
22
|
+
image?: string;
|
|
23
|
+
/** Namespace (default: "kube-system"). */
|
|
24
|
+
namespace?: string;
|
|
25
|
+
/** Additional labels. */
|
|
26
|
+
labels?: Record<string, string>;
|
|
27
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
28
|
+
defaults?: {
|
|
29
|
+
deployment?: Partial<Record<string, unknown>>;
|
|
30
|
+
serviceAccount?: Partial<Record<string, unknown>>;
|
|
31
|
+
clusterRole?: Partial<Record<string, unknown>>;
|
|
32
|
+
clusterRoleBinding?: Partial<Record<string, unknown>>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface ExternalDnsAgentResult {
|
|
36
|
+
deployment: InstanceType<typeof Deployment>;
|
|
37
|
+
serviceAccount: InstanceType<typeof ServiceAccount>;
|
|
38
|
+
clusterRole: InstanceType<typeof ClusterRole>;
|
|
39
|
+
clusterRoleBinding: InstanceType<typeof ClusterRoleBinding>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create an ExternalDnsAgent composite — returns prop objects for
|
|
43
|
+
* a Deployment, ServiceAccount (with IRSA), ClusterRole, and ClusterRoleBinding.
|
|
44
|
+
*
|
|
45
|
+
* @eks
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { ExternalDnsAgent } from "@intentius/chant-lexicon-k8s";
|
|
49
|
+
*
|
|
50
|
+
* const { deployment, serviceAccount, clusterRole, clusterRoleBinding } = ExternalDnsAgent({
|
|
51
|
+
* iamRoleArn: "arn:aws:iam::123456789012:role/external-dns-role",
|
|
52
|
+
* domainFilters: ["example.com"],
|
|
53
|
+
* txtOwnerId: "my-cluster",
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare const ExternalDnsAgent: import("@intentius/chant").CompositeDefinition<ExternalDnsAgentProps, import("@intentius/chant").CompositeMembers>;
|
|
58
|
+
//# sourceMappingURL=external-dns-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-dns-agent.d.ts","sourceRoot":"","sources":["../../src/composites/external-dns-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE3F,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;IAC5C,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IACpD,WAAW,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9C,kBAAkB,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,oHAsHP,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FilestoreStorageClass composite — StorageClass for GCP Filestore CSI driver.
|
|
3
|
+
*
|
|
4
|
+
* @gke Creates a StorageClass with the `filestore.csi.storage.gke.io` provisioner.
|
|
5
|
+
* Filestore provides ReadWriteMany access mode (shared across pods/nodes).
|
|
6
|
+
*/
|
|
7
|
+
import { StorageClass } from "../generated/index.js";
|
|
8
|
+
export interface FilestoreStorageClassProps {
|
|
9
|
+
/** StorageClass name. */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Filestore tier (default: "standard"). */
|
|
12
|
+
tier?: "standard" | "premium" | "enterprise";
|
|
13
|
+
/** VPC network for the Filestore instance. */
|
|
14
|
+
network?: string;
|
|
15
|
+
/** Reclaim policy (default: "Delete"). */
|
|
16
|
+
reclaimPolicy?: string;
|
|
17
|
+
/** Volume binding mode (default: "WaitForFirstConsumer"). */
|
|
18
|
+
volumeBindingMode?: string;
|
|
19
|
+
/** Additional labels. */
|
|
20
|
+
labels?: Record<string, string>;
|
|
21
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
22
|
+
defaults?: {
|
|
23
|
+
storageClass?: Partial<Record<string, unknown>>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface FilestoreStorageClassResult {
|
|
27
|
+
storageClass: InstanceType<typeof StorageClass>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a FilestoreStorageClass composite — returns prop objects for
|
|
31
|
+
* a StorageClass with the GCP Filestore CSI provisioner.
|
|
32
|
+
*
|
|
33
|
+
* @gke
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { FilestoreStorageClass } from "@intentius/chant-lexicon-k8s";
|
|
37
|
+
*
|
|
38
|
+
* const { storageClass } = FilestoreStorageClass({
|
|
39
|
+
* name: "filestore-standard",
|
|
40
|
+
* tier: "standard",
|
|
41
|
+
* network: "default",
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const FilestoreStorageClass: import("@intentius/chant").CompositeDefinition<FilestoreStorageClassProps, import("@intentius/chant").CompositeMembers>;
|
|
46
|
+
//# sourceMappingURL=filestore-storage-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filestore-storage-class.d.ts","sourceRoot":"","sources":["../../src/composites/filestore-storage-class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,0BAA0B;IACzC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAC7C,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,yHAqCP,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FluentBitAgent composite — DaemonSet + RBAC + ConfigMap for Fluent Bit.
|
|
3
|
+
*
|
|
4
|
+
* @eks Thin wrapper around the NodeAgent pattern with Fluent Bit defaults
|
|
5
|
+
* (image, RBAC, CloudWatch output config).
|
|
6
|
+
*/
|
|
7
|
+
import { DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, ConfigMap } from "../generated/index.js";
|
|
8
|
+
export interface FluentBitAgentProps {
|
|
9
|
+
/** Agent name (default: "fluent-bit"). */
|
|
10
|
+
name?: string;
|
|
11
|
+
/** Fluent Bit image (default: "public.ecr.aws/aws-observability/aws-for-fluent-bit:stable"). */
|
|
12
|
+
image?: string;
|
|
13
|
+
/** CloudWatch log group name. */
|
|
14
|
+
logGroup: string;
|
|
15
|
+
/** AWS region. */
|
|
16
|
+
region: string;
|
|
17
|
+
/** Cluster name — used as log stream prefix. */
|
|
18
|
+
clusterName: string;
|
|
19
|
+
/** Namespace (default: "amazon-cloudwatch"). */
|
|
20
|
+
namespace?: string;
|
|
21
|
+
/** Additional labels. */
|
|
22
|
+
labels?: Record<string, string>;
|
|
23
|
+
/** CPU request (default: "50m"). */
|
|
24
|
+
cpuRequest?: string;
|
|
25
|
+
/** Memory request (default: "64Mi"). */
|
|
26
|
+
memoryRequest?: string;
|
|
27
|
+
/** CPU limit (default: "200m"). */
|
|
28
|
+
cpuLimit?: string;
|
|
29
|
+
/** Memory limit (default: "128Mi"). */
|
|
30
|
+
memoryLimit?: string;
|
|
31
|
+
/** IAM Role ARN for IRSA (adds eks.amazonaws.com/role-arn annotation to ServiceAccount). */
|
|
32
|
+
iamRoleArn?: string;
|
|
33
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
34
|
+
defaults?: {
|
|
35
|
+
daemonSet?: Partial<Record<string, unknown>>;
|
|
36
|
+
serviceAccount?: Partial<Record<string, unknown>>;
|
|
37
|
+
clusterRole?: Partial<Record<string, unknown>>;
|
|
38
|
+
clusterRoleBinding?: Partial<Record<string, unknown>>;
|
|
39
|
+
configMap?: Partial<Record<string, unknown>>;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface FluentBitAgentResult {
|
|
43
|
+
daemonSet: InstanceType<typeof DaemonSet>;
|
|
44
|
+
serviceAccount: InstanceType<typeof ServiceAccount>;
|
|
45
|
+
clusterRole: InstanceType<typeof ClusterRole>;
|
|
46
|
+
clusterRoleBinding: InstanceType<typeof ClusterRoleBinding>;
|
|
47
|
+
configMap: InstanceType<typeof ConfigMap>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a FluentBitAgent composite — returns prop objects for
|
|
51
|
+
* a DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, and ConfigMap.
|
|
52
|
+
*
|
|
53
|
+
* @eks
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* import { FluentBitAgent } from "@intentius/chant-lexicon-k8s";
|
|
57
|
+
*
|
|
58
|
+
* const { daemonSet, serviceAccount, clusterRole, clusterRoleBinding, configMap } = FluentBitAgent({
|
|
59
|
+
* logGroup: "/aws/eks/my-cluster/containers",
|
|
60
|
+
* region: "us-east-1",
|
|
61
|
+
* clusterName: "my-cluster",
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare const FluentBitAgent: import("@intentius/chant").CompositeDefinition<FluentBitAgentProps, import("@intentius/chant").CompositeMembers>;
|
|
66
|
+
//# sourceMappingURL=fluent-bit-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fluent-bit-agent.d.ts","sourceRoot":"","sources":["../../src/composites/fluent-bit-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;IAC1C,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IACpD,WAAW,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9C,kBAAkB,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC5D,SAAS,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,kHA4JP,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GceIngress composite — Ingress with GCE Ingress Controller annotations.
|
|
3
|
+
*
|
|
4
|
+
* @gke Full `kubernetes.io/ingress.*` and `networking.gke.io/*` annotation set
|
|
5
|
+
* including static IP, managed certificates, and FrontendConfig.
|
|
6
|
+
*/
|
|
7
|
+
import { Ingress } from "../generated/index.js";
|
|
8
|
+
export interface GceIngressHost {
|
|
9
|
+
/** Hostname (e.g., "api.example.com"). */
|
|
10
|
+
hostname: string;
|
|
11
|
+
/** Path rules for this host. */
|
|
12
|
+
paths: Array<{
|
|
13
|
+
path: string;
|
|
14
|
+
pathType?: string;
|
|
15
|
+
serviceName: string;
|
|
16
|
+
/** Port on the Kubernetes Service (not the container port). */
|
|
17
|
+
servicePort: number;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export interface GceIngressProps {
|
|
21
|
+
/** Ingress name — used in metadata and labels. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Host definitions with paths. */
|
|
24
|
+
hosts: GceIngressHost[];
|
|
25
|
+
/** Global static IP name reserved in GCP (sets `kubernetes.io/ingress.global-static-ip-name`). */
|
|
26
|
+
staticIpName?: string;
|
|
27
|
+
/** GKE managed certificate name (sets `networking.gke.io/managed-certificates`). */
|
|
28
|
+
managedCertificate?: string;
|
|
29
|
+
/** FrontendConfig name for SSL policy / redirects (sets `networking.gke.io/v1beta1.FrontendConfig`). */
|
|
30
|
+
frontendConfig?: string;
|
|
31
|
+
/** Health check path for backend (sets `cloud.google.com/backend-config` is NOT handled here — use BackendConfig CRD). */
|
|
32
|
+
healthCheckPath?: string;
|
|
33
|
+
/** Enable HTTP->HTTPS redirect (default: true when managedCertificate set). */
|
|
34
|
+
sslRedirect?: boolean;
|
|
35
|
+
/** Additional annotations on the Ingress. */
|
|
36
|
+
annotations?: Record<string, string>;
|
|
37
|
+
/** Additional labels to apply to all resources. */
|
|
38
|
+
labels?: Record<string, string>;
|
|
39
|
+
/** Namespace for all resources. */
|
|
40
|
+
namespace?: string;
|
|
41
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
42
|
+
defaults?: {
|
|
43
|
+
ingress?: Partial<Record<string, unknown>>;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface GceIngressResult {
|
|
47
|
+
ingress: InstanceType<typeof Ingress>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a GceIngress composite — returns prop objects for
|
|
51
|
+
* an Ingress with GCE Ingress Controller annotations.
|
|
52
|
+
*
|
|
53
|
+
* @gke
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* import { GceIngress } from "@intentius/chant-lexicon-k8s";
|
|
57
|
+
*
|
|
58
|
+
* const { ingress } = GceIngress({
|
|
59
|
+
* name: "api-ingress",
|
|
60
|
+
* hosts: [
|
|
61
|
+
* {
|
|
62
|
+
* hostname: "api.example.com",
|
|
63
|
+
* paths: [{ path: "/", serviceName: "api", servicePort: 80 }],
|
|
64
|
+
* },
|
|
65
|
+
* ],
|
|
66
|
+
* staticIpName: "microservice-ip",
|
|
67
|
+
* managedCertificate: "api-cert",
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare const GceIngress: import("@intentius/chant").CompositeDefinition<GceIngressProps, import("@intentius/chant").CompositeMembers>;
|
|
72
|
+
//# sourceMappingURL=gce-ingress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gce-ingress.d.ts","sourceRoot":"","sources":["../../src/composites/gce-ingress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,+DAA+D;QAC/D,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0HAA0H;IAC1H,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,8GA0EP,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GcePdStorageClass composite — StorageClass for GCE Persistent Disk CSI driver.
|
|
3
|
+
*
|
|
4
|
+
* @gke Creates a StorageClass with the `pd.csi.storage.gke.io` provisioner.
|
|
5
|
+
*/
|
|
6
|
+
import { StorageClass } from "../generated/index.js";
|
|
7
|
+
export interface GcePdStorageClassProps {
|
|
8
|
+
/** StorageClass name. */
|
|
9
|
+
name: string;
|
|
10
|
+
/** PD type (default: "pd-balanced"). */
|
|
11
|
+
type?: "pd-standard" | "pd-ssd" | "pd-balanced" | "pd-extreme";
|
|
12
|
+
/** Replication type (default: "none"). */
|
|
13
|
+
replicationType?: "none" | "regional-pd";
|
|
14
|
+
/** Filesystem type (default: "ext4"). */
|
|
15
|
+
fsType?: string;
|
|
16
|
+
/** Reclaim policy (default: "Delete"). */
|
|
17
|
+
reclaimPolicy?: string;
|
|
18
|
+
/** Volume binding mode (default: "WaitForFirstConsumer"). */
|
|
19
|
+
volumeBindingMode?: string;
|
|
20
|
+
/** Allow volume expansion (default: true). */
|
|
21
|
+
allowVolumeExpansion?: boolean;
|
|
22
|
+
/** Additional labels. */
|
|
23
|
+
labels?: Record<string, string>;
|
|
24
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
25
|
+
defaults?: {
|
|
26
|
+
storageClass?: Partial<Record<string, unknown>>;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface GcePdStorageClassResult {
|
|
30
|
+
storageClass: InstanceType<typeof StorageClass>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a GcePdStorageClass composite — returns prop objects for
|
|
34
|
+
* a StorageClass with the GCE Persistent Disk CSI provisioner.
|
|
35
|
+
*
|
|
36
|
+
* @gke
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { GcePdStorageClass } from "@intentius/chant-lexicon-k8s";
|
|
40
|
+
*
|
|
41
|
+
* const { storageClass } = GcePdStorageClass({
|
|
42
|
+
* name: "pd-ssd",
|
|
43
|
+
* type: "pd-ssd",
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const GcePdStorageClass: import("@intentius/chant").CompositeDefinition<GcePdStorageClassProps, import("@intentius/chant").CompositeMembers>;
|
|
48
|
+
//# sourceMappingURL=gce-pd-storage-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gce-pd-storage-class.d.ts","sourceRoot":"","sources":["../../src/composites/gce-pd-storage-class.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC;IAC/D,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACzC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,qHAyCP,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GkeExternalDnsAgent composite — Deployment + ServiceAccount + ClusterRole + ClusterRoleBinding.
|
|
3
|
+
*
|
|
4
|
+
* @gke Like ExternalDnsAgent but uses --provider=google and GKE Workload Identity
|
|
5
|
+
* instead of IRSA for Cloud DNS management.
|
|
6
|
+
*/
|
|
7
|
+
import { Deployment, ServiceAccount, ClusterRole, ClusterRoleBinding } from "../generated/index.js";
|
|
8
|
+
export interface GkeExternalDnsAgentProps {
|
|
9
|
+
/** GCP service account email for Workload Identity (needs Cloud DNS permissions). */
|
|
10
|
+
gcpServiceAccountEmail: string;
|
|
11
|
+
/** GCP project ID. */
|
|
12
|
+
gcpProjectId: string;
|
|
13
|
+
/** Domain filters — only manage DNS records for these domains. */
|
|
14
|
+
domainFilters: string[];
|
|
15
|
+
/** TXT record owner ID for identifying managed records. */
|
|
16
|
+
txtOwnerId?: string;
|
|
17
|
+
/** Source(s) of DNS records (default: "ingress"). Pass an array for multiple sources. */
|
|
18
|
+
source?: string | string[];
|
|
19
|
+
/** Agent name (default: "external-dns"). */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** Container image (default: "registry.k8s.io/external-dns/external-dns:v0.14.0"). */
|
|
22
|
+
image?: string;
|
|
23
|
+
/** Namespace (default: "kube-system"). */
|
|
24
|
+
namespace?: string;
|
|
25
|
+
/** Additional labels. */
|
|
26
|
+
labels?: Record<string, string>;
|
|
27
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
28
|
+
defaults?: {
|
|
29
|
+
deployment?: Partial<Record<string, unknown>>;
|
|
30
|
+
serviceAccount?: Partial<Record<string, unknown>>;
|
|
31
|
+
clusterRole?: Partial<Record<string, unknown>>;
|
|
32
|
+
clusterRoleBinding?: Partial<Record<string, unknown>>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface GkeExternalDnsAgentResult {
|
|
36
|
+
deployment: InstanceType<typeof Deployment>;
|
|
37
|
+
serviceAccount: InstanceType<typeof ServiceAccount>;
|
|
38
|
+
clusterRole: InstanceType<typeof ClusterRole>;
|
|
39
|
+
clusterRoleBinding: InstanceType<typeof ClusterRoleBinding>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a GkeExternalDnsAgent composite — returns prop objects for
|
|
43
|
+
* a Deployment, ServiceAccount (with Workload Identity), ClusterRole, and ClusterRoleBinding.
|
|
44
|
+
*
|
|
45
|
+
* @gke
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { GkeExternalDnsAgent } from "@intentius/chant-lexicon-k8s";
|
|
49
|
+
*
|
|
50
|
+
* const { deployment, serviceAccount, clusterRole, clusterRoleBinding } = GkeExternalDnsAgent({
|
|
51
|
+
* gcpServiceAccountEmail: "external-dns@my-project.iam.gserviceaccount.com",
|
|
52
|
+
* gcpProjectId: "my-project",
|
|
53
|
+
* domainFilters: ["example.com"],
|
|
54
|
+
* txtOwnerId: "my-cluster",
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare const GkeExternalDnsAgent: import("@intentius/chant").CompositeDefinition<GkeExternalDnsAgentProps, import("@intentius/chant").CompositeMembers>;
|
|
59
|
+
//# sourceMappingURL=gke-external-dns-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gke-external-dns-agent.d.ts","sourceRoot":"","sources":["../../src/composites/gke-external-dns-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE3F,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;IAC5C,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IACpD,WAAW,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9C,kBAAkB,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,uHA6HP,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GkeFluentBitAgent composite — DaemonSet + RBAC + ConfigMap for Fluent Bit on GKE.
|
|
3
|
+
*
|
|
4
|
+
* @gke Like FluentBitAgent but targets Cloud Logging via the stackdriver
|
|
5
|
+
* output plugin and uses GKE Workload Identity instead of IRSA.
|
|
6
|
+
*/
|
|
7
|
+
import { DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, ConfigMap } from "../generated/index.js";
|
|
8
|
+
export interface GkeFluentBitAgentProps {
|
|
9
|
+
/** GKE cluster name — used as log stream prefix. */
|
|
10
|
+
clusterName: string;
|
|
11
|
+
/** GCP project ID. */
|
|
12
|
+
projectId: string;
|
|
13
|
+
/** GCP service account email for Workload Identity. */
|
|
14
|
+
gcpServiceAccountEmail?: string;
|
|
15
|
+
/** Agent name (default: "fluent-bit"). */
|
|
16
|
+
name?: string;
|
|
17
|
+
/** Fluent Bit image (default: "fluent/fluent-bit:latest"). */
|
|
18
|
+
image?: string;
|
|
19
|
+
/** Namespace (default: "gke-logging"). */
|
|
20
|
+
namespace?: string;
|
|
21
|
+
/** Additional labels. */
|
|
22
|
+
labels?: Record<string, string>;
|
|
23
|
+
/** CPU request (default: "50m"). */
|
|
24
|
+
cpuRequest?: string;
|
|
25
|
+
/** Memory request (default: "64Mi"). */
|
|
26
|
+
memoryRequest?: string;
|
|
27
|
+
/** CPU limit (default: "200m"). */
|
|
28
|
+
cpuLimit?: string;
|
|
29
|
+
/** Memory limit (default: "128Mi"). */
|
|
30
|
+
memoryLimit?: string;
|
|
31
|
+
/** Per-member defaults for fine-grained overrides. */
|
|
32
|
+
defaults?: {
|
|
33
|
+
daemonSet?: Partial<Record<string, unknown>>;
|
|
34
|
+
serviceAccount?: Partial<Record<string, unknown>>;
|
|
35
|
+
clusterRole?: Partial<Record<string, unknown>>;
|
|
36
|
+
clusterRoleBinding?: Partial<Record<string, unknown>>;
|
|
37
|
+
configMap?: Partial<Record<string, unknown>>;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface GkeFluentBitAgentResult {
|
|
41
|
+
daemonSet: InstanceType<typeof DaemonSet>;
|
|
42
|
+
serviceAccount: InstanceType<typeof ServiceAccount>;
|
|
43
|
+
clusterRole: InstanceType<typeof ClusterRole>;
|
|
44
|
+
clusterRoleBinding: InstanceType<typeof ClusterRoleBinding>;
|
|
45
|
+
configMap: InstanceType<typeof ConfigMap>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a GkeFluentBitAgent composite — returns prop objects for
|
|
49
|
+
* a DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, and ConfigMap.
|
|
50
|
+
*
|
|
51
|
+
* @gke
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import { GkeFluentBitAgent } from "@intentius/chant-lexicon-k8s";
|
|
55
|
+
*
|
|
56
|
+
* const { daemonSet, serviceAccount, clusterRole, clusterRoleBinding, configMap } = GkeFluentBitAgent({
|
|
57
|
+
* clusterName: "my-cluster",
|
|
58
|
+
* projectId: "my-project",
|
|
59
|
+
* gcpServiceAccountEmail: "fluent-bit@my-project.iam.gserviceaccount.com",
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare const GkeFluentBitAgent: import("@intentius/chant").CompositeDefinition<GkeFluentBitAgentProps, import("@intentius/chant").CompositeMembers>;
|
|
64
|
+
//# sourceMappingURL=gke-fluent-bit-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gke-fluent-bit-agent.d.ts","sourceRoot":"","sources":["../../src/composites/gke-fluent-bit-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErG,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;IAC1C,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IACpD,WAAW,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9C,kBAAkB,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC5D,SAAS,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,qHAmKP,CAAC"}
|