@swovohq/fuel 0.2.2-alpha.87 → 0.2.2-alpha.89
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/README.md +65 -2
- 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 +10 -3
- 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 +75 -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 +510 -80
- 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 +8 -4
- 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 +6 -0
- package/dist/infra/github-client.d.ts.map +1 -1
- package/dist/infra/github-client.js +31 -4
- package/dist/infra/github-client.js.map +1 -1
- package/dist/infra/github-token-link.d.ts +4 -0
- package/dist/infra/github-token-link.d.ts.map +1 -0
- package/dist/infra/github-token-link.js +28 -0
- package/dist/infra/github-token-link.js.map +1 -0
- package/dist/infra/orchestrator.d.ts +4 -1
- package/dist/infra/orchestrator.d.ts.map +1 -1
- package/dist/infra/orchestrator.js +203 -66
- package/dist/infra/orchestrator.js.map +1 -1
- package/dist/infra/preflight.d.ts.map +1 -1
- package/dist/infra/preflight.js +17 -9
- 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 -4
- package/dist/infra/template-engine.d.ts.map +1 -1
- package/dist/infra/template-engine.js +141 -49
- 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 +206 -18
- package/dist/infra/types.js.map +1 -1
- package/dist/infra-templates/TODO-azure-prod.md +119 -0
- package/dist/infra-templates/modules/azure-container-app/main.tf +124 -0
- package/dist/infra-templates/modules/azure-container-app/outputs.tf +24 -0
- package/dist/infra-templates/modules/azure-container-app/variables.tf +80 -0
- package/dist/infra-templates/modules/azure-container-apps-environment/main.tf +18 -0
- package/dist/infra-templates/modules/azure-container-apps-environment/outputs.tf +14 -0
- package/dist/infra-templates/modules/azure-container-apps-environment/variables.tf +24 -0
- package/dist/infra-templates/modules/azure-container-registry/main.tf +10 -0
- package/dist/infra-templates/modules/azure-container-registry/outputs.tf +14 -0
- package/dist/infra-templates/modules/azure-container-registry/variables.tf +20 -0
- package/dist/infra-templates/modules/azure-front-door/main.tf +80 -0
- package/dist/infra-templates/modules/azure-front-door/outputs.tf +20 -0
- package/dist/infra-templates/modules/azure-front-door/variables.tf +26 -0
- package/dist/infra-templates/modules/azure-github-oidc/main.tf +48 -0
- package/dist/infra-templates/modules/azure-github-oidc/outputs.tf +9 -0
- package/dist/infra-templates/modules/azure-github-oidc/variables.tf +69 -0
- package/dist/infra-templates/modules/azure-key-vault/main.tf +21 -0
- package/dist/infra-templates/modules/azure-key-vault/outputs.tf +11 -0
- package/dist/infra-templates/modules/azure-key-vault/variables.tf +43 -0
- package/dist/infra-templates/modules/azure-monitor/main.tf +29 -0
- package/dist/infra-templates/modules/azure-monitor/outputs.tf +17 -0
- package/dist/infra-templates/modules/azure-monitor/variables.tf +32 -0
- package/dist/infra-templates/modules/azure-network/main.tf +134 -0
- package/dist/infra-templates/modules/azure-network/outputs.tf +44 -0
- package/dist/infra-templates/modules/azure-network/variables.tf +56 -0
- package/dist/infra-templates/modules/azure-postgresql-flexible/main.tf +34 -0
- package/dist/infra-templates/modules/azure-postgresql-flexible/outputs.tf +20 -0
- package/dist/infra-templates/modules/azure-postgresql-flexible/variables.tf +54 -0
- package/dist/infra-templates/modules/azure-redis-cache/main.tf +32 -0
- package/dist/infra-templates/modules/azure-redis-cache/outputs.tf +15 -0
- package/dist/infra-templates/modules/azure-redis-cache/variables.tf +30 -0
- package/dist/infra-templates/modules/azure-resource-group/main.tf +5 -0
- package/dist/infra-templates/modules/azure-resource-group/outputs.tf +11 -0
- package/dist/infra-templates/modules/azure-resource-group/variables.tf +16 -0
- package/dist/infra-templates/modules/azure-sql-database/main.tf +63 -0
- package/dist/infra-templates/modules/azure-sql-database/outputs.tf +20 -0
- package/dist/infra-templates/modules/azure-sql-database/variables.tf +78 -0
- package/dist/infra-templates/modules/azure-storage-account/main.tf +13 -0
- package/dist/infra-templates/modules/azure-storage-account/outputs.tf +16 -0
- package/dist/infra-templates/modules/azure-storage-account/variables.tf +38 -0
- package/dist/infra-templates/modules/cloud-watch/event-bridge.tf +15 -0
- package/dist/infra-templates/modules/cloud-watch/lambda.tf +84 -0
- package/dist/infra-templates/modules/cloud-watch/lambda_function.zip +0 -0
- package/dist/infra-templates/modules/cloud-watch/lambda_function_deploy.zip +0 -0
- package/dist/infra-templates/modules/cloud-watch/main.tf +156 -0
- package/dist/infra-templates/modules/cloud-watch/sns.tf +3 -0
- package/dist/infra-templates/modules/cloud-watch/variables.tf +38 -0
- package/dist/infra-templates/modules/ecs-core/alb.tf +126 -0
- package/dist/infra-templates/modules/ecs-core/cloudwatch.tf +48 -0
- package/dist/infra-templates/modules/ecs-core/iam.tf +95 -0
- package/dist/infra-templates/modules/ecs-core/main.tf +12 -0
- package/dist/infra-templates/modules/ecs-core/outputs.tf +44 -0
- package/dist/infra-templates/modules/ecs-core/secrets.tf +9 -0
- package/dist/infra-templates/modules/ecs-core/security_groups.tf +73 -0
- package/dist/infra-templates/modules/ecs-core/variables.tf +96 -0
- package/dist/infra-templates/modules/ecs-service/ecs_autoscaling.tf +51 -0
- package/dist/infra-templates/modules/ecs-service/ecs_service.tf +39 -0
- package/dist/infra-templates/modules/ecs-service/ecs_task_definition.tf +56 -0
- package/dist/infra-templates/modules/ecs-service/variables.tf +170 -0
- package/dist/infra-templates/modules/elastic-container-registry/main.tf +32 -0
- package/dist/infra-templates/modules/elastic-container-registry/outputs.tf +9 -0
- package/dist/infra-templates/modules/elastic-container-registry/variables.tf +25 -0
- package/dist/infra-templates/modules/github-oidc-role/main.tf +46 -0
- package/dist/infra-templates/modules/github-oidc-role/outputs.tf +4 -0
- package/dist/infra-templates/modules/github-oidc-role/variables.tf +11 -0
- package/dist/infra-templates/modules/guardduty/main.tf +8 -0
- package/dist/infra-templates/modules/iam/main.tf +205 -0
- package/dist/infra-templates/modules/iam/outputs.tf +3 -0
- package/dist/infra-templates/modules/iam/variables.tf +4 -0
- package/dist/infra-templates/modules/random-key/main.tf +11 -0
- package/dist/infra-templates/modules/random-key/outputs.tf +4 -0
- package/dist/infra-templates/modules/random-key/variables.tf +10 -0
- package/dist/infra-templates/modules/redis/main.tf +47 -0
- package/dist/infra-templates/modules/redis/outputs.tf +8 -0
- package/dist/infra-templates/modules/redis/variables.tf +20 -0
- package/dist/infra-templates/modules/relational-database-service/main.tf +44 -0
- package/dist/infra-templates/modules/relational-database-service/outputs.tf +13 -0
- package/dist/infra-templates/modules/relational-database-service/security-group.tf +15 -0
- package/dist/infra-templates/modules/relational-database-service/variables.tf +50 -0
- package/dist/infra-templates/modules/secret/main.tf +14 -0
- package/dist/infra-templates/modules/secret/outputs.tf +3 -0
- package/dist/infra-templates/modules/secret/variables.tf +8 -0
- package/dist/infra-templates/modules/simple-storage-service/main.tf +28 -0
- package/dist/infra-templates/modules/simple-storage-service/variables.tf +4 -0
- package/dist/infra-templates/modules/vpc/data.tf +2 -0
- package/dist/infra-templates/modules/vpc/main.tf +76 -0
- package/dist/infra-templates/modules/vpc/outputs.tf +23 -0
- package/dist/infra-templates/modules/vpc/variables.tf +5 -0
- package/dist/infra-templates/package.json +6 -0
- package/dist/infra-templates/templates/azure/MANUAL_DEPLOY.md +168 -0
- package/dist/infra-templates/templates/azure/backend.tf +8 -0
- package/dist/infra-templates/templates/azure/data.tf +21 -0
- package/dist/infra-templates/templates/azure/default.tfvars +0 -0
- package/dist/infra-templates/templates/azure/locals.tf +116 -0
- package/dist/infra-templates/templates/azure/main.tf +421 -0
- package/dist/infra-templates/templates/azure/outputs.tf +40 -0
- package/dist/infra-templates/templates/azure/providers.tf +65 -0
- package/dist/infra-templates/templates/azure/variables.tf +69 -0
- package/dist/infra-templates/templates/azure/workflows/build_and_deploy.yml +155 -0
- package/dist/infra-templates/templates/azure/workflows/tests.yml +63 -0
- package/dist/infra-templates/templates/ecs/README.md +225 -0
- package/dist/infra-templates/templates/ecs/backend.tf +7 -0
- package/dist/infra-templates/templates/ecs/data.tf +6 -0
- package/dist/infra-templates/templates/ecs/default.tfvars +1 -0
- package/dist/infra-templates/templates/ecs/locals.tf +97 -0
- package/dist/infra-templates/templates/ecs/main.tf +185 -0
- package/dist/infra-templates/templates/ecs/outputs.tf +42 -0
- package/dist/infra-templates/templates/ecs/providers.tf +21 -0
- package/dist/infra-templates/templates/ecs/variables.tf +105 -0
- package/dist/infra-templates/templates/ecs/workflows/build_and_deploy.yml +188 -0
- package/dist/infra-templates/templates/ecs/workflows/tests.yml +65 -0
- package/package.json +10 -2
- package/schema/fuel.schema.json +570 -91
|
@@ -44,38 +44,36 @@ const fs = __importStar(require("fs-extra"));
|
|
|
44
44
|
const chalk_1 = __importDefault(require("chalk"));
|
|
45
45
|
const config_loader_1 = require("../infra/config-loader");
|
|
46
46
|
const credentials_1 = require("../infra/credentials");
|
|
47
|
-
const
|
|
47
|
+
const remote_secret_1 = require("../infra/remote-secret");
|
|
48
|
+
const github_client_1 = require("../infra/github-client");
|
|
48
49
|
const preflight_1 = require("../infra/preflight");
|
|
49
50
|
const template_engine_1 = require("../infra/template-engine");
|
|
50
51
|
const orchestrator_1 = require("../infra/orchestrator");
|
|
51
52
|
const config_writer_1 = require("../infra/config-writer");
|
|
52
53
|
const s3_state_bucket_1 = require("../infra/s3-state-bucket");
|
|
54
|
+
const azure_state_storage_1 = require("../infra/azure-state-storage");
|
|
55
|
+
const deployment_detect_1 = require("../infra/deployment-detect");
|
|
56
|
+
const azure_defaults_1 = require("../infra/azure-defaults");
|
|
53
57
|
const tofu_runner_1 = require("../infra/tofu-runner");
|
|
58
|
+
const template_source_1 = require("../engines/template-source");
|
|
54
59
|
function diffInfraConfigs(existing, incoming) {
|
|
55
60
|
const diffs = [];
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
const { apps: existingAppsRaw, ...existingRest } = existing;
|
|
62
|
+
const { apps: _incomingApps, ...incomingRest } = incoming;
|
|
63
|
+
// Only walk keys the incoming config actually has — `existing` (the remote secret) carries
|
|
64
|
+
// orchestrator-managed metadata (e.g. seed, aws_region, github_org) that never round-trips
|
|
65
|
+
// through fuel.yml/InfraConfig, so comparing the union would flag it as "removed" every time.
|
|
66
|
+
for (const key of Object.keys(incomingRest)) {
|
|
67
|
+
diffValue(diffs, key, existingRest[key], incomingRest[key]);
|
|
60
68
|
}
|
|
61
|
-
const existingApps =
|
|
69
|
+
const existingApps = existingAppsRaw ?? [];
|
|
62
70
|
for (const newApp of incoming.apps) {
|
|
63
71
|
const oldApp = existingApps.find((a) => a.name === newApp.name);
|
|
64
72
|
if (!oldApp) {
|
|
65
73
|
diffs.push({ path: `apps.${newApp.name}`, oldValue: '(not present)', newValue: '(new app)' });
|
|
66
74
|
continue;
|
|
67
75
|
}
|
|
68
|
-
|
|
69
|
-
if (oldApp[field] !== newApp[field]) {
|
|
70
|
-
diffs.push({
|
|
71
|
-
path: `apps.${newApp.name}.${field}`,
|
|
72
|
-
oldValue: oldApp[field] ?? '(not set)',
|
|
73
|
-
newValue: newApp[field],
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
diffRecord(diffs, `apps.${newApp.name}.variables`, oldApp.variables ?? {}, newApp.variables ?? {});
|
|
78
|
-
diffRecord(diffs, `apps.${newApp.name}.build_env`, oldApp.build_env ?? {}, newApp.build_env ?? {});
|
|
76
|
+
diffValue(diffs, `apps.${newApp.name}`, oldApp, newApp);
|
|
79
77
|
}
|
|
80
78
|
for (const oldApp of existingApps) {
|
|
81
79
|
const name = oldApp.name;
|
|
@@ -85,16 +83,26 @@ function diffInfraConfigs(existing, incoming) {
|
|
|
85
83
|
}
|
|
86
84
|
return diffs;
|
|
87
85
|
}
|
|
88
|
-
function
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
86
|
+
function isPlainObject(value) {
|
|
87
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
88
|
+
}
|
|
89
|
+
/** Recursively diffs two values field-by-field, so nested provider-specific blocks
|
|
90
|
+
* (database, redis, container_app, static_web_app, ...) surface changes instead of
|
|
91
|
+
* only the hand-picked fields a flat comparison would have to enumerate. */
|
|
92
|
+
function diffValue(diffs, path, oldVal, newVal) {
|
|
93
|
+
if (isPlainObject(oldVal) && isPlainObject(newVal)) {
|
|
94
|
+
const keys = new Set([...Object.keys(oldVal), ...Object.keys(newVal)]);
|
|
95
|
+
for (const key of keys) {
|
|
96
|
+
diffValue(diffs, path ? `${path}.${key}` : key, oldVal[key], newVal[key]);
|
|
97
97
|
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (JSON.stringify(oldVal ?? null) !== JSON.stringify(newVal ?? null)) {
|
|
101
|
+
diffs.push({
|
|
102
|
+
path,
|
|
103
|
+
oldValue: oldVal ?? '(not set)',
|
|
104
|
+
newValue: newVal ?? '(removed)',
|
|
105
|
+
});
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
async function confirmConfigOverwrite(diffs, yes, askFn) {
|
|
@@ -177,9 +185,14 @@ async function infraDeploy(opts) {
|
|
|
177
185
|
}
|
|
178
186
|
const tofuVersion = (0, preflight_1.checkTofuVersion)();
|
|
179
187
|
console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
|
|
180
|
-
|
|
188
|
+
// Deployment isn't known yet when fuel.yml is absent (infra/ exists from a prior run) \u2014
|
|
189
|
+
// detect it from the generated /infra folder so the right credentials/secret store are used.
|
|
190
|
+
const deployment = config?.deployment ?? (await (0, deployment_detect_1.detectDeploymentFromInfraDir)(infraDir));
|
|
191
|
+
const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, credOverrides, deployment);
|
|
181
192
|
console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
|
|
182
|
-
|
|
193
|
+
await (0, github_client_1.validateGitHubToken)(credentials.GITHUB_TOKEN);
|
|
194
|
+
console.log(chalk_1.default.green(' \u2713') + ' GitHub token has required permissions');
|
|
195
|
+
// No fuel.yml — fetch config from the provider's secret store using project_name from default.tfvars
|
|
183
196
|
if (!config) {
|
|
184
197
|
const tfvarsPath = path.join(infraDir, 'default.tfvars');
|
|
185
198
|
const tfvarsContent = await fs.readFile(tfvarsPath, 'utf-8');
|
|
@@ -188,17 +201,15 @@ async function infraDeploy(opts) {
|
|
|
188
201
|
throw new Error('Could not read project_name from infra/default.tfvars');
|
|
189
202
|
}
|
|
190
203
|
const projectName = projectNameMatch[1];
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const raw = await (0, secrets_manager_client_1.getSecret)(credentials, secretName);
|
|
204
|
+
console.log(chalk_1.default.cyan(` No fuel.yml \u2014 reading config from remote secret store...`));
|
|
205
|
+
const raw = await (0, remote_secret_1.fetchRemoteConfigSecret)(deployment, credentials, projectName);
|
|
194
206
|
config = (0, config_loader_1.parseInfraConfig)(raw);
|
|
195
|
-
console.log(chalk_1.default.green(' \u2713') + ` Config loaded from
|
|
207
|
+
console.log(chalk_1.default.green(' \u2713') + ` Config loaded from remote secret store \u2014 ${config.apps.length} app(s)`);
|
|
196
208
|
}
|
|
197
|
-
// When --config is provided, diff against existing
|
|
209
|
+
// When --config is provided, diff against the existing remote secret and confirm if changed
|
|
198
210
|
if (opts.config) {
|
|
199
|
-
const secretName = `${config.name}-infrastructure-variables`;
|
|
200
211
|
try {
|
|
201
|
-
const existingSecret = await (0,
|
|
212
|
+
const existingSecret = await (0, remote_secret_1.fetchRemoteConfigSecret)(config.deployment, credentials, config.name);
|
|
202
213
|
const diffs = diffInfraConfigs(existingSecret, config);
|
|
203
214
|
if (diffs.length > 0) {
|
|
204
215
|
const confirmed = await confirmConfigOverwrite(diffs, opts.yes ?? false, opts._askFn);
|
|
@@ -208,11 +219,11 @@ async function infraDeploy(opts) {
|
|
|
208
219
|
}
|
|
209
220
|
}
|
|
210
221
|
else {
|
|
211
|
-
console.log(chalk_1.default.green(' ✓') + ' Config matches current
|
|
222
|
+
console.log(chalk_1.default.green(' ✓') + ' Config matches current remote secret — no changes detected');
|
|
212
223
|
}
|
|
213
224
|
}
|
|
214
225
|
catch (e) {
|
|
215
|
-
if (
|
|
226
|
+
if ((0, remote_secret_1.isSecretNotFoundError)(e)) {
|
|
216
227
|
// No existing secret — first deploy, skip check
|
|
217
228
|
}
|
|
218
229
|
else {
|
|
@@ -230,7 +241,16 @@ async function infraDeploy(opts) {
|
|
|
230
241
|
console.log(chalk_1.default.yellow('\n /infra folder not found, generating...'));
|
|
231
242
|
}
|
|
232
243
|
console.log(' Generating infra folder...');
|
|
233
|
-
await (0,
|
|
244
|
+
const resolution = await (0, template_source_1.resolveSourceRoot)({
|
|
245
|
+
source: opts.source,
|
|
246
|
+
githubToken: opts.credentialOverrides?.GITHUB_TOKEN,
|
|
247
|
+
});
|
|
248
|
+
try {
|
|
249
|
+
await (0, template_engine_1.generateInfra)(projectRoot, config, credentials, path.join(resolution.sourceRoot, 'packages', 'infra'));
|
|
250
|
+
}
|
|
251
|
+
finally {
|
|
252
|
+
await resolution.cleanup?.();
|
|
253
|
+
}
|
|
234
254
|
}
|
|
235
255
|
else {
|
|
236
256
|
console.log(chalk_1.default.green(' \u2713') + ' Existing /infra folder will be reused');
|
|
@@ -252,9 +272,10 @@ async function infraOnlyDeploy(projectRoot, opts) {
|
|
|
252
272
|
console.log(chalk_1.default.cyan(' ' + '\u2500'.repeat(40)));
|
|
253
273
|
const tofuVersion = (0, preflight_1.checkTofuVersion)();
|
|
254
274
|
console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
|
|
255
|
-
const
|
|
275
|
+
const deployment = await (0, deployment_detect_1.detectDeploymentFromInfraDir)(infraDir);
|
|
276
|
+
const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides, deployment);
|
|
256
277
|
console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
|
|
257
|
-
// Derive
|
|
278
|
+
// Derive project name from default.tfvars
|
|
258
279
|
const tfvarsPath = path.join(infraDir, 'default.tfvars');
|
|
259
280
|
const tfvarsContent = await fs.readFile(tfvarsPath, 'utf-8');
|
|
260
281
|
const projectNameMatch = tfvarsContent.match(/^project_name\s*=\s*"([^"]+)"/m);
|
|
@@ -263,13 +284,24 @@ async function infraOnlyDeploy(projectRoot, opts) {
|
|
|
263
284
|
}
|
|
264
285
|
const projectName = projectNameMatch[1];
|
|
265
286
|
const suffix = (0, s3_state_bucket_1.deriveSuffix)(projectName);
|
|
266
|
-
const bucketName = (0, s3_state_bucket_1.buildStateBucketName)(projectName, suffix);
|
|
267
287
|
console.log(` Project: ${projectName}`);
|
|
268
|
-
|
|
269
|
-
|
|
288
|
+
if (deployment === 'azure') {
|
|
289
|
+
const resourceGroupName = (0, azure_state_storage_1.buildResourceGroupName)(projectName);
|
|
290
|
+
const storageAccountName = (0, azure_state_storage_1.buildStateStorageAccountName)(projectName, suffix);
|
|
291
|
+
const locationMatch = tfvarsContent.match(/^location\s*=\s*"([^"]+)"/m);
|
|
292
|
+
console.log(` State storage account: ${storageAccountName}`);
|
|
293
|
+
await (0, azure_state_storage_1.ensureResourceGroup)(credentials, resourceGroupName, locationMatch?.[1] ?? azure_defaults_1.AZURE_DEFAULTS.location);
|
|
294
|
+
await (0, azure_state_storage_1.ensureStateStorage)(credentials, resourceGroupName, storageAccountName, locationMatch?.[1] ?? azure_defaults_1.AZURE_DEFAULTS.location);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
const bucketName = (0, s3_state_bucket_1.buildStateBucketName)(projectName, suffix);
|
|
298
|
+
console.log(` State bucket: ${bucketName}`);
|
|
299
|
+
await (0, s3_state_bucket_1.ensureStateBucket)(credentials, bucketName);
|
|
300
|
+
}
|
|
270
301
|
console.log('');
|
|
271
302
|
await (0, tofu_runner_1.runTofuApply)(infraDir, credentials, undefined, {
|
|
272
303
|
planOnly: opts.planOnly,
|
|
304
|
+
deployment,
|
|
273
305
|
});
|
|
274
306
|
if (opts.planOnly) {
|
|
275
307
|
console.log(chalk_1.default.green('\n Plan complete — no resources were created.\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra-deploy.js","sourceRoot":"","sources":["../../src/commands/infra-deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infra-deploy.js","sourceRoot":"","sources":["../../src/commands/infra-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,18 +67,18 @@ async function infraDestroy(opts) {
|
|
|
67
67
|
` fuel.yml valid \u2014 ${config.apps.length} app(s)`);
|
|
68
68
|
const tofuVersion = (0, preflight_1.checkTofuVersion)();
|
|
69
69
|
console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
|
|
70
|
-
const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides);
|
|
70
|
+
const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides, config.deployment);
|
|
71
71
|
console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
|
|
72
72
|
// TofuVars — db values are only needed to satisfy variable declarations,
|
|
73
73
|
// the actual values don't matter for destroy.
|
|
74
74
|
const tofuVars = {
|
|
75
75
|
db_username: slugify(config.name),
|
|
76
76
|
db_name: slugify(config.name),
|
|
77
|
-
github_repo_name: `${config.name}-monorepo`,
|
|
77
|
+
github_repo_name: config.github_repo_name ?? `${config.name}-monorepo`,
|
|
78
78
|
};
|
|
79
79
|
console.log(chalk_1.default.yellow('\n WARNING: This will destroy ALL infrastructure resources.\n'));
|
|
80
80
|
console.log('');
|
|
81
|
-
await (0, tofu_runner_1.runTofuDestroy)(infraDir, credentials, tofuVars);
|
|
81
|
+
await (0, tofu_runner_1.runTofuDestroy)(infraDir, credentials, tofuVars, config.deployment);
|
|
82
82
|
console.log(chalk_1.default.green('\n Infrastructure has been destroyed.\n'));
|
|
83
83
|
}
|
|
84
84
|
//# sourceMappingURL=infra-destroy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra-destroy.js","sourceRoot":"","sources":["../../src/commands/infra-destroy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAgDC;AAnED,2CAA4B;AAC5B,6CAA8B;AAC9B,kDAAyB;AACzB,0DAAwD;AACxD,sDAAyD;AACzD,kDAAqD;AACrD,sDAA+D;AAS/D,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACvD,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEvE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,cAAc,KAAK;YAC1C,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,KAAK;YAC5C,gDAAgD;YAChD,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAe,EAAC,cAAc,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QACrB,0BAA0B,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CACxD,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,4BAAgB,GAAE,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"infra-destroy.js","sourceRoot":"","sources":["../../src/commands/infra-destroy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAgDC;AAnED,2CAA4B;AAC5B,6CAA8B;AAC9B,kDAAyB;AACzB,0DAAwD;AACxD,sDAAyD;AACzD,kDAAqD;AACrD,sDAA+D;AAS/D,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACvD,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEvE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,cAAc,KAAK;YAC1C,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,KAAK;YAC5C,gDAAgD;YAChD,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAe,EAAC,cAAc,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QACrB,0BAA0B,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CACxD,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,4BAAgB,GAAE,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACtG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,CAAA;IAE9D,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG,MAAM,CAAC,IAAI,WAAW;KACvE,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,IAAA,4BAAc,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAExE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAA;AACtE,CAAC"}
|
|
@@ -41,6 +41,73 @@ export declare const CONFIG_TEMPLATE: {
|
|
|
41
41
|
workers?: undefined;
|
|
42
42
|
})[];
|
|
43
43
|
};
|
|
44
|
+
export declare const CONFIG_TEMPLATE_AZURE: {
|
|
45
|
+
name: string;
|
|
46
|
+
deployment: string;
|
|
47
|
+
slack_webhook_url: string;
|
|
48
|
+
location: string;
|
|
49
|
+
monitor: {
|
|
50
|
+
daily_data_cap_gb: number;
|
|
51
|
+
retention_days: number;
|
|
52
|
+
dashboard_count: number;
|
|
53
|
+
};
|
|
54
|
+
front_door: {
|
|
55
|
+
sku_name: string;
|
|
56
|
+
};
|
|
57
|
+
storage_account: {
|
|
58
|
+
account_kind: string;
|
|
59
|
+
account_tier: string;
|
|
60
|
+
account_replication_type: string;
|
|
61
|
+
access_tier: string;
|
|
62
|
+
};
|
|
63
|
+
key_vault: {
|
|
64
|
+
sku_name: string;
|
|
65
|
+
};
|
|
66
|
+
apps: ({
|
|
67
|
+
name: string;
|
|
68
|
+
technology: string;
|
|
69
|
+
dockerfile: string;
|
|
70
|
+
health_check_path: string;
|
|
71
|
+
domain: string;
|
|
72
|
+
port: number;
|
|
73
|
+
branch: string;
|
|
74
|
+
database: {
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
engine: string;
|
|
77
|
+
sku_name: string;
|
|
78
|
+
};
|
|
79
|
+
redis: {
|
|
80
|
+
enabled: boolean;
|
|
81
|
+
sku_name: string;
|
|
82
|
+
};
|
|
83
|
+
container_app: {
|
|
84
|
+
cpu: number;
|
|
85
|
+
memory: string;
|
|
86
|
+
concurrent_requests: number;
|
|
87
|
+
min_replicas: number;
|
|
88
|
+
max_replicas: number;
|
|
89
|
+
};
|
|
90
|
+
variables: {};
|
|
91
|
+
workers: never[];
|
|
92
|
+
build_env?: undefined;
|
|
93
|
+
} | {
|
|
94
|
+
name: string;
|
|
95
|
+
technology: string;
|
|
96
|
+
dockerfile: string;
|
|
97
|
+
health_check_path: string;
|
|
98
|
+
domain: string;
|
|
99
|
+
port: number;
|
|
100
|
+
branch: string;
|
|
101
|
+
build_env: {
|
|
102
|
+
NEXT_PUBLIC_API_HOST: string;
|
|
103
|
+
};
|
|
104
|
+
database?: undefined;
|
|
105
|
+
redis?: undefined;
|
|
106
|
+
container_app?: undefined;
|
|
107
|
+
variables?: undefined;
|
|
108
|
+
workers?: undefined;
|
|
109
|
+
})[];
|
|
110
|
+
};
|
|
44
111
|
export interface InfraInitAnswers {
|
|
45
112
|
credentials: Record<string, string>;
|
|
46
113
|
projectName: string;
|
|
@@ -65,12 +132,36 @@ export interface InfraInitAnswers {
|
|
|
65
132
|
baseDomain: string;
|
|
66
133
|
domains: Record<string, Record<string, string>>;
|
|
67
134
|
}
|
|
135
|
+
export interface AzureInfraInitAnswers {
|
|
136
|
+
credentials: Record<string, string>;
|
|
137
|
+
projectName: string;
|
|
138
|
+
slackWebhookUrl: string;
|
|
139
|
+
location: string;
|
|
140
|
+
/** api is always NestJS; web is always React/Next.js */
|
|
141
|
+
appTypes: Array<{
|
|
142
|
+
suffix: 'api' | 'web';
|
|
143
|
+
dockerfile: string;
|
|
144
|
+
port: number;
|
|
145
|
+
healthCheckPath: string;
|
|
146
|
+
databaseEnabled: boolean;
|
|
147
|
+
databaseEngine: 'mssql' | 'postgres';
|
|
148
|
+
redisEnabled: boolean;
|
|
149
|
+
variables: Record<string, Record<string, string>>;
|
|
150
|
+
}>;
|
|
151
|
+
environments: string[];
|
|
152
|
+
baseDomain: string;
|
|
153
|
+
domains: Record<string, Record<string, string>>;
|
|
154
|
+
}
|
|
68
155
|
export declare function applyInfraInitAnswers(answers: InfraInitAnswers, opts: {
|
|
69
156
|
output?: string;
|
|
70
157
|
}): Promise<void>;
|
|
158
|
+
export declare function applyAzureInfraInitAnswers(answers: AzureInfraInitAnswers, opts: {
|
|
159
|
+
output?: string;
|
|
160
|
+
}): Promise<void>;
|
|
71
161
|
export declare function infraInit(opts: {
|
|
72
162
|
output?: string;
|
|
73
163
|
template?: boolean;
|
|
74
164
|
credentialsOnly?: boolean;
|
|
165
|
+
azure?: boolean;
|
|
75
166
|
}): Promise<void>;
|
|
76
167
|
//# sourceMappingURL=infra-init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra-init.d.ts","sourceRoot":"","sources":["../../src/commands/infra-init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"infra-init.d.ts","sourceRoot":"","sources":["../../src/commands/infra-init.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCjC,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QAEvB,QAAQ,EAAE,OAAO,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QAEvB,eAAe,EAAE,OAAO,CAAA;QACxB,cAAc,EAAE,OAAO,GAAG,UAAU,CAAA;QACpC,YAAY,EAAE,OAAO,CAAA;QACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AA6rBD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Ff;AAID,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Ff;AA8FD,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxI"}
|