kustodian 1.3.0 → 1.5.2

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.
Files changed (41) hide show
  1. package/dist/cli/bin.js +0 -2
  2. package/dist/cli/bin.js.map +1 -1
  3. package/dist/cli/commands/apply.d.ts.map +1 -1
  4. package/dist/cli/commands/apply.js +3 -84
  5. package/dist/cli/commands/apply.js.map +1 -1
  6. package/dist/cli/index.d.ts +0 -1
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +0 -1
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/utils/cluster-secrets.d.ts +1 -15
  11. package/dist/cli/utils/cluster-secrets.d.ts.map +1 -1
  12. package/dist/cli/utils/cluster-secrets.js +0 -34
  13. package/dist/cli/utils/cluster-secrets.js.map +1 -1
  14. package/dist/generator/index.d.ts +0 -1
  15. package/dist/generator/index.d.ts.map +1 -1
  16. package/dist/generator/index.js +0 -1
  17. package/dist/generator/index.js.map +1 -1
  18. package/dist/generator/substitution.d.ts +0 -1
  19. package/dist/generator/substitution.d.ts.map +1 -1
  20. package/dist/generator/substitution.js +0 -1
  21. package/dist/generator/substitution.js.map +1 -1
  22. package/dist/schema/cluster.d.ts +0 -1374
  23. package/dist/schema/cluster.d.ts.map +1 -1
  24. package/dist/schema/cluster.js +0 -41
  25. package/dist/schema/cluster.js.map +1 -1
  26. package/dist/schema/common.d.ts +5 -167
  27. package/dist/schema/common.d.ts.map +1 -1
  28. package/dist/schema/common.js +5 -70
  29. package/dist/schema/common.js.map +1 -1
  30. package/dist/schema/sources.d.ts +8 -8
  31. package/dist/schema/template.d.ts +18 -381
  32. package/dist/schema/template.d.ts.map +1 -1
  33. package/package.json +1 -2
  34. package/dist/cli/commands/preview.d.ts +0 -5
  35. package/dist/cli/commands/preview.d.ts.map +0 -1
  36. package/dist/cli/commands/preview.js +0 -275
  37. package/dist/cli/commands/preview.js.map +0 -1
  38. package/dist/generator/external-substitutions.d.ts +0 -21
  39. package/dist/generator/external-substitutions.d.ts.map +0 -1
  40. package/dist/generator/external-substitutions.js +0 -49
  41. package/dist/generator/external-substitutions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/schema/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/schema/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kustodian",
3
- "version": "1.3.0",
3
+ "version": "1.5.2",
4
4
  "description": "A GitOps templating framework for Kubernetes with Flux CD",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.5",
@@ -57,7 +57,6 @@
57
57
  "plugins/*"
58
58
  ],
59
59
  "scripts": {
60
- "postinstall": "for d in plugins/*/; do mkdir -p \"$d/node_modules\" && rm -rf \"$d/node_modules/kustodian\" && ln -s ../../.. \"$d/node_modules/kustodian\"; done",
61
60
  "build": "tsc && turbo run build --filter='./plugins/*'",
62
61
  "test": "bun test src/ tests/ plugins/",
63
62
  "test:coverage": "bun test src/ tests/ plugins/ --coverage --coverage-reporter=lcov --coverage-dir=coverage",
@@ -1,5 +0,0 @@
1
- /**
2
- * Preview command - generates Flux manifests and opens them for inspection.
3
- */
4
- export declare const preview_command: import("../command.js").CommandType;
5
- //# sourceMappingURL=preview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"AA0GA;;GAEG;AACH,eAAO,MAAM,eAAe,qCAiO1B,CAAC"}
@@ -1,275 +0,0 @@
1
- import { execSync, spawnSync } from 'node:child_process';
2
- import * as fs from 'node:fs';
3
- import { tmpdir } from 'node:os';
4
- import * as path from 'node:path';
5
- import { is_success, success } from '../../core/index.js';
6
- import { create_generator } from '../../generator/generator.js';
7
- import { write_generation_result } from '../../generator/output.js';
8
- import { find_cluster, find_project_root, load_project, } from '../../loader/index.js';
9
- import { define_command } from '../command.js';
10
- import { resolve_defaults } from '../utils/defaults.js';
11
- function detect_editor() {
12
- try {
13
- execSync('command -v nvim', { stdio: 'ignore' });
14
- return 'nvim';
15
- }
16
- catch {
17
- return 'vi';
18
- }
19
- }
20
- /**
21
- * Generates the k0s provider config preview and writes it to the output directory.
22
- * Returns the written file path, or undefined if not applicable.
23
- */
24
- async function generate_k0s_preview(loaded_cluster, output_dir) {
25
- const cluster_name = loaded_cluster.cluster.metadata.name;
26
- // Build NodeListType from loaded cluster
27
- const node_list = {
28
- cluster: cluster_name,
29
- nodes: loaded_cluster.nodes,
30
- ...(loaded_cluster.cluster.spec.node_defaults?.label_prefix && {
31
- label_prefix: loaded_cluster.cluster.spec.node_defaults.label_prefix,
32
- }),
33
- };
34
- // Load k0s provider with plugin config
35
- let create_k0s_provider;
36
- try {
37
- const k0s_package = 'kustodian-k0s';
38
- const k0s_module = await import(k0s_package);
39
- create_k0s_provider = k0s_module.create_k0s_provider;
40
- }
41
- catch {
42
- // k0s package not available, skip
43
- return undefined;
44
- }
45
- // Extract k0s plugin config from cluster spec
46
- const k0s_plugin = loaded_cluster.cluster.spec.plugins?.find((p) => p.name === 'k0s' || p.name === '@kustodian/plugin-k0s');
47
- const plugin_config = k0s_plugin?.config ?? {};
48
- const provider_options = {};
49
- if (plugin_config['k0s_version']) {
50
- provider_options['k0s_version'] = plugin_config['k0s_version'];
51
- }
52
- if (plugin_config['telemetry_enabled'] !== undefined) {
53
- provider_options['telemetry_enabled'] = plugin_config['telemetry_enabled'];
54
- }
55
- if (plugin_config['dynamic_config'] !== undefined) {
56
- provider_options['dynamic_config'] = plugin_config['dynamic_config'];
57
- }
58
- if (plugin_config['sans']) {
59
- provider_options['sans'] = plugin_config['sans'];
60
- }
61
- if (plugin_config['default_ssh']) {
62
- provider_options['default_ssh'] = plugin_config['default_ssh'];
63
- }
64
- provider_options['cluster_name'] = loaded_cluster.cluster.metadata.code ?? cluster_name;
65
- const provider = create_k0s_provider(provider_options);
66
- if (!provider.get_config_preview) {
67
- return undefined;
68
- }
69
- const preview_result = provider.get_config_preview(node_list);
70
- if (!preview_result.success) {
71
- return undefined;
72
- }
73
- // Write k0sctl config to output directory
74
- const k0s_dir = path.join(output_dir, 'k0s');
75
- fs.mkdirSync(k0s_dir, { recursive: true });
76
- const k0s_file = path.join(k0s_dir, 'k0sctl.yaml');
77
- fs.writeFileSync(k0s_file, preview_result.value, 'utf-8');
78
- return k0s_file;
79
- }
80
- /**
81
- * Preview command - generates Flux manifests and opens them for inspection.
82
- */
83
- export const preview_command = define_command({
84
- name: 'preview',
85
- description: 'Preview generated manifests (Flux + k0s) for a cluster',
86
- options: [
87
- {
88
- name: 'cluster',
89
- short: 'c',
90
- description: 'Cluster name or code (defaults to all clusters)',
91
- type: 'string',
92
- },
93
- {
94
- name: 'template',
95
- short: 't',
96
- description: 'Filter to specific template(s), comma-separated',
97
- type: 'string',
98
- },
99
- {
100
- name: 'project',
101
- short: 'p',
102
- description: 'Path to project root (defaults to current directory)',
103
- type: 'string',
104
- },
105
- {
106
- name: 'output-dir',
107
- short: 'o',
108
- description: 'Write to this directory instead of opening in editor',
109
- type: 'string',
110
- },
111
- {
112
- name: 'format',
113
- short: 'f',
114
- description: 'Output format: yaml or json',
115
- type: 'string',
116
- default_value: 'yaml',
117
- },
118
- ],
119
- handler: async (ctx) => {
120
- const cluster_filter = ctx.options['cluster'];
121
- const template_filter = ctx.options['template'];
122
- const project_path = ctx.options['project'] || process.cwd();
123
- const output_dir_option = ctx.options['output-dir'];
124
- const format = ctx.options['format'] || 'yaml';
125
- // 1. Find project root + load project
126
- const root_result = await find_project_root(project_path);
127
- if (!is_success(root_result)) {
128
- console.error(`Error: ${root_result.error.message}`);
129
- return root_result;
130
- }
131
- const project_root = root_result.value;
132
- const project_result = await load_project(project_root);
133
- if (!is_success(project_result)) {
134
- console.error(`Error: ${project_result.error.message}`);
135
- return project_result;
136
- }
137
- const project = project_result.value;
138
- // 2. Resolve target clusters
139
- let target_clusters;
140
- if (cluster_filter) {
141
- const found = find_cluster(project.clusters, cluster_filter);
142
- if (!found) {
143
- console.error(`Error: Cluster '${cluster_filter}' not found`);
144
- return {
145
- success: false,
146
- error: { code: 'NOT_FOUND', message: `Cluster '${cluster_filter}' not found` },
147
- };
148
- }
149
- target_clusters = [found];
150
- }
151
- else {
152
- target_clusters = project.clusters;
153
- }
154
- if (target_clusters.length === 0) {
155
- console.error('Error: No clusters found in project');
156
- return {
157
- success: false,
158
- error: { code: 'NOT_FOUND', message: 'No clusters found in project' },
159
- };
160
- }
161
- // 3. Filter templates if --template specified
162
- const template_names = template_filter
163
- ? template_filter.split(',').map((t) => t.trim())
164
- : undefined;
165
- let templates = project.templates;
166
- if (template_names) {
167
- templates = templates.filter((t) => template_names.includes(t.template.metadata.name));
168
- if (templates.length === 0) {
169
- console.error(`Error: No matching templates found for: ${template_names.join(', ')}`);
170
- return {
171
- success: false,
172
- error: {
173
- code: 'NOT_FOUND',
174
- message: `No matching templates found for: ${template_names.join(', ')}`,
175
- },
176
- };
177
- }
178
- }
179
- const is_multi = target_clusters.length > 1;
180
- const use_temp = !output_dir_option;
181
- const base_output_dir = output_dir_option ??
182
- path.join(tmpdir(), `kustodian-preview-${is_multi ? 'all' : target_clusters[0]?.cluster.metadata.name}`);
183
- let total_written = 0;
184
- // 4. Generate for each cluster
185
- for (const loaded_cluster of target_clusters) {
186
- const cluster_name = loaded_cluster.cluster.metadata.name;
187
- if (is_multi) {
188
- console.log(`\nGenerating preview for cluster: ${cluster_name}`);
189
- }
190
- // Filter the cluster's template list so only selected templates are "enabled"
191
- let cluster_for_generation = loaded_cluster.cluster;
192
- if (template_names && cluster_for_generation.spec.templates) {
193
- cluster_for_generation = {
194
- ...cluster_for_generation,
195
- spec: {
196
- ...cluster_for_generation.spec,
197
- templates: cluster_for_generation.spec.templates.filter((t) => template_names.includes(t.name)),
198
- },
199
- };
200
- }
201
- const defaults = resolve_defaults(loaded_cluster.cluster, project.config);
202
- // Build template_paths map
203
- const templates_dir = path.join(project_root, 'templates');
204
- const template_paths = new Map();
205
- for (const t of templates) {
206
- const relative_path = path.relative(templates_dir, t.path);
207
- template_paths.set(t.template.metadata.name, relative_path);
208
- }
209
- // Determine output directory (use subdirs for multi-cluster)
210
- const output_dir = is_multi ? path.join(base_output_dir, cluster_name) : base_output_dir;
211
- // Create generator and generate
212
- const generator = create_generator({
213
- flux_namespace: defaults.flux_namespace,
214
- git_repository_name: defaults.oci_repository_name,
215
- template_paths,
216
- flux_reconciliation_interval: defaults.flux_reconciliation_interval,
217
- flux_reconciliation_timeout: defaults.flux_reconciliation_timeout,
218
- });
219
- const gen_result = await generator.generate(cluster_for_generation, templates.map((t) => t.template), { output_dir, skip_validation: !!template_names });
220
- if (!is_success(gen_result)) {
221
- console.error(`Error: ${gen_result.error.message}`);
222
- return gen_result;
223
- }
224
- // Write files
225
- const write_result = await write_generation_result(gen_result.value, { format });
226
- if (!is_success(write_result)) {
227
- console.error(`Error: ${write_result.error.message}`);
228
- return write_result;
229
- }
230
- const written_files = write_result.value;
231
- total_written += written_files.length;
232
- // Generate k0s manifest if cluster has nodes
233
- if (loaded_cluster.nodes.length > 0) {
234
- const k0s_file = await generate_k0s_preview(loaded_cluster, output_dir);
235
- if (k0s_file) {
236
- written_files.push(k0s_file);
237
- total_written += 1;
238
- }
239
- }
240
- if (!use_temp) {
241
- console.log(`\nGenerated ${written_files.length} files in ${output_dir}:\n`);
242
- for (const file of written_files) {
243
- console.log(` ${path.relative(output_dir, file)}`);
244
- }
245
- }
246
- }
247
- if (!use_temp) {
248
- return success(undefined);
249
- }
250
- // Temp mode: open editor, then clean up
251
- const editor = process.env['VISUAL'] || process.env['EDITOR'] || detect_editor();
252
- console.log(`Opening ${editor} with ${total_written} generated manifests...`);
253
- const cleanup = () => {
254
- try {
255
- fs.rmSync(base_output_dir, { recursive: true, force: true });
256
- console.log(`Cleaned up ${base_output_dir}`);
257
- }
258
- catch {
259
- // Best-effort cleanup
260
- }
261
- };
262
- process.on('SIGINT', cleanup);
263
- process.on('SIGTERM', cleanup);
264
- try {
265
- spawnSync(editor, [base_output_dir], { stdio: 'inherit' });
266
- }
267
- finally {
268
- cleanup();
269
- process.removeListener('SIGINT', cleanup);
270
- process.removeListener('SIGTERM', cleanup);
271
- }
272
- return success(undefined);
273
- },
274
- });
275
- //# sourceMappingURL=preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { DopplerSubstitutionType, OnePasswordSubstitutionType, SubstitutionType, TemplateType } from '../schema/index.js';
2
- /**
3
- * Extracts 1Password substitutions from templates.
4
- */
5
- export declare function extract_onepassword_substitutions(templates: TemplateType[]): OnePasswordSubstitutionType[];
6
- /**
7
- * Extracts Doppler substitutions from templates.
8
- */
9
- export declare function extract_doppler_substitutions(templates: TemplateType[]): DopplerSubstitutionType[];
10
- /**
11
- * Extracts all external substitutions (1Password and Doppler) from templates.
12
- */
13
- export declare function extract_external_substitutions(templates: TemplateType[]): {
14
- onepassword: OnePasswordSubstitutionType[];
15
- doppler: DopplerSubstitutionType[];
16
- };
17
- /**
18
- * Checks if a substitution requires external resolution.
19
- */
20
- export declare function is_external_substitution(sub: SubstitutionType): boolean;
21
- //# sourceMappingURL=external-substitutions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-substitutions.d.ts","sourceRoot":"","sources":["../../src/generator/external-substitutions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,YAAY,EAAE,GACxB,2BAA2B,EAAE,CAc/B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,YAAY,EAAE,GACxB,uBAAuB,EAAE,CAc3B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG;IACzE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAC3C,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC,CAKA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAEvE"}
@@ -1,49 +0,0 @@
1
- import { is_doppler_substitution, is_onepassword_substitution } from '../schema/index.js';
2
- /**
3
- * Extracts 1Password substitutions from templates.
4
- */
5
- export function extract_onepassword_substitutions(templates) {
6
- const substitutions = [];
7
- for (const template of templates) {
8
- for (const kustomization of template.spec.kustomizations) {
9
- for (const sub of kustomization.substitutions ?? []) {
10
- if (is_onepassword_substitution(sub)) {
11
- substitutions.push(sub);
12
- }
13
- }
14
- }
15
- }
16
- return substitutions;
17
- }
18
- /**
19
- * Extracts Doppler substitutions from templates.
20
- */
21
- export function extract_doppler_substitutions(templates) {
22
- const substitutions = [];
23
- for (const template of templates) {
24
- for (const kustomization of template.spec.kustomizations) {
25
- for (const sub of kustomization.substitutions ?? []) {
26
- if (is_doppler_substitution(sub)) {
27
- substitutions.push(sub);
28
- }
29
- }
30
- }
31
- }
32
- return substitutions;
33
- }
34
- /**
35
- * Extracts all external substitutions (1Password and Doppler) from templates.
36
- */
37
- export function extract_external_substitutions(templates) {
38
- return {
39
- onepassword: extract_onepassword_substitutions(templates),
40
- doppler: extract_doppler_substitutions(templates),
41
- };
42
- }
43
- /**
44
- * Checks if a substitution requires external resolution.
45
- */
46
- export function is_external_substitution(sub) {
47
- return is_onepassword_substitution(sub) || is_doppler_substitution(sub);
48
- }
49
- //# sourceMappingURL=external-substitutions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-substitutions.js","sourceRoot":"","sources":["../../src/generator/external-substitutions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAAyB;IAEzB,MAAM,aAAa,GAAkC,EAAE,CAAC;IAExD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gBACpD,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,SAAyB;IAEzB,MAAM,aAAa,GAA8B,EAAE,CAAC;IAEpD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gBACpD,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAyB;IAItE,OAAO;QACL,WAAW,EAAE,iCAAiC,CAAC,SAAS,CAAC;QACzD,OAAO,EAAE,6BAA6B,CAAC,SAAS,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAqB;IAC5D,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC"}