@swovohq/fuel 0.2.2-alpha.86 → 0.2.2-alpha.88
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/bin/fuel.js +10 -31
- package/dist/bin/fuel.js.map +1 -1
- package/dist/commands/config-verify.d.ts.map +1 -1
- package/dist/commands/config-verify.js +14 -6
- package/dist/commands/config-verify.js.map +1 -1
- package/dist/commands/create-app.d.ts.map +1 -1
- package/dist/commands/create-app.js +1 -0
- package/dist/commands/create-app.js.map +1 -1
- package/dist/commands/infra-deploy.d.ts +4 -0
- package/dist/commands/infra-deploy.d.ts.map +1 -1
- package/dist/commands/infra-deploy.js +72 -43
- package/dist/commands/infra-deploy.js.map +1 -1
- package/dist/commands/infra-destroy.js +3 -3
- package/dist/commands/infra-destroy.js.map +1 -1
- package/dist/commands/infra-init.d.ts +91 -0
- package/dist/commands/infra-init.d.ts.map +1 -1
- package/dist/commands/infra-init.js +451 -78
- package/dist/commands/infra-init.js.map +1 -1
- package/dist/commands/infra-pull.d.ts.map +1 -1
- package/dist/commands/infra-pull.js +6 -5
- package/dist/commands/infra-pull.js.map +1 -1
- package/dist/infra/azure-defaults.d.ts +49 -0
- package/dist/infra/azure-defaults.d.ts.map +1 -0
- package/dist/infra/azure-defaults.js +52 -0
- package/dist/infra/azure-defaults.js.map +1 -0
- package/dist/infra/azure-keyvault-client.d.ts +4 -0
- package/dist/infra/azure-keyvault-client.d.ts.map +1 -0
- package/dist/infra/azure-keyvault-client.js +57 -0
- package/dist/infra/azure-keyvault-client.js.map +1 -0
- package/dist/infra/azure-rbac.d.ts +11 -0
- package/dist/infra/azure-rbac.d.ts.map +1 -0
- package/dist/infra/azure-rbac.js +47 -0
- package/dist/infra/azure-rbac.js.map +1 -0
- package/dist/infra/azure-state-storage.d.ts +20 -0
- package/dist/infra/azure-state-storage.d.ts.map +1 -0
- package/dist/infra/azure-state-storage.js +229 -0
- package/dist/infra/azure-state-storage.js.map +1 -0
- package/dist/infra/credentials.d.ts +2 -2
- package/dist/infra/credentials.d.ts.map +1 -1
- package/dist/infra/credentials.js +3 -2
- package/dist/infra/credentials.js.map +1 -1
- package/dist/infra/deployment-detect.d.ts +9 -0
- package/dist/infra/deployment-detect.d.ts.map +1 -0
- package/dist/infra/deployment-detect.js +53 -0
- package/dist/infra/deployment-detect.js.map +1 -0
- package/dist/infra/github-client.d.ts.map +1 -1
- package/dist/infra/github-client.js +1 -4
- package/dist/infra/github-client.js.map +1 -1
- package/dist/infra/orchestrator.d.ts.map +1 -1
- package/dist/infra/orchestrator.js +193 -65
- package/dist/infra/orchestrator.js.map +1 -1
- package/dist/infra/preflight.js +11 -11
- package/dist/infra/preflight.js.map +1 -1
- package/dist/infra/remote-secret.d.ts +14 -0
- package/dist/infra/remote-secret.d.ts.map +1 -0
- package/dist/infra/remote-secret.js +42 -0
- package/dist/infra/remote-secret.js.map +1 -0
- package/dist/infra/template-engine.d.ts +13 -0
- package/dist/infra/template-engine.d.ts.map +1 -1
- package/dist/infra/template-engine.js +106 -38
- package/dist/infra/template-engine.js.map +1 -1
- package/dist/infra/tofu-runner.d.ts +4 -3
- package/dist/infra/tofu-runner.d.ts.map +1 -1
- package/dist/infra/tofu-runner.js +36 -27
- package/dist/infra/tofu-runner.js.map +1 -1
- package/dist/infra/types.d.ts +239 -16
- package/dist/infra/types.d.ts.map +1 -1
- package/dist/infra/types.js +153 -17
- package/dist/infra/types.js.map +1 -1
- package/package.json +10 -2
- package/schema/fuel.schema.json +528 -83
|
@@ -41,13 +41,17 @@ exports.serializeTfvars = serializeTfvars;
|
|
|
41
41
|
exports.patchMainTf = patchMainTf;
|
|
42
42
|
exports.patchBackendTf = patchBackendTf;
|
|
43
43
|
exports.patchDefaultTfvars = patchDefaultTfvars;
|
|
44
|
+
exports.patchAzureBackendTf = patchAzureBackendTf;
|
|
45
|
+
exports.patchAzureDefaultTfvars = patchAzureDefaultTfvars;
|
|
44
46
|
exports.pruneUnusedModules = pruneUnusedModules;
|
|
47
|
+
exports.acrNameFor = acrNameFor;
|
|
45
48
|
exports.copyWorkflowFiles = copyWorkflowFiles;
|
|
46
49
|
exports.generateInfra = generateInfra;
|
|
47
50
|
const chalk_1 = __importDefault(require("chalk"));
|
|
48
51
|
const fs = __importStar(require("fs-extra"));
|
|
49
52
|
const path = __importStar(require("path"));
|
|
50
53
|
const s3_state_bucket_1 = require("./s3-state-bucket");
|
|
54
|
+
const azure_state_storage_1 = require("./azure-state-storage");
|
|
51
55
|
// Modules that must never be removed during pruning, regardless of main.tf references
|
|
52
56
|
const MODULES_DONT_REMOVE = ['secret-main'];
|
|
53
57
|
function slugify(name) {
|
|
@@ -116,7 +120,39 @@ async function patchDefaultTfvars(infraRoot, config, credentials) {
|
|
|
116
120
|
vars['aws_region'] = credentials.AWS_REGION;
|
|
117
121
|
vars['db_username'] = slugify(config.name);
|
|
118
122
|
vars['db_name'] = slugify(config.name);
|
|
119
|
-
vars['github_repo_name'] = `${config.name}-monorepo`;
|
|
123
|
+
vars['github_repo_name'] = config.github_repo_name ?? `${config.name}-monorepo`;
|
|
124
|
+
await fs.writeFile(filePath, serializeTfvars(vars), 'utf8');
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Patch backend.tf (azurerm backend): replace {resource_group_name}, {storage_account_name},
|
|
128
|
+
* {container_name} placeholders.
|
|
129
|
+
*/
|
|
130
|
+
async function patchAzureBackendTf(infraRoot, resourceGroupName, storageAccountName, containerName) {
|
|
131
|
+
const filePath = path.join(infraRoot, 'backend.tf');
|
|
132
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
133
|
+
const patched = content
|
|
134
|
+
.replaceAll('{resource_group_name}', resourceGroupName)
|
|
135
|
+
.replaceAll('{storage_account_name}', storageAccountName)
|
|
136
|
+
.replaceAll('{container_name}', containerName);
|
|
137
|
+
await fs.writeFile(filePath, patched, 'utf8');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Patch default.tfvars for the azure template: project_name, location, github_repo_name,
|
|
141
|
+
* db_username/db_name (used only when an app enables the Postgres engine).
|
|
142
|
+
*/
|
|
143
|
+
async function patchAzureDefaultTfvars(infraRoot, config) {
|
|
144
|
+
const filePath = path.join(infraRoot, 'default.tfvars');
|
|
145
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
146
|
+
const vars = parseTfvars(content);
|
|
147
|
+
const suffix = (0, s3_state_bucket_1.deriveSuffix)(config.name);
|
|
148
|
+
vars['project_name'] = config.name;
|
|
149
|
+
vars['location'] = config.location;
|
|
150
|
+
vars['db_username'] = slugify(config.name);
|
|
151
|
+
vars['db_name'] = slugify(config.name);
|
|
152
|
+
vars['github_repo_name'] = config.github_repo_name ?? `${config.name}-monorepo`;
|
|
153
|
+
vars['resource_group_name'] = (0, azure_state_storage_1.buildResourceGroupName)(config.name);
|
|
154
|
+
vars['key_vault_name'] = (0, azure_state_storage_1.buildKeyVaultName)(config.name, suffix);
|
|
155
|
+
vars['acr_name'] = acrNameFor(config.name);
|
|
120
156
|
await fs.writeFile(filePath, serializeTfvars(vars), 'utf8');
|
|
121
157
|
}
|
|
122
158
|
/**
|
|
@@ -141,6 +177,53 @@ async function pruneUnusedModules(infraRoot) {
|
|
|
141
177
|
}
|
|
142
178
|
}
|
|
143
179
|
}
|
|
180
|
+
/** Applies REPLACEME/DOCKERFILE/BUILDARGS/BRANCHREPLACE/PATHSREPLACE/SECRETNAME + any extra tokens to a workflow template. */
|
|
181
|
+
function applySubstitutions(template, name, dockerfile, buildEnv, branch, secretName, extraTokens = {}) {
|
|
182
|
+
const buildArgLines = buildEnv && Object.keys(buildEnv).length > 0
|
|
183
|
+
? Object.entries(buildEnv).map(([k, v]) => `${k}=${v}`)
|
|
184
|
+
: [];
|
|
185
|
+
const buildArgsIndent = template.match(/^(\s*)BUILDARGS$/m)?.[1] ?? '';
|
|
186
|
+
const buildArgs = buildArgLines.join(`\n${buildArgsIndent}`);
|
|
187
|
+
const appDir = dockerfile.split('/').slice(0, -1).join('/');
|
|
188
|
+
const pathsIndent = template.match(/^(\s*- )PATHSREPLACE$/m)?.[1] ?? ' - ';
|
|
189
|
+
const pathsList = [
|
|
190
|
+
...(appDir ? [`'${appDir}/**'`] : []),
|
|
191
|
+
`'packages/**'`,
|
|
192
|
+
`'infra/**'`,
|
|
193
|
+
`'yarn.lock'`,
|
|
194
|
+
`'turbo.json'`,
|
|
195
|
+
`'.github/workflows/${name}.yaml'`
|
|
196
|
+
];
|
|
197
|
+
const pathsValue = pathsList.join(`\n${pathsIndent}`);
|
|
198
|
+
let result = template
|
|
199
|
+
.replaceAll('REPLACEME', name)
|
|
200
|
+
.replaceAll('DOCKERFILE', dockerfile)
|
|
201
|
+
.replaceAll('BUILDARGS', buildArgs)
|
|
202
|
+
.replaceAll('BRANCHREPLACE', branch)
|
|
203
|
+
.replaceAll('PATHSREPLACE', pathsValue)
|
|
204
|
+
.replaceAll('SECRETNAME', secretName);
|
|
205
|
+
for (const [token, value] of Object.entries(extraTokens)) {
|
|
206
|
+
result = result.replaceAll(token, value);
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
function acrNameFor(projectName) {
|
|
211
|
+
return `${projectName.replace(/[^a-z0-9]/gi, '').toLowerCase()}acr`.slice(0, 50);
|
|
212
|
+
}
|
|
213
|
+
/** Copies build_and_deploy.yml (Container Apps) for the azure deployment. */
|
|
214
|
+
async function copyAzureWorkflows(workflowsDir, config, templateDir) {
|
|
215
|
+
const containerAppTemplate = await fs.readFile(path.join(templateDir, 'build_and_deploy.yml'), 'utf8');
|
|
216
|
+
const resourceGroup = (0, azure_state_storage_1.buildResourceGroupName)(config.name);
|
|
217
|
+
const acrName = acrNameFor(config.name);
|
|
218
|
+
for (const app of config.apps) {
|
|
219
|
+
const content = applySubstitutions(containerAppTemplate, app.name, app.dockerfile ?? 'Dockerfile', app.build_env, app.branch ?? 'main', `${app.name}-secrets`, { ACR_NAME: acrName, RESOURCE_GROUP: resourceGroup, CONTAINER_APP_NAME: app.name });
|
|
220
|
+
await fs.writeFile(path.join(workflowsDir, `${app.name}.yaml`), content, 'utf8');
|
|
221
|
+
for (const worker of app.workers ?? []) {
|
|
222
|
+
const workerContent = applySubstitutions(containerAppTemplate, worker.name, worker.dockerfile ?? 'Dockerfile', app.build_env, app.branch ?? 'main', `${app.name}-secrets`, { ACR_NAME: acrName, RESOURCE_GROUP: resourceGroup, CONTAINER_APP_NAME: worker.name });
|
|
223
|
+
await fs.writeFile(path.join(workflowsDir, `${worker.name}.yaml`), workerContent, 'utf8');
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
144
227
|
/**
|
|
145
228
|
* Copy GitHub Actions workflow files into <projectDir>/.github/workflows/.
|
|
146
229
|
* Replaces what Terraform's github_repository_file resources used to do.
|
|
@@ -148,39 +231,14 @@ async function pruneUnusedModules(infraRoot) {
|
|
|
148
231
|
async function copyWorkflowFiles(projectDir, config, infraSrcRoot) {
|
|
149
232
|
const workflowsDir = path.join(projectDir, '.github', 'workflows');
|
|
150
233
|
await fs.ensureDir(workflowsDir);
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
const testsTemplatePath = path.join(infraSrcRoot, 'templates', 'ecs', 'workflows', 'tests.yml');
|
|
154
|
-
const deployTemplate = await fs.readFile(deployTemplatePath, 'utf8');
|
|
155
|
-
const testsContent = await fs.readFile(testsTemplatePath, 'utf8');
|
|
156
|
-
// Copy tests.yml as-is
|
|
234
|
+
const templateDir = path.join(infraSrcRoot, 'templates', config.deployment, 'workflows');
|
|
235
|
+
const testsContent = await fs.readFile(path.join(templateDir, 'tests.yml'), 'utf8');
|
|
157
236
|
await fs.writeFile(path.join(workflowsDir, 'tests.yml'), testsContent, 'utf8');
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
? Object.entries(buildEnv).map(([k, v]) => `${k}=${v}`)
|
|
162
|
-
: [];
|
|
163
|
-
const buildArgsIndent = template.match(/^(\s*)BUILDARGS$/m)?.[1] ?? '';
|
|
164
|
-
const buildArgs = buildArgLines.join(`\n${buildArgsIndent}`);
|
|
165
|
-
const appDir = dockerfile.split('/').slice(0, -1).join('/');
|
|
166
|
-
const pathsIndent = template.match(/^(\s*- )PATHSREPLACE$/m)?.[1] ?? ' - ';
|
|
167
|
-
const pathsList = [
|
|
168
|
-
...(appDir ? [`'${appDir}/**'`] : []),
|
|
169
|
-
`'packages/**'`,
|
|
170
|
-
`'infra/**'`,
|
|
171
|
-
`'yarn.lock'`,
|
|
172
|
-
`'turbo.json'`,
|
|
173
|
-
`'.github/workflows/${name}.yaml'`
|
|
174
|
-
];
|
|
175
|
-
const pathsValue = pathsList.join(`\n${pathsIndent}`);
|
|
176
|
-
return template
|
|
177
|
-
.replaceAll('REPLACEME', name)
|
|
178
|
-
.replaceAll('DOCKERFILE', dockerfile)
|
|
179
|
-
.replaceAll('BUILDARGS', buildArgs)
|
|
180
|
-
.replaceAll('BRANCHREPLACE', branch)
|
|
181
|
-
.replaceAll('PATHSREPLACE', pathsValue)
|
|
182
|
-
.replaceAll('SECRETNAME', secretName);
|
|
237
|
+
if (config.deployment === 'azure') {
|
|
238
|
+
await copyAzureWorkflows(workflowsDir, config, templateDir);
|
|
239
|
+
return;
|
|
183
240
|
}
|
|
241
|
+
const deployTemplate = await fs.readFile(path.join(templateDir, 'build_and_deploy.yml'), 'utf8');
|
|
184
242
|
// Write a workflow file per app
|
|
185
243
|
for (const app of config.apps) {
|
|
186
244
|
const content = applySubstitutions(deployTemplate, app.name, app.dockerfile ?? 'Dockerfile', app.build_env, app.branch ?? 'main', `${app.name}-secrets`);
|
|
@@ -205,14 +263,14 @@ async function generateInfra(targetRoot, config, credentials, infraSourcePath) {
|
|
|
205
263
|
process.env.FUEL_INFRA_PATH ??
|
|
206
264
|
path.resolve(__dirname, '..', '..', '..', 'infra');
|
|
207
265
|
const infraRoot = path.join(targetRoot, 'infra');
|
|
208
|
-
const templateSrc = path.join(infraSourceRoot, 'templates',
|
|
266
|
+
const templateSrc = path.join(infraSourceRoot, 'templates', config.deployment);
|
|
209
267
|
const modulesSrc = path.join(infraSourceRoot, 'modules');
|
|
210
268
|
if (!(await fs.pathExists(templateSrc))) {
|
|
211
269
|
throw new Error(`Template source not found: ${templateSrc}. ` +
|
|
212
270
|
`Set FUEL_INFRA_PATH env var or ensure packages/infra exists in the monorepo.`);
|
|
213
271
|
}
|
|
214
272
|
console.log(chalk_1.default.cyan(' Generating infra folder...'));
|
|
215
|
-
// Step 1: Copy all
|
|
273
|
+
// Step 1: Copy all template files into <project>/infra/ (excluding workflows/ — handled in step 7)
|
|
216
274
|
await fs.copy(templateSrc, infraRoot, {
|
|
217
275
|
filter: (src) => !src.includes(`${path.sep}workflows`)
|
|
218
276
|
});
|
|
@@ -220,11 +278,21 @@ async function generateInfra(targetRoot, config, credentials, infraSourcePath) {
|
|
|
220
278
|
await fs.copy(modulesSrc, path.join(infraRoot, 'modules'));
|
|
221
279
|
// Step 3: Patch main.tf — replace ../../modules with ./modules
|
|
222
280
|
await patchMainTf(infraRoot);
|
|
223
|
-
// Step 4: Patch backend.tf — replace {project_name}, {aws_region}, and {unique_suffix}
|
|
224
281
|
const suffix = (0, s3_state_bucket_1.deriveSuffix)(config.name);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
282
|
+
if (config.deployment === 'azure') {
|
|
283
|
+
// Step 4 (azure): Patch backend.tf — replace {resource_group_name}, {storage_account_name}, {container_name}
|
|
284
|
+
const resourceGroupName = (0, azure_state_storage_1.buildResourceGroupName)(config.name);
|
|
285
|
+
const storageAccountName = (0, azure_state_storage_1.buildStateStorageAccountName)(config.name, suffix);
|
|
286
|
+
await patchAzureBackendTf(infraRoot, resourceGroupName, storageAccountName, azure_state_storage_1.STATE_CONTAINER_NAME);
|
|
287
|
+
// Step 5 (azure): Patch default.tfvars — fill project_name, location, github_repo_name
|
|
288
|
+
await patchAzureDefaultTfvars(infraRoot, config);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// Step 4: Patch backend.tf — replace {project_name}, {aws_region}, and {unique_suffix}
|
|
292
|
+
await patchBackendTf(infraRoot, config.name, credentials.AWS_REGION, suffix);
|
|
293
|
+
// Step 5: Patch default.tfvars — fill ssl, project_name, aws_region, db_password
|
|
294
|
+
await patchDefaultTfvars(infraRoot, config, credentials);
|
|
295
|
+
}
|
|
228
296
|
// Step 6: Prune modules not referenced in patched main.tf
|
|
229
297
|
await pruneUnusedModules(infraRoot);
|
|
230
298
|
// Step 7: Copy GitHub Actions workflow files into <project>/.github/workflows/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/infra/template-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/infra/template-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Credentials } from './types';
|
|
1
|
+
import { Credentials, Deployment } from './types';
|
|
2
2
|
export interface TofuRunResult {
|
|
3
3
|
success: boolean;
|
|
4
4
|
outputs: Record<string, {
|
|
@@ -16,8 +16,9 @@ export declare class TofuApplyError extends Error {
|
|
|
16
16
|
}
|
|
17
17
|
export interface TofuSequenceOptions {
|
|
18
18
|
planOnly?: boolean;
|
|
19
|
+
deployment?: Deployment;
|
|
19
20
|
}
|
|
20
|
-
export declare function buildDestroyArgs(credentials: Credentials, tofuVars: TofuVars): string[];
|
|
21
|
-
export declare function runTofuDestroy(infraDir: string, credentials: Credentials, tofuVars: TofuVars): Promise<void>;
|
|
21
|
+
export declare function buildDestroyArgs(credentials: Credentials, tofuVars: TofuVars, deployment?: Deployment): string[];
|
|
22
|
+
export declare function runTofuDestroy(infraDir: string, credentials: Credentials, tofuVars: TofuVars, deployment?: Deployment): Promise<void>;
|
|
22
23
|
export declare function runTofuApply(infraDir: string, credentials: Credentials, tofuVars?: TofuVars, options?: TofuSequenceOptions): Promise<TofuRunResult>;
|
|
23
24
|
//# sourceMappingURL=tofu-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tofu-runner.d.ts","sourceRoot":"","sources":["../../src/infra/tofu-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"tofu-runner.d.ts","sourceRoot":"","sources":["../../src/infra/tofu-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;CAC7D;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,cAAe,SAAQ,KAAK;;CAKxC;AAiCD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAuHD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,UAAU,GAAE,UAAkB,GAC7B,MAAM,EAAE,CAMV;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,UAAU,GAAE,UAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
|
|
@@ -29,37 +29,45 @@ const TRANSIENT_PATTERNS = [
|
|
|
29
29
|
function isTransient(output) {
|
|
30
30
|
return TRANSIENT_PATTERNS.some((pattern) => pattern.test(output));
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function buildProviderEnv(deployment, credentials) {
|
|
33
|
+
if (deployment === 'azure') {
|
|
34
|
+
return {
|
|
35
|
+
ARM_SUBSCRIPTION_ID: credentials.AZURE_SUBSCRIPTION_ID,
|
|
36
|
+
ARM_TENANT_ID: credentials.AZURE_TENANT_ID,
|
|
37
|
+
ARM_CLIENT_ID: credentials.AZURE_CLIENT_ID,
|
|
38
|
+
ARM_CLIENT_SECRET: credentials.AZURE_CLIENT_SECRET,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
33
41
|
return {
|
|
34
42
|
AWS_ACCESS_KEY_ID: credentials.AWS_ACCESS_KEY_ID,
|
|
35
43
|
AWS_SECRET_ACCESS_KEY: credentials.AWS_SECRET_ACCESS_KEY,
|
|
36
44
|
AWS_REGION: credentials.AWS_REGION,
|
|
37
45
|
};
|
|
38
46
|
}
|
|
39
|
-
function buildVarArgs(credentials, tofuVars) {
|
|
40
|
-
const args = [
|
|
41
|
-
|
|
42
|
-
`-var=
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`-var=github_organization=${credentials.GITHUB_ORGANIZATION}
|
|
46
|
-
|
|
47
|
+
function buildVarArgs(deployment, credentials, tofuVars) {
|
|
48
|
+
const args = ['-var-file=default.tfvars'];
|
|
49
|
+
if (deployment === 'azure') {
|
|
50
|
+
args.push(`-var=azure_subscription_id=${credentials.AZURE_SUBSCRIPTION_ID}`, `-var=azure_tenant_id=${credentials.AZURE_TENANT_ID}`, `-var=azure_client_id=${credentials.AZURE_CLIENT_ID}`, `-var=azure_client_secret=${credentials.AZURE_CLIENT_SECRET}`, `-var=github_organization=${credentials.GITHUB_ORGANIZATION}`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
args.push(`-var=aws_access_key_id=${credentials.AWS_ACCESS_KEY_ID}`, `-var=aws_secret_access_key=${credentials.AWS_SECRET_ACCESS_KEY}`, `-var=aws_region=${credentials.AWS_REGION}`, `-var=github_organization=${credentials.GITHUB_ORGANIZATION}`);
|
|
54
|
+
}
|
|
47
55
|
if (tofuVars) {
|
|
48
56
|
args.push(`-var=db_username=${tofuVars.db_username}`, `-var=db_name=${tofuVars.db_name}`, `-var=github_repo_name=${tofuVars.github_repo_name}`);
|
|
49
57
|
}
|
|
50
58
|
return args;
|
|
51
59
|
}
|
|
52
|
-
function buildApplyArgs(credentials, tofuVars) {
|
|
60
|
+
function buildApplyArgs(deployment, credentials, tofuVars) {
|
|
53
61
|
return [
|
|
54
62
|
'apply',
|
|
55
63
|
'-auto-approve',
|
|
56
|
-
...buildVarArgs(credentials, tofuVars),
|
|
64
|
+
...buildVarArgs(deployment, credentials, tofuVars),
|
|
57
65
|
];
|
|
58
66
|
}
|
|
59
|
-
function buildPlanArgs(credentials, tofuVars) {
|
|
67
|
+
function buildPlanArgs(deployment, credentials, tofuVars) {
|
|
60
68
|
return [
|
|
61
69
|
'plan',
|
|
62
|
-
...buildVarArgs(credentials, tofuVars),
|
|
70
|
+
...buildVarArgs(deployment, credentials, tofuVars),
|
|
63
71
|
];
|
|
64
72
|
}
|
|
65
73
|
async function runApplyWithRetry(args, cwd, env) {
|
|
@@ -103,18 +111,18 @@ async function collectOutputs(infraDir, env) {
|
|
|
103
111
|
});
|
|
104
112
|
});
|
|
105
113
|
}
|
|
106
|
-
function buildDestroyArgs(credentials, tofuVars) {
|
|
114
|
+
function buildDestroyArgs(credentials, tofuVars, deployment = 'ecs') {
|
|
107
115
|
return [
|
|
108
116
|
'destroy',
|
|
109
117
|
'-auto-approve',
|
|
110
|
-
...buildVarArgs(credentials, tofuVars),
|
|
118
|
+
...buildVarArgs(deployment, credentials, tofuVars),
|
|
111
119
|
];
|
|
112
120
|
}
|
|
113
|
-
async function runTofuDestroy(infraDir, credentials, tofuVars) {
|
|
114
|
-
const
|
|
121
|
+
async function runTofuDestroy(infraDir, credentials, tofuVars, deployment = 'ecs') {
|
|
122
|
+
const providerEnv = buildProviderEnv(deployment, credentials);
|
|
115
123
|
// Initialize OpenTofu
|
|
116
124
|
console.log(chalk_1.default.cyan('--- Initializing OpenTofu ---'));
|
|
117
|
-
const { code: initCode } = await (0, subprocess_1.spawnStreaming)(['init'], infraDir,
|
|
125
|
+
const { code: initCode } = await (0, subprocess_1.spawnStreaming)(['init'], infraDir, providerEnv);
|
|
118
126
|
if (initCode !== 0) {
|
|
119
127
|
console.error(chalk_1.default.red('✗ OpenTofu init failed'));
|
|
120
128
|
process.exit(1);
|
|
@@ -122,18 +130,19 @@ async function runTofuDestroy(infraDir, credentials, tofuVars) {
|
|
|
122
130
|
console.log(chalk_1.default.green('✓ OpenTofu initialized'));
|
|
123
131
|
// Run destroy
|
|
124
132
|
console.log(chalk_1.default.cyan('--- Destroying infrastructure ---'));
|
|
125
|
-
const args = buildDestroyArgs(credentials, tofuVars);
|
|
126
|
-
const { code } = await (0, subprocess_1.spawnStreaming)(args, infraDir,
|
|
133
|
+
const args = buildDestroyArgs(credentials, tofuVars, deployment);
|
|
134
|
+
const { code } = await (0, subprocess_1.spawnStreaming)(args, infraDir, providerEnv);
|
|
127
135
|
if (code !== 0) {
|
|
128
136
|
throw new Error('OpenTofu destroy failed. Check the output above for details.');
|
|
129
137
|
}
|
|
130
138
|
console.log(chalk_1.default.green('✓ Infrastructure destroyed'));
|
|
131
139
|
}
|
|
132
140
|
async function runTofuApply(infraDir, credentials, tofuVars, options) {
|
|
133
|
-
const
|
|
141
|
+
const deployment = options?.deployment ?? 'ecs';
|
|
142
|
+
const providerEnv = buildProviderEnv(deployment, credentials);
|
|
134
143
|
// Initialize OpenTofu
|
|
135
144
|
console.log(chalk_1.default.cyan('--- Initializing OpenTofu ---'));
|
|
136
|
-
const { code: initCode } = await (0, subprocess_1.spawnStreaming)(['init'], infraDir,
|
|
145
|
+
const { code: initCode } = await (0, subprocess_1.spawnStreaming)(['init'], infraDir, providerEnv);
|
|
137
146
|
if (initCode !== 0) {
|
|
138
147
|
console.error(chalk_1.default.red('✗ OpenTofu init failed'));
|
|
139
148
|
process.exit(1);
|
|
@@ -143,16 +152,16 @@ async function runTofuApply(infraDir, credentials, tofuVars, options) {
|
|
|
143
152
|
console.log(chalk_1.default.cyan(`--- ${planOnly ? 'Planning' : 'Applying'} infrastructure ---`));
|
|
144
153
|
try {
|
|
145
154
|
const args = planOnly
|
|
146
|
-
? buildPlanArgs(credentials, tofuVars)
|
|
147
|
-
: buildApplyArgs(credentials, tofuVars);
|
|
155
|
+
? buildPlanArgs(deployment, credentials, tofuVars)
|
|
156
|
+
: buildApplyArgs(deployment, credentials, tofuVars);
|
|
148
157
|
if (planOnly) {
|
|
149
|
-
const { code } = await (0, subprocess_1.spawnStreaming)(args, infraDir,
|
|
158
|
+
const { code } = await (0, subprocess_1.spawnStreaming)(args, infraDir, providerEnv);
|
|
150
159
|
if (code !== 0) {
|
|
151
160
|
throw new Error('Plan failed');
|
|
152
161
|
}
|
|
153
162
|
}
|
|
154
163
|
else {
|
|
155
|
-
await runApplyWithRetry(args, infraDir,
|
|
164
|
+
await runApplyWithRetry(args, infraDir, providerEnv);
|
|
156
165
|
}
|
|
157
166
|
console.log(chalk_1.default.green(`✓ ${planOnly ? 'Plan' : 'Apply'} complete`));
|
|
158
167
|
}
|
|
@@ -165,7 +174,7 @@ async function runTofuApply(infraDir, credentials, tofuVars, options) {
|
|
|
165
174
|
outputs: null,
|
|
166
175
|
};
|
|
167
176
|
if (!planOnly) {
|
|
168
|
-
result.outputs = await collectOutputs(infraDir,
|
|
177
|
+
result.outputs = await collectOutputs(infraDir, providerEnv);
|
|
169
178
|
}
|
|
170
179
|
return result;
|
|
171
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tofu-runner.js","sourceRoot":"","sources":["../../src/infra/tofu-runner.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"tofu-runner.js","sourceRoot":"","sources":["../../src/infra/tofu-runner.ts"],"names":[],"mappings":"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"}
|