@factiii/stack 0.1.35 → 0.1.36
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 +441 -441
- package/dist/generators/generate-stack-yml.js +37 -37
- package/dist/plugins/addons/openclaw/scanfix/setup.d.ts.map +1 -1
- package/dist/plugins/addons/openclaw/scanfix/setup.js +45 -11
- package/dist/plugins/addons/openclaw/scanfix/setup.js.map +1 -1
- package/dist/plugins/pipelines/aws/index.js +12 -12
- package/dist/plugins/pipelines/aws/prod.js +5 -5
- package/dist/plugins/servers/mac/index.js +12 -12
- package/dist/plugins/servers/mac/staging.js +2 -2
- package/dist/utils/config-helpers.d.ts +1 -1
- package/dist/utils/config-helpers.d.ts.map +1 -1
- package/dist/utils/secret-prompts.js +28 -28
- package/dist/utils/template-generator.js +71 -71
- package/package.json +95 -95
|
@@ -157,43 +157,43 @@ function generateFactiiiYmlTemplate(plugins = null) {
|
|
|
157
157
|
noRefs: true,
|
|
158
158
|
});
|
|
159
159
|
// Add helpful comments after YAML generation
|
|
160
|
-
const comments = `
|
|
161
|
-
# ============================================================
|
|
162
|
-
# ADDITIONAL ENVIRONMENTS
|
|
163
|
-
# ============================================================
|
|
164
|
-
# You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
|
|
165
|
-
# Each environment must specify a 'server' plugin and can have server-specific configs.
|
|
166
|
-
#
|
|
167
|
-
# Example - Additional staging environment:
|
|
168
|
-
# staging2:
|
|
169
|
-
# server: mac
|
|
170
|
-
# domain: staging2.yourdomain.com
|
|
171
|
-
# env_file: .env.staging2
|
|
172
|
-
#
|
|
173
|
-
# Example - Additional prod environment:
|
|
174
|
-
# prod2:
|
|
175
|
-
# server: ubuntu
|
|
176
|
-
# pipeline: aws
|
|
177
|
-
# domain: app2.yourdomain.com
|
|
178
|
-
# config: free-tier
|
|
179
|
-
# access_key_id: EXAMPLE_AKIAXXXXXXXX
|
|
180
|
-
# region: us-west-2
|
|
181
|
-
|
|
182
|
-
# ============================================================
|
|
183
|
-
# ENVIRONMENT OPTIONS
|
|
184
|
-
# ============================================================
|
|
185
|
-
# All environments support these optional fields:
|
|
186
|
-
# ssh_user: ubuntu # Override SSH user (defaults to stackAuto.yml ssh_user)
|
|
187
|
-
# env_file: .env.{environment} # Override env file name
|
|
188
|
-
|
|
189
|
-
# ============================================================
|
|
190
|
-
# CONTAINER EXCLUSIONS
|
|
191
|
-
# ============================================================
|
|
192
|
-
# Exclude Docker containers from unmanaged container cleanup
|
|
193
|
-
# Uncomment and add container names to keep them running:
|
|
194
|
-
# container_exclusions:
|
|
195
|
-
# - factiii_postgres
|
|
196
|
-
# - legacy_container
|
|
160
|
+
const comments = `
|
|
161
|
+
# ============================================================
|
|
162
|
+
# ADDITIONAL ENVIRONMENTS
|
|
163
|
+
# ============================================================
|
|
164
|
+
# You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
|
|
165
|
+
# Each environment must specify a 'server' plugin and can have server-specific configs.
|
|
166
|
+
#
|
|
167
|
+
# Example - Additional staging environment:
|
|
168
|
+
# staging2:
|
|
169
|
+
# server: mac
|
|
170
|
+
# domain: staging2.yourdomain.com
|
|
171
|
+
# env_file: .env.staging2
|
|
172
|
+
#
|
|
173
|
+
# Example - Additional prod environment:
|
|
174
|
+
# prod2:
|
|
175
|
+
# server: ubuntu
|
|
176
|
+
# pipeline: aws
|
|
177
|
+
# domain: app2.yourdomain.com
|
|
178
|
+
# config: free-tier
|
|
179
|
+
# access_key_id: EXAMPLE_AKIAXXXXXXXX
|
|
180
|
+
# region: us-west-2
|
|
181
|
+
|
|
182
|
+
# ============================================================
|
|
183
|
+
# ENVIRONMENT OPTIONS
|
|
184
|
+
# ============================================================
|
|
185
|
+
# All environments support these optional fields:
|
|
186
|
+
# ssh_user: ubuntu # Override SSH user (defaults to stackAuto.yml ssh_user)
|
|
187
|
+
# env_file: .env.{environment} # Override env file name
|
|
188
|
+
|
|
189
|
+
# ============================================================
|
|
190
|
+
# CONTAINER EXCLUSIONS
|
|
191
|
+
# ============================================================
|
|
192
|
+
# Exclude Docker containers from unmanaged container cleanup
|
|
193
|
+
# Uncomment and add container names to keep them running:
|
|
194
|
+
# container_exclusions:
|
|
195
|
+
# - factiii_postgres
|
|
196
|
+
# - legacy_container
|
|
197
197
|
`;
|
|
198
198
|
return yamlContent + comments;
|
|
199
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;AA8L/E,eAAO,MAAM,aAAa,EAAE,GAAG,EAqQ9B,CAAC"}
|
|
@@ -28,14 +28,20 @@ const DEFAULT_MODEL = 'qwen2.5-coder:7b';
|
|
|
28
28
|
*/
|
|
29
29
|
function getOpenClawConfig(config, rootDir) {
|
|
30
30
|
const defaults = { model: DEFAULT_MODEL };
|
|
31
|
-
// Check stack.yml
|
|
32
|
-
const
|
|
33
|
-
|
|
31
|
+
// Check stack.yml (supports openclaw: true shorthand)
|
|
32
|
+
const rawGlobal = config.openclaw;
|
|
33
|
+
const globalConf = (typeof rawGlobal === 'object' && rawGlobal !== null)
|
|
34
|
+
? rawGlobal
|
|
35
|
+
: undefined;
|
|
36
|
+
// Check stack.local.yml (supports openclaw: true shorthand)
|
|
34
37
|
let localConf;
|
|
35
38
|
try {
|
|
36
39
|
const { loadLocalConfig } = require('../../../../utils/config-helpers.js');
|
|
37
40
|
const local = loadLocalConfig(rootDir);
|
|
38
|
-
|
|
41
|
+
const rawLocal = local.openclaw;
|
|
42
|
+
localConf = (typeof rawLocal === 'object' && rawLocal !== null)
|
|
43
|
+
? rawLocal
|
|
44
|
+
: undefined;
|
|
39
45
|
}
|
|
40
46
|
catch {
|
|
41
47
|
// No local config
|
|
@@ -417,8 +423,8 @@ exports.openclawFixes = [
|
|
|
417
423
|
stage: 'dev',
|
|
418
424
|
os: 'mac',
|
|
419
425
|
severity: 'warning',
|
|
420
|
-
description: 'OpenClaw is not configured inside the Tart VM',
|
|
421
|
-
scan: async (
|
|
426
|
+
description: 'OpenClaw is not configured to use local Ollama model inside the Tart VM',
|
|
427
|
+
scan: async (config, rootDir) => {
|
|
422
428
|
const ip = getReadyVmIp();
|
|
423
429
|
if (!ip)
|
|
424
430
|
return false;
|
|
@@ -426,16 +432,44 @@ exports.openclawFixes = [
|
|
|
426
432
|
return false;
|
|
427
433
|
try {
|
|
428
434
|
sshVm(ip, 'test -f ~/.openclaw/openclaw.json');
|
|
429
|
-
|
|
435
|
+
// Config exists — check if it points to the correct model
|
|
436
|
+
const content = sshVm(ip, 'cat ~/.openclaw/openclaw.json');
|
|
437
|
+
const model = getModelName(config, rootDir);
|
|
438
|
+
return !content.includes(model);
|
|
430
439
|
}
|
|
431
440
|
catch {
|
|
432
441
|
return true; // Config missing
|
|
433
442
|
}
|
|
434
443
|
},
|
|
435
|
-
fix:
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
444
|
+
fix: async (config, rootDir) => {
|
|
445
|
+
const ip = getReadyVmIp();
|
|
446
|
+
if (!ip)
|
|
447
|
+
return false;
|
|
448
|
+
const model = getModelName(config, rootDir);
|
|
449
|
+
try {
|
|
450
|
+
// Create config directory
|
|
451
|
+
sshVm(ip, 'mkdir -p ~/.openclaw');
|
|
452
|
+
// Write OpenClaw config pointing to local Ollama
|
|
453
|
+
const configJson = JSON.stringify({
|
|
454
|
+
provider: 'ollama',
|
|
455
|
+
model: model,
|
|
456
|
+
baseUrl: 'http://localhost:11434',
|
|
457
|
+
}, null, 2);
|
|
458
|
+
// Escape double quotes for SSH command
|
|
459
|
+
const escaped = configJson.replace(/"/g, '\\"');
|
|
460
|
+
(0, child_process_1.execSync)('ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 admin@' + ip +
|
|
461
|
+
" 'echo \"" + escaped + "\" > ~/.openclaw/openclaw.json'", { stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
|
|
462
|
+
console.log(' Configured OpenClaw to use Ollama model: ' + model);
|
|
463
|
+
console.log(' Config written to ~/.openclaw/openclaw.json inside VM');
|
|
464
|
+
return true;
|
|
465
|
+
}
|
|
466
|
+
catch (e) {
|
|
467
|
+
console.log(' Failed to write config: ' + (e instanceof Error ? e.message : String(e)));
|
|
468
|
+
return false;
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
manualFix: 'SSH into VM and create ~/.openclaw/openclaw.json with:\n' +
|
|
472
|
+
' { "provider": "ollama", "model": "' + DEFAULT_MODEL + '", "baseUrl": "http://localhost:11434" }',
|
|
439
473
|
},
|
|
440
474
|
];
|
|
441
475
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,17 +179,17 @@ class AWSPipeline {
|
|
|
179
179
|
'free-tier': free_tier_js_1.default,
|
|
180
180
|
};
|
|
181
181
|
static helpText = {
|
|
182
|
-
SSH: `
|
|
183
|
-
SSH private key for accessing the EC2 instance.
|
|
184
|
-
|
|
185
|
-
Option A: Auto-generate via AWS (recommended)
|
|
186
|
-
- Factiii will create an EC2 Key Pair via AWS API
|
|
187
|
-
|
|
188
|
-
Option B: Use existing key
|
|
182
|
+
SSH: `
|
|
183
|
+
SSH private key for accessing the EC2 instance.
|
|
184
|
+
|
|
185
|
+
Option A: Auto-generate via AWS (recommended)
|
|
186
|
+
- Factiii will create an EC2 Key Pair via AWS API
|
|
187
|
+
|
|
188
|
+
Option B: Use existing key
|
|
189
189
|
ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key`,
|
|
190
|
-
AWS_SECRET_ACCESS_KEY: `
|
|
191
|
-
AWS Secret Access Key
|
|
192
|
-
|
|
190
|
+
AWS_SECRET_ACCESS_KEY: `
|
|
191
|
+
AWS Secret Access Key
|
|
192
|
+
|
|
193
193
|
Get from AWS Console: IAM -> Users -> Security credentials`,
|
|
194
194
|
};
|
|
195
195
|
// ============================================================
|
|
@@ -525,8 +525,8 @@ class AWSPipeline {
|
|
|
525
525
|
}
|
|
526
526
|
try {
|
|
527
527
|
const repoName = config.name ?? 'app';
|
|
528
|
-
await AWSPipeline.sshExec(envConfig, `
|
|
529
|
-
cd ~/.factiii && docker compose stop ${repoName}-prod
|
|
528
|
+
await AWSPipeline.sshExec(envConfig, `
|
|
529
|
+
cd ~/.factiii && docker compose stop ${repoName}-prod
|
|
530
530
|
`);
|
|
531
531
|
return { success: true, message: 'Production containers stopped' };
|
|
532
532
|
}
|
|
@@ -144,7 +144,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
|
|
|
144
144
|
else {
|
|
145
145
|
// We're remote - SSH to write
|
|
146
146
|
console.log(` 📝 Writing ${envFileName} on remote server (${envVars.length} variables)...`);
|
|
147
|
-
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
147
|
+
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
148
148
|
${envFileContent}ENVEOF`);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
@@ -338,10 +338,10 @@ async function deployProd(config, environment = 'prod') {
|
|
|
338
338
|
await updateComposeForECR(envConfig, config);
|
|
339
339
|
// Step 3: Login to ECR and pull latest image
|
|
340
340
|
console.log(' 🔐 Logging in to ECR and pulling image...');
|
|
341
|
-
await sshExecCommand(envConfig, `
|
|
342
|
-
aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin $(aws sts get-caller-identity --query Account --output text).dkr.ecr.${region}.amazonaws.com && \
|
|
343
|
-
cd ~/.factiii && \
|
|
344
|
-
docker compose pull ${repoName}-prod
|
|
341
|
+
await sshExecCommand(envConfig, `
|
|
342
|
+
aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin $(aws sts get-caller-identity --query Account --output text).dkr.ecr.${region}.amazonaws.com && \
|
|
343
|
+
cd ~/.factiii && \
|
|
344
|
+
docker compose pull ${repoName}-prod
|
|
345
345
|
`);
|
|
346
346
|
// Step 4: Manage SSL certificates
|
|
347
347
|
console.log(' 🔐 Managing SSL certificates...');
|
|
@@ -138,16 +138,16 @@ class MacPlugin {
|
|
|
138
138
|
return Object.keys(config).length === 0;
|
|
139
139
|
}
|
|
140
140
|
static helpText = {
|
|
141
|
-
SSH: `
|
|
142
|
-
SSH private key for accessing the server.
|
|
143
|
-
|
|
144
|
-
Step 1: Generate a new SSH key pair (if needed):
|
|
145
|
-
ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key
|
|
146
|
-
|
|
147
|
-
Step 2: Add PUBLIC key to server:
|
|
148
|
-
ssh-copy-id -i ~/.ssh/deploy_key.pub ubuntu@YOUR_HOST
|
|
149
|
-
|
|
150
|
-
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
141
|
+
SSH: `
|
|
142
|
+
SSH private key for accessing the server.
|
|
143
|
+
|
|
144
|
+
Step 1: Generate a new SSH key pair (if needed):
|
|
145
|
+
ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key
|
|
146
|
+
|
|
147
|
+
Step 2: Add PUBLIC key to server:
|
|
148
|
+
ssh-copy-id -i ~/.ssh/deploy_key.pub ubuntu@YOUR_HOST
|
|
149
|
+
|
|
150
|
+
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
151
151
|
cat ~/.ssh/deploy_key`,
|
|
152
152
|
};
|
|
153
153
|
// ============================================================
|
|
@@ -238,8 +238,8 @@ class MacPlugin {
|
|
|
238
238
|
}
|
|
239
239
|
try {
|
|
240
240
|
const repoName = config.name ?? 'app';
|
|
241
|
-
await MacPlugin.sshExec(envConfig, `
|
|
242
|
-
cd ~/.factiii && docker compose stop ${repoName}-staging
|
|
241
|
+
await MacPlugin.sshExec(envConfig, `
|
|
242
|
+
cd ~/.factiii && docker compose stop ${repoName}-staging
|
|
243
243
|
`);
|
|
244
244
|
return { success: true, message: 'Staging containers stopped' };
|
|
245
245
|
}
|
|
@@ -283,7 +283,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
|
|
|
283
283
|
const escapedContent = envFileContent
|
|
284
284
|
.replace(/'/g, "'\\''")
|
|
285
285
|
.replace(/\n/g, '\\n');
|
|
286
|
-
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
286
|
+
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
287
287
|
${envFileContent}ENVEOF`);
|
|
288
288
|
}
|
|
289
289
|
}
|
|
@@ -339,7 +339,7 @@ async function createEnvFromStaging(envConfig, repoDir) {
|
|
|
339
339
|
console.log(' 📝 Created .env from .env.staging (with host port replacement)');
|
|
340
340
|
}
|
|
341
341
|
else {
|
|
342
|
-
await sshExecCommand(envConfig, `cat > ${envPath} << 'ENVEOF'
|
|
342
|
+
await sshExecCommand(envConfig, `cat > ${envPath} << 'ENVEOF'
|
|
343
343
|
${updatedContent}ENVEOF`);
|
|
344
344
|
console.log(' 📝 Created .env from .env.staging on remote server (with host port replacement)');
|
|
345
345
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sKAWvB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sKAWvB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,GAAG;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAW5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE"}
|
|
@@ -64,16 +64,16 @@ const SECRET_METADATA = {
|
|
|
64
64
|
STAGING_SSH: {
|
|
65
65
|
type: 'ssh_key',
|
|
66
66
|
description: 'SSH private key for accessing staging server',
|
|
67
|
-
helpText: `
|
|
68
|
-
Step 1: Generate a new SSH key pair:
|
|
69
|
-
ssh-keygen -t ed25519 -C "staging-deploy" -f ~/.ssh/staging_deploy
|
|
70
|
-
|
|
71
|
-
Step 2: Add PUBLIC key to your staging server:
|
|
72
|
-
ssh-copy-id -i ~/.ssh/staging_deploy.pub ubuntu@YOUR_HOST
|
|
73
|
-
|
|
74
|
-
(HOST is configured in stack.yml → environments.staging.host)
|
|
75
|
-
|
|
76
|
-
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
67
|
+
helpText: `
|
|
68
|
+
Step 1: Generate a new SSH key pair:
|
|
69
|
+
ssh-keygen -t ed25519 -C "staging-deploy" -f ~/.ssh/staging_deploy
|
|
70
|
+
|
|
71
|
+
Step 2: Add PUBLIC key to your staging server:
|
|
72
|
+
ssh-copy-id -i ~/.ssh/staging_deploy.pub ubuntu@YOUR_HOST
|
|
73
|
+
|
|
74
|
+
(HOST is configured in stack.yml → environments.staging.host)
|
|
75
|
+
|
|
76
|
+
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
77
77
|
cat ~/.ssh/staging_deploy`,
|
|
78
78
|
validation: (value) => {
|
|
79
79
|
if (!value || value.trim().length === 0) {
|
|
@@ -91,16 +91,16 @@ const SECRET_METADATA = {
|
|
|
91
91
|
PROD_SSH: {
|
|
92
92
|
type: 'ssh_key',
|
|
93
93
|
description: 'SSH private key for accessing production server',
|
|
94
|
-
helpText: `
|
|
95
|
-
Step 1: Generate a new SSH key pair:
|
|
96
|
-
ssh-keygen -t ed25519 -C "production-deploy" -f ~/.ssh/prod_deploy
|
|
97
|
-
|
|
98
|
-
Step 2: Add PUBLIC key to your production server:
|
|
99
|
-
ssh-copy-id -i ~/.ssh/prod_deploy.pub ubuntu@YOUR_HOST
|
|
100
|
-
|
|
101
|
-
(HOST is configured in stack.yml → environments.production.host)
|
|
102
|
-
|
|
103
|
-
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
94
|
+
helpText: `
|
|
95
|
+
Step 1: Generate a new SSH key pair:
|
|
96
|
+
ssh-keygen -t ed25519 -C "production-deploy" -f ~/.ssh/prod_deploy
|
|
97
|
+
|
|
98
|
+
Step 2: Add PUBLIC key to your production server:
|
|
99
|
+
ssh-copy-id -i ~/.ssh/prod_deploy.pub ubuntu@YOUR_HOST
|
|
100
|
+
|
|
101
|
+
(HOST is configured in stack.yml → environments.production.host)
|
|
102
|
+
|
|
103
|
+
Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
|
|
104
104
|
cat ~/.ssh/prod_deploy`,
|
|
105
105
|
validation: (value) => {
|
|
106
106
|
if (!value || value.trim().length === 0) {
|
|
@@ -118,14 +118,14 @@ const SECRET_METADATA = {
|
|
|
118
118
|
AWS_SECRET_ACCESS_KEY: {
|
|
119
119
|
type: 'aws_secret',
|
|
120
120
|
description: 'AWS Secret Access Key (the only secret AWS value)',
|
|
121
|
-
helpText: `
|
|
122
|
-
Get from AWS Console: IAM → Users → Security credentials
|
|
123
|
-
|
|
124
|
-
This is shown only once when you create the key.
|
|
125
|
-
If lost, you must create a new key pair.
|
|
126
|
-
|
|
127
|
-
Note: AWS_ACCESS_KEY_ID and AWS_REGION go in stack.yml (not secrets)
|
|
128
|
-
|
|
121
|
+
helpText: `
|
|
122
|
+
Get from AWS Console: IAM → Users → Security credentials
|
|
123
|
+
|
|
124
|
+
This is shown only once when you create the key.
|
|
125
|
+
If lost, you must create a new key pair.
|
|
126
|
+
|
|
127
|
+
Note: AWS_ACCESS_KEY_ID and AWS_REGION go in stack.yml (not secrets)
|
|
128
|
+
|
|
129
129
|
Enter AWS Secret Access Key:`,
|
|
130
130
|
validation: (value) => {
|
|
131
131
|
if (!value || value.trim().length === 0) {
|
|
@@ -51,47 +51,47 @@ const env_validator_js_1 = require("./env-validator.js");
|
|
|
51
51
|
*/
|
|
52
52
|
function generateEnvExampleTemplate(config) {
|
|
53
53
|
const repoName = config.name ?? 'myapp';
|
|
54
|
-
const template = `# .env.example - Environment variable template
|
|
55
|
-
# This file defines all required environment variables across environments.
|
|
56
|
-
# Values are descriptive examples - replace with real values in .env.staging and .env.prod
|
|
57
|
-
# This file is committed to git as a template.
|
|
58
|
-
|
|
59
|
-
# === Application Settings ===
|
|
60
|
-
NODE_ENV=development
|
|
61
|
-
PORT=3000
|
|
62
|
-
|
|
63
|
-
# === Database ===
|
|
64
|
-
# PostgreSQL connection string format
|
|
65
|
-
DATABASE_URL=postgresql://EXAMPLE_user:EXAMPLE_password@localhost:5432/EXAMPLE_${repoName}-dev
|
|
66
|
-
|
|
67
|
-
# === Authentication ===
|
|
68
|
-
# 256-bit secret key for JWT signing
|
|
69
|
-
JWT_SECRET=EXAMPLE_your-256-bit-secret-key-here
|
|
70
|
-
JWT_EXPIRES_IN=7d
|
|
71
|
-
|
|
72
|
-
# === External APIs (if needed) ===
|
|
73
|
-
# OPENAI_API_KEY=EXAMPLE_sk-proj-abc123xyz789
|
|
74
|
-
# STRIPE_SECRET_KEY=EXAMPLE_sk_test_51ABC123xyz
|
|
75
|
-
# STRIPE_PUBLISHABLE_KEY=EXAMPLE_pk_test_51ABC123xyz
|
|
76
|
-
|
|
77
|
-
# === AWS Configuration (if using S3, SES, etc) ===
|
|
78
|
-
# AWS_ACCESS_KEY_ID=EXAMPLE_AKIAIOSFODNN7EXAMPLE
|
|
79
|
-
# AWS_SECRET_ACCESS_KEY=EXAMPLE_wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
|
80
|
-
# AWS_REGION=EXAMPLE_us-east-1
|
|
81
|
-
# AWS_BUCKET_NAME=EXAMPLE_${repoName}-assets
|
|
82
|
-
|
|
83
|
-
# === Email Configuration (if using SMTP) ===
|
|
84
|
-
# SMTP_HOST=EXAMPLE_smtp.gmail.com
|
|
85
|
-
# SMTP_PORT=587
|
|
86
|
-
# SMTP_USER=EXAMPLE_noreply@yourdomain.com
|
|
87
|
-
# SMTP_PASSWORD=EXAMPLE_your-app-password
|
|
88
|
-
|
|
89
|
-
# === Application URLs ===
|
|
90
|
-
# FRONTEND_URL=EXAMPLE_http://localhost:3000
|
|
91
|
-
# API_URL=EXAMPLE_http://localhost:3001
|
|
92
|
-
|
|
93
|
-
# === Application-specific settings ===
|
|
94
|
-
# Add your custom environment variables below
|
|
54
|
+
const template = `# .env.example - Environment variable template
|
|
55
|
+
# This file defines all required environment variables across environments.
|
|
56
|
+
# Values are descriptive examples - replace with real values in .env.staging and .env.prod
|
|
57
|
+
# This file is committed to git as a template.
|
|
58
|
+
|
|
59
|
+
# === Application Settings ===
|
|
60
|
+
NODE_ENV=development
|
|
61
|
+
PORT=3000
|
|
62
|
+
|
|
63
|
+
# === Database ===
|
|
64
|
+
# PostgreSQL connection string format
|
|
65
|
+
DATABASE_URL=postgresql://EXAMPLE_user:EXAMPLE_password@localhost:5432/EXAMPLE_${repoName}-dev
|
|
66
|
+
|
|
67
|
+
# === Authentication ===
|
|
68
|
+
# 256-bit secret key for JWT signing
|
|
69
|
+
JWT_SECRET=EXAMPLE_your-256-bit-secret-key-here
|
|
70
|
+
JWT_EXPIRES_IN=7d
|
|
71
|
+
|
|
72
|
+
# === External APIs (if needed) ===
|
|
73
|
+
# OPENAI_API_KEY=EXAMPLE_sk-proj-abc123xyz789
|
|
74
|
+
# STRIPE_SECRET_KEY=EXAMPLE_sk_test_51ABC123xyz
|
|
75
|
+
# STRIPE_PUBLISHABLE_KEY=EXAMPLE_pk_test_51ABC123xyz
|
|
76
|
+
|
|
77
|
+
# === AWS Configuration (if using S3, SES, etc) ===
|
|
78
|
+
# AWS_ACCESS_KEY_ID=EXAMPLE_AKIAIOSFODNN7EXAMPLE
|
|
79
|
+
# AWS_SECRET_ACCESS_KEY=EXAMPLE_wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
|
80
|
+
# AWS_REGION=EXAMPLE_us-east-1
|
|
81
|
+
# AWS_BUCKET_NAME=EXAMPLE_${repoName}-assets
|
|
82
|
+
|
|
83
|
+
# === Email Configuration (if using SMTP) ===
|
|
84
|
+
# SMTP_HOST=EXAMPLE_smtp.gmail.com
|
|
85
|
+
# SMTP_PORT=587
|
|
86
|
+
# SMTP_USER=EXAMPLE_noreply@yourdomain.com
|
|
87
|
+
# SMTP_PASSWORD=EXAMPLE_your-app-password
|
|
88
|
+
|
|
89
|
+
# === Application URLs ===
|
|
90
|
+
# FRONTEND_URL=EXAMPLE_http://localhost:3000
|
|
91
|
+
# API_URL=EXAMPLE_http://localhost:3001
|
|
92
|
+
|
|
93
|
+
# === Application-specific settings ===
|
|
94
|
+
# Add your custom environment variables below
|
|
95
95
|
`;
|
|
96
96
|
return template;
|
|
97
97
|
}
|
|
@@ -103,10 +103,10 @@ JWT_EXPIRES_IN=7d
|
|
|
103
103
|
*/
|
|
104
104
|
function generateEnvTemplate(environment, devEnv) {
|
|
105
105
|
const envUpper = environment.toUpperCase();
|
|
106
|
-
let template = `# .env.${environment} - ${envUpper} environment variables
|
|
107
|
-
# Fill in all values below. Keys must match .env.example
|
|
108
|
-
# This file should ${environment === 'prod' ? 'ALWAYS' : 'optionally'} be in .gitignore
|
|
109
|
-
|
|
106
|
+
let template = `# .env.${environment} - ${envUpper} environment variables
|
|
107
|
+
# Fill in all values below. Keys must match .env.example
|
|
108
|
+
# This file should ${environment === 'prod' ? 'ALWAYS' : 'optionally'} be in .gitignore
|
|
109
|
+
|
|
110
110
|
`;
|
|
111
111
|
// Copy keys from .env.example with placeholder values
|
|
112
112
|
for (const key of Object.keys(devEnv)) {
|
|
@@ -120,11 +120,11 @@ function generateEnvTemplate(environment, devEnv) {
|
|
|
120
120
|
template += `${key}=<FILL_IN>\n`;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
template += `
|
|
124
|
-
# Instructions:
|
|
125
|
-
# 1. Replace all <FILL_IN> values with real ${environment} values
|
|
126
|
-
# 2. Ensure all keys match .env.example
|
|
127
|
-
# 3. Run: npx stack (to validate)
|
|
123
|
+
template += `
|
|
124
|
+
# Instructions:
|
|
125
|
+
# 1. Replace all <FILL_IN> values with real ${environment} values
|
|
126
|
+
# 2. Ensure all keys match .env.example
|
|
127
|
+
# 3. Run: npx stack (to validate)
|
|
128
128
|
`;
|
|
129
129
|
return template;
|
|
130
130
|
}
|
|
@@ -197,27 +197,27 @@ function createEnvTemplates(rootDir, config) {
|
|
|
197
197
|
* Generate secrets checklist for display
|
|
198
198
|
*/
|
|
199
199
|
function generateSecretsChecklist() {
|
|
200
|
-
return `
|
|
201
|
-
REQUIRED GitHub Secrets (minimal):
|
|
202
|
-
───────────────────────────────────────────────────────
|
|
203
|
-
□ STAGING_SSH - SSH private key for staging
|
|
204
|
-
□ PROD_SSH - SSH private key for production
|
|
205
|
-
□ AWS_SECRET_ACCESS_KEY - AWS secret key (only secret AWS value)
|
|
206
|
-
|
|
207
|
-
OPTIONAL GitHub Secrets:
|
|
208
|
-
───────────────────────────────────────────────────────
|
|
209
|
-
□ STAGING_ENVS - Environment vars from .env.staging
|
|
210
|
-
□ PROD_ENVS - Environment vars from .env.prod
|
|
211
|
-
|
|
212
|
-
NOT SECRETS (in stack.yml):
|
|
213
|
-
───────────────────────────────────────────────────────
|
|
214
|
-
✓ environments.{env}.host - Server IP/hostname
|
|
215
|
-
✓ aws.access_key_id - AWS access key ID
|
|
216
|
-
✓ aws.region - AWS region (e.g., us-east-1)
|
|
217
|
-
|
|
218
|
-
NOT SECRETS (in factiiiAuto.yml):
|
|
219
|
-
───────────────────────────────────────────────────────
|
|
220
|
-
✓ ssh_user - Defaults to ubuntu
|
|
200
|
+
return `
|
|
201
|
+
REQUIRED GitHub Secrets (minimal):
|
|
202
|
+
───────────────────────────────────────────────────────
|
|
203
|
+
□ STAGING_SSH - SSH private key for staging
|
|
204
|
+
□ PROD_SSH - SSH private key for production
|
|
205
|
+
□ AWS_SECRET_ACCESS_KEY - AWS secret key (only secret AWS value)
|
|
206
|
+
|
|
207
|
+
OPTIONAL GitHub Secrets:
|
|
208
|
+
───────────────────────────────────────────────────────
|
|
209
|
+
□ STAGING_ENVS - Environment vars from .env.staging
|
|
210
|
+
□ PROD_ENVS - Environment vars from .env.prod
|
|
211
|
+
|
|
212
|
+
NOT SECRETS (in stack.yml):
|
|
213
|
+
───────────────────────────────────────────────────────
|
|
214
|
+
✓ environments.{env}.host - Server IP/hostname
|
|
215
|
+
✓ aws.access_key_id - AWS access key ID
|
|
216
|
+
✓ aws.region - AWS region (e.g., us-east-1)
|
|
217
|
+
|
|
218
|
+
NOT SECRETS (in factiiiAuto.yml):
|
|
219
|
+
───────────────────────────────────────────────────────
|
|
220
|
+
✓ ssh_user - Defaults to ubuntu
|
|
221
221
|
`.trim();
|
|
222
222
|
}
|
|
223
223
|
//# sourceMappingURL=template-generator.js.map
|