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.
- package/dist/cli/bin.js +0 -2
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/commands/apply.d.ts.map +1 -1
- package/dist/cli/commands/apply.js +3 -84
- package/dist/cli/commands/apply.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/cluster-secrets.d.ts +1 -15
- package/dist/cli/utils/cluster-secrets.d.ts.map +1 -1
- package/dist/cli/utils/cluster-secrets.js +0 -34
- package/dist/cli/utils/cluster-secrets.js.map +1 -1
- package/dist/generator/index.d.ts +0 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +0 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/substitution.d.ts +0 -1
- package/dist/generator/substitution.d.ts.map +1 -1
- package/dist/generator/substitution.js +0 -1
- package/dist/generator/substitution.js.map +1 -1
- package/dist/schema/cluster.d.ts +0 -1374
- package/dist/schema/cluster.d.ts.map +1 -1
- package/dist/schema/cluster.js +0 -41
- package/dist/schema/cluster.js.map +1 -1
- package/dist/schema/common.d.ts +5 -167
- package/dist/schema/common.d.ts.map +1 -1
- package/dist/schema/common.js +5 -70
- package/dist/schema/common.js.map +1 -1
- package/dist/schema/sources.d.ts +8 -8
- package/dist/schema/template.d.ts +18 -381
- package/dist/schema/template.d.ts.map +1 -1
- package/package.json +1 -2
- package/dist/cli/commands/preview.d.ts +0 -5
- package/dist/cli/commands/preview.d.ts.map +0 -1
- package/dist/cli/commands/preview.js +0 -275
- package/dist/cli/commands/preview.js.map +0 -1
- package/dist/generator/external-substitutions.d.ts +0 -21
- package/dist/generator/external-substitutions.d.ts.map +0 -1
- package/dist/generator/external-substitutions.js +0 -49
- 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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;IAAmD,CAAC;AAEtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,2CAAyC,CAAC;AAE/E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,oBAAoB
|
|
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
|
+
"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 +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"}
|