@r8s/flux-controller 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * r8s FluxCD Source Controller
4
+ *
5
+ * Renders r8s TSX manifests to YAML for FluxCD consumption.
6
+ */
7
+ export interface ControllerOptions {
8
+ source: string;
9
+ output: string;
10
+ entry?: string;
11
+ verbose?: boolean;
12
+ includeOperators?: boolean;
13
+ }
14
+ export interface RenderResult {
15
+ file: string;
16
+ success: boolean;
17
+ resources?: number;
18
+ operators?: number;
19
+ outputFile?: string;
20
+ error?: string;
21
+ }
22
+ /** Find all r8s entry files */
23
+ export declare function findEntryFiles(sourcePath: string, entryPattern?: string): string[];
24
+ /** Render a TSX file to YAML */
25
+ export declare function renderFile(filePath: string, outputDir: string, verbose?: boolean, includeOperators?: boolean): Promise<RenderResult>;
26
+ /** Convert resources array to YAML */
27
+ export declare function resourcesToYAML(resources: any[]): string;
28
+ /** Main controller function */
29
+ export declare function runController(options: ControllerOptions): Promise<RenderResult[]>;
30
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAMH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAkCD,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,SAAY,GAAG,MAAM,EAAE,CAsBrF;AAED,gCAAgC;AAChC,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,YAAY,CAAC,CAqFvB;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CASxD;AA8CD,+BAA+B;AAC/B,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAyDvF"}
@@ -0,0 +1,288 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * r8s FluxCD Source Controller
5
+ *
6
+ * Renders r8s TSX manifests to YAML for FluxCD consumption.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.findEntryFiles = findEntryFiles;
10
+ exports.renderFile = renderFile;
11
+ exports.resourcesToYAML = resourcesToYAML;
12
+ exports.runController = runController;
13
+ const child_process_1 = require("child_process");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ const log = {
17
+ info: (msg) => console.log('[r8s-controller] ' + msg),
18
+ error: (msg) => console.error('[r8s-controller] ERROR: ' + msg),
19
+ debug: (msg, verbose) => verbose && console.log('[r8s-controller] DEBUG: ' + msg),
20
+ };
21
+ /** Fetch operator manifests from URLs */
22
+ async function fetchOperatorManifests(operators) {
23
+ const manifests = [];
24
+ for (const op of operators) {
25
+ if (op.source?.type !== 'manifest' || !op.source?.url) {
26
+ continue;
27
+ }
28
+ try {
29
+ const response = await fetch(op.source.url);
30
+ if (!response.ok) {
31
+ throw new Error(`HTTP ${response.status}`);
32
+ }
33
+ const yaml = await response.text();
34
+ manifests.push(`# Operator: ${op.name} v${op.version}\n${yaml}`);
35
+ }
36
+ catch (error) {
37
+ log.error(`Failed to fetch operator ${op.name}: ${error.message}`);
38
+ // Continue without this operator — better to have partial output than nothing
39
+ }
40
+ }
41
+ return manifests;
42
+ }
43
+ /** Find all r8s entry files */
44
+ function findEntryFiles(sourcePath, entryPattern = 'r8s.tsx') {
45
+ const files = [];
46
+ function scan(dir) {
47
+ if (!(0, fs_1.existsSync)(dir))
48
+ return;
49
+ for (const entry of (0, fs_1.readdirSync)(dir)) {
50
+ const fullPath = (0, path_1.join)(dir, entry);
51
+ const stat = (0, fs_1.statSync)(fullPath);
52
+ if (stat.isDirectory()) {
53
+ if (entry !== 'node_modules' && !entry.startsWith('.') && entry !== 'dist') {
54
+ scan(fullPath);
55
+ }
56
+ }
57
+ else if (entry === entryPattern || entry.endsWith('.r8s.tsx')) {
58
+ files.push(fullPath);
59
+ }
60
+ }
61
+ }
62
+ scan(sourcePath);
63
+ return files;
64
+ }
65
+ /** Render a TSX file to YAML */
66
+ async function renderFile(filePath, outputDir, verbose, includeOperators) {
67
+ const startTime = Date.now();
68
+ const relativePath = (0, path_1.relative)(process.cwd(), filePath);
69
+ try {
70
+ log.debug('Rendering ' + relativePath + '...', verbose);
71
+ const script = [
72
+ "import { render } from '@r8s/core';",
73
+ 'async function main() {',
74
+ ' try {',
75
+ " const m = await import('" + filePath.replace(/\\/g, '/') + "');",
76
+ ' const Component = m.default || m;',
77
+ " if (typeof Component !== 'function') {",
78
+ " console.log(JSON.stringify({ error: 'Not a function' }));",
79
+ ' process.exit(1);',
80
+ ' }',
81
+ ' const result = render(Component());',
82
+ ' console.log(JSON.stringify({',
83
+ ' success: true,',
84
+ ' resources: result.resources.length,',
85
+ ' operators: result.operators?.length || 0,',
86
+ ' operatorList: result.operators || [],',
87
+ ' yaml: result.resources',
88
+ ' }));',
89
+ ' } catch (err) {',
90
+ ' console.log(JSON.stringify({ error: err.message }));',
91
+ ' process.exit(1);',
92
+ ' }',
93
+ '}',
94
+ 'main();',
95
+ ].join('\n');
96
+ const result = (0, child_process_1.execSync)('npx tsx --eval "' + script.replace(/"/g, '\\"') + '"', {
97
+ encoding: 'utf-8',
98
+ cwd: (0, path_1.dirname)(filePath),
99
+ timeout: 60000,
100
+ env: {
101
+ ...process.env,
102
+ NODE_PATH: (0, path_1.resolve)(process.cwd(), 'node_modules'),
103
+ },
104
+ });
105
+ const lines = result.trim().split('\n');
106
+ const jsonLine = lines.find((l) => l.startsWith('{')) || '{}';
107
+ const parsed = JSON.parse(jsonLine);
108
+ if (parsed.error) {
109
+ throw new Error(parsed.error);
110
+ }
111
+ // Fetch operator manifests only if requested
112
+ const operatorManifests = includeOperators && parsed.operatorList?.length > 0
113
+ ? await fetchOperatorManifests(parsed.operatorList)
114
+ : [];
115
+ const resourceYaml = resourcesToYAML(parsed.yaml || []);
116
+ const combinedYaml = operatorManifests.length > 0
117
+ ? operatorManifests.join('\n---\n') + '\n---\n' + resourceYaml
118
+ : resourceYaml;
119
+ const outputFile = (0, path_1.join)(outputDir, relativePath.replace(/\.tsx$/, '.yaml'));
120
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(outputFile), { recursive: true });
121
+ (0, fs_1.writeFileSync)(outputFile, combinedYaml);
122
+ const duration = Date.now() - startTime;
123
+ log.debug('Rendered ' + parsed.resources + ' resources in ' + duration + 'ms', verbose);
124
+ return {
125
+ file: filePath,
126
+ success: true,
127
+ resources: parsed.resources,
128
+ operators: parsed.operators,
129
+ outputFile,
130
+ };
131
+ }
132
+ catch (error) {
133
+ log.error('Failed to render ' + relativePath + ': ' + error.message);
134
+ return {
135
+ file: filePath,
136
+ success: false,
137
+ error: error.message,
138
+ };
139
+ }
140
+ }
141
+ /** Convert resources array to YAML */
142
+ function resourcesToYAML(resources) {
143
+ if (resources.length === 0) {
144
+ return '# No resources generated\n';
145
+ }
146
+ return (resources.map((resource) => ['---', ...serializeEntries(resource, 0)].join('\n')).join('\n') +
147
+ '\n');
148
+ }
149
+ /** Quote scalars that would otherwise be misparsed by YAML (colons, comments, globs, multiline, empty). */
150
+ function needsQuoting(value) {
151
+ return (value.includes(':') ||
152
+ value.includes('#') ||
153
+ value.startsWith('*') ||
154
+ value === '' ||
155
+ value.includes('\n'));
156
+ }
157
+ function formatScalar(value) {
158
+ if (typeof value === 'string' && needsQuoting(value)) {
159
+ return `"${value.replace(/"/g, '\\"')}"`;
160
+ }
161
+ return String(value);
162
+ }
163
+ function serializeArray(key, items, indent) {
164
+ const prefix = ' '.repeat(indent);
165
+ if (items.length === 0)
166
+ return [`${prefix}${key}: []`];
167
+ const lines = [`${prefix}${key}:`];
168
+ if (typeof items[0] === 'object') {
169
+ for (const item of items)
170
+ lines.push(`${prefix}-`, ...serializeEntries(item, indent + 1));
171
+ }
172
+ else {
173
+ for (const item of items)
174
+ lines.push(`${prefix}- ${JSON.stringify(item)}`);
175
+ }
176
+ return lines;
177
+ }
178
+ function serializeEntry(key, value, indent) {
179
+ const prefix = ' '.repeat(indent);
180
+ if (value === null || value === undefined)
181
+ return [];
182
+ if (Array.isArray(value))
183
+ return serializeArray(key, value, indent);
184
+ if (typeof value === 'object') {
185
+ return [`${prefix}${key}:`, ...serializeEntries(value, indent + 1)];
186
+ }
187
+ return [`${prefix}${key}: ${formatScalar(value)}`];
188
+ }
189
+ function serializeEntries(obj, indent) {
190
+ return Object.entries(obj).flatMap(([key, value]) => serializeEntry(key, value, indent));
191
+ }
192
+ /** Main controller function */
193
+ async function runController(options) {
194
+ const { source, output, entry = 'r8s.tsx', verbose, includeOperators } = options;
195
+ log.info('Starting r8s-controller');
196
+ log.info('Source: ' + source);
197
+ log.info('Output: ' + output);
198
+ log.info('Entry pattern: ' + entry);
199
+ if (includeOperators) {
200
+ log.info('Including operator manifests');
201
+ }
202
+ if (!(0, fs_1.existsSync)(source)) {
203
+ log.error('Source directory does not exist: ' + source);
204
+ return [];
205
+ }
206
+ const entryFiles = findEntryFiles(source, entry);
207
+ log.info('Found ' + entryFiles.length + ' entry file(s)');
208
+ if (entryFiles.length === 0) {
209
+ log.info('No entry files found, creating empty output');
210
+ (0, fs_1.mkdirSync)(output, { recursive: true });
211
+ (0, fs_1.writeFileSync)((0, path_1.join)(output, 'README.md'), '# r8s rendered output\n\nNo .tsx entry files found.\n');
212
+ return [];
213
+ }
214
+ const results = [];
215
+ for (const file of entryFiles) {
216
+ const result = await renderFile(file, output, verbose, includeOperators);
217
+ results.push(result);
218
+ if (result.success) {
219
+ log.info('OK ' +
220
+ (0, path_1.relative)(source, file) +
221
+ ' -> ' +
222
+ (0, path_1.relative)(output, result.outputFile) +
223
+ ' (' +
224
+ result.resources +
225
+ ' resources)');
226
+ }
227
+ else {
228
+ log.error('FAIL ' + (0, path_1.relative)(source, file) + ': ' + result.error);
229
+ }
230
+ }
231
+ const success = results.filter((r) => r.success).length;
232
+ const totalResources = results.reduce((sum, r) => sum + (r.resources || 0), 0);
233
+ const totalOperators = results.reduce((sum, r) => sum + (r.operators || 0), 0);
234
+ log.info('Rendered ' + success + '/' + results.length + ' files');
235
+ log.info('Total: ' + totalResources + ' resources, ' + totalOperators + ' operators');
236
+ return results;
237
+ }
238
+ /** CLI entry point */
239
+ if (require.main === module) {
240
+ const args = process.argv.slice(2);
241
+ const options = {};
242
+ for (const arg of args) {
243
+ if (arg.startsWith('--source=')) {
244
+ options.source = arg.split('=')[1];
245
+ }
246
+ else if (arg.startsWith('--output=')) {
247
+ options.output = arg.split('=')[1];
248
+ }
249
+ else if (arg.startsWith('--entry=')) {
250
+ options.entry = arg.split('=')[1];
251
+ }
252
+ else if (arg === '--include-operators') {
253
+ options.includeOperators = true;
254
+ }
255
+ else if (arg === '--verbose' || arg === '-v') {
256
+ options.verbose = true;
257
+ }
258
+ }
259
+ if (!options.source || !options.output) {
260
+ console.error(`
261
+ r8s-controller - FluxCD source controller for r8s TSX manifests
262
+
263
+ Usage:
264
+ r8s-controller --source=<path> --output=<path> [options]
265
+
266
+ Options:
267
+ --source=<path> Source directory with .tsx files
268
+ --output=<path> Output directory for rendered YAML
269
+ --entry=<pattern> Entry file pattern (default: r8s.tsx)
270
+ --include-operators Include operator manifests in output
271
+ --verbose, -v Enable verbose logging
272
+
273
+ Example:
274
+ r8s-controller --source=./k8s --output=./rendered --include-operators --verbose
275
+ `);
276
+ process.exit(1);
277
+ }
278
+ runController(options)
279
+ .then((results) => {
280
+ const failed = results.filter((r) => !r.success).length;
281
+ process.exit(failed > 0 ? 1 : 0);
282
+ })
283
+ .catch((err) => {
284
+ log.error('Controller failed: ' + err.message);
285
+ process.exit(1);
286
+ });
287
+ }
288
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './controller';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAkE,cAAc,cAAc,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /* entry point — the package main points at the built index.js */ __exportStar(require("./controller"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAiE,CAAC,+CAA4B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r8s/flux-controller",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "FluxCD source controller for r8s TSX manifests",
5
5
  "license": "MIT",
6
6
  "author": "Berget AI AB",
@@ -28,8 +28,8 @@
28
28
  "clean": "rm -rf dist tsconfig.tsbuildinfo"
29
29
  },
30
30
  "dependencies": {
31
- "@r8s/core": "^0.2.0",
32
- "@r8s/k8s-types": "^0.2.0",
31
+ "@r8s/core": "^0.3.0",
32
+ "@r8s/k8s-types": "^0.3.0",
33
33
  "tsx": "^4.0.0"
34
34
  },
35
35
  "devDependencies": {