@factiii/stack 0.1.146 → 0.1.148
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/LICENSE +21 -21
- package/README.md +441 -441
- package/bin/stack +289 -289
- package/dist/cli/dev-sync.js +16 -16
- package/dist/cli/fix.d.ts.map +1 -1
- package/dist/cli/fix.js +8 -0
- package/dist/cli/fix.js.map +1 -1
- package/dist/plugins/addons/auth/index.js +7 -7
- package/dist/plugins/addons/vercel/index.js +9 -9
- package/dist/plugins/addons/vercel/scanfix/config.js +10 -10
- package/dist/plugins/addons/vercel/scanfix/token.js +15 -15
- package/dist/plugins/approved.json +13 -13
- package/dist/plugins/pipelines/aws/index.js +12 -12
- package/dist/plugins/pipelines/aws/policies/bootstrap-policy.json +135 -135
- package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/prod.js +27 -10
- package/dist/plugins/pipelines/aws/prod.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.js +111 -4
- package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +1 -2
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/prod.js +24 -18
- package/dist/plugins/pipelines/factiii/prod.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js +27 -4
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -1
- package/dist/plugins/pipelines/factiii/staging.js +19 -19
- package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +75 -75
- package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +73 -73
- package/dist/plugins/servers/amazon-linux/index.js +16 -16
- package/dist/plugins/servers/mac/index.js +12 -12
- package/dist/plugins/servers/mac/staging.js +2 -2
- package/dist/plugins/servers/ubuntu/index.js +23 -23
- package/dist/plugins/servers/windows/index.js +15 -15
- package/dist/scanfix/fixes/certbot.d.ts.map +1 -1
- package/dist/scanfix/fixes/certbot.js +4 -0
- package/dist/scanfix/fixes/certbot.js.map +1 -1
- package/dist/scripts/generate-all.js +73 -73
- package/dist/utils/deployment-report.js +2 -2
- package/dist/utils/secret-prompts.js +34 -34
- package/dist/utils/template-generator.js +74 -74
- package/package.json +1 -1
package/dist/cli/fix.js
CHANGED
|
@@ -140,6 +140,14 @@ async function runLocalFixes(options, reachableStages) {
|
|
|
140
140
|
}
|
|
141
141
|
else {
|
|
142
142
|
console.log('│ ❌ ' + problem.description + timeSuffix);
|
|
143
|
+
if (problem.manualFix) {
|
|
144
|
+
const hint = problem.manualFix.trim().split('\n')
|
|
145
|
+
.map((l) => l.trim())
|
|
146
|
+
.filter((l) => l.length > 0)[0];
|
|
147
|
+
if (hint)
|
|
148
|
+
console.log('│ → ' + hint);
|
|
149
|
+
}
|
|
150
|
+
console.log('│ Run `npx stack fix` again to retry');
|
|
143
151
|
result.failed++;
|
|
144
152
|
result.fixes.push({
|
|
145
153
|
id: problem.id,
|
package/dist/cli/fix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AA8NH,kBAkLC;AA5YD,uCAAiC;AACjC,kDAA0D;AAC1D,kEAAmE;AAsBnE;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAsB;IAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAsB;IACnD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,eAA8B,EAC9B,KAAY,EACZ,MAAqB;IAErB,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAG,2BAA2B,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC;YAC9C,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC;gBACjD,qBAAqB,GAAG,MAAM,CAAC;YACjC,CAAC;YACD,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,IAAI,UAAU,EAAE,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,eAA8B,EAC9B,KAAY,EACZ,MAAqB;IAErB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAC1B,OAAmB,EACnB,eAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAc;QACxB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,oFAAoF;IACpF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,sCAAsC;IACtC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,OAAO,SAAS,GAAG,aAAa,EAAE,CAAC;YACjC,6EAA6E;YAC7E,MAAM,MAAM,GAAG,IAAA,8BAAU,EAAC,OAAO,CAAC,CAAC;YAEnC,4EAA4E;YAC5E,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;YACjG,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAI,EAAC;gBAC1B,GAAG,YAAY;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,KAAK,CAAC;aAChB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,qCAAqC;YACrC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAEpC,gEAAgE;YAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC5G,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAE7B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAE/C,yCAAyC;wBACzC,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAErF,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;4BACxD,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gCAChB,EAAE,EAAE,OAAO,CAAC,EAAE;gCACd,KAAK;gCACL,MAAM,EAAE,OAAO;gCACf,WAAW,EAAE,OAAO,CAAC,WAAW;6BACjC,CAAC,CAAC;4BACH,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;4BACxD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gCACtB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qCAC9C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qCAC5B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1C,IAAI,IAAI;oCAAE,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;4BAC3C,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;4BACxD,MAAM,CAAC,MAAM,EAAE,CAAC;4BAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gCAChB,EAAE,EAAE,OAAO,CAAC,EAAE;gCACd,KAAK;gCACL,MAAM,EAAE,QAAQ;gCAChB,WAAW,EAAE,OAAO,CAAC,WAAW;6BACjC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;wBACjE,MAAM,CAAC,MAAM,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;4BAChB,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,KAAK;4BACL,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,KAAK,EAAE,YAAY;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC5C,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK;wBACL,MAAM,EAAE,QAAQ;wBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,8BAA8B;YACpD,SAAS,EAAE,CAAC;QACd,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,GAAG,CAAC,UAAsB,EAAE;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,8BAAU,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,gCAAgC;IAChC,IAAI,MAAM,GAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,WAA2C,CAAC;IAEhD,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;SAC7B,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;SAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,WAAW,GAAG,SAAS,CAAC,CAAC,2BAA2B;IACtD,CAAC;SACI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpC,WAAW,GAAG,MAAM,CAAC,CAAC,wBAAwB;IAChD,CAAC;SACI,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,+EAA+E;IAC/E,+FAA+F;IAC/F,+EAA+E;IAC/E,iEAAiE;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;IACnG,IAAI,IAAA,6BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAmB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAmC,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAmC,CAAC,CAAC;IAE9E,oCAAoC;IACpC,4DAA4D;IAC5D,MAAM,YAAY,GAAiC,EAAE,CAAC;IACtD,MAAM,WAAW,GAAY,EAAE,CAAC;IAChC,MAAM,YAAY,GAAY,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,gEAAgE;QAChE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3C,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,oDAAoD;YACpD,YAAY,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAExE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;gBACnC,IAAI,YAAY,CAAC,KAAK,CAAE,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;oBACzC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;IAE7E,wEAAwE;IACxE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,oBAAoB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc;YAAE,SAAS;QAE9B,MAAM,aAAa,GAAG,cAAgD,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5C,6DAA6D;YAC7D,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;YACpC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAA4D,CAAC;QACnH,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,SAAS;QAEpC,8DAA8D;QAC9D,0EAA0E;QAC1E,mDAAmD;IACrD,CAAC;IAED,+DAA+D;IAC/D,UAAU;IACV,+DAA+D;IAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEtC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAEpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnC,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,mDAAmD;oBACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;yBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CACT,WAAW;QACX,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ;QAC9B,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS;QACnC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CACnC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,0BAA0B;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;SAAM,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,GAAG,CAAC"}
|
|
@@ -142,13 +142,13 @@ class AuthAddon {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
static helpText = {
|
|
145
|
-
JWT_SECRET: `
|
|
146
|
-
JWT signing secret for @factiii/auth.
|
|
147
|
-
|
|
148
|
-
This is auto-generated (256-bit random) when you run:
|
|
149
|
-
npx stack fix --secrets
|
|
150
|
-
|
|
151
|
-
The secret is stored in Ansible Vault and used to sign
|
|
145
|
+
JWT_SECRET: `
|
|
146
|
+
JWT signing secret for @factiii/auth.
|
|
147
|
+
|
|
148
|
+
This is auto-generated (256-bit random) when you run:
|
|
149
|
+
npx stack fix --secrets
|
|
150
|
+
|
|
151
|
+
The secret is stored in Ansible Vault and used to sign
|
|
152
152
|
authentication tokens (JWT) for your application.`,
|
|
153
153
|
};
|
|
154
154
|
// ============================================================
|
|
@@ -128,15 +128,15 @@ class VercelAddon {
|
|
|
128
128
|
return false;
|
|
129
129
|
}
|
|
130
130
|
static helpText = {
|
|
131
|
-
VERCEL_TOKEN: `
|
|
132
|
-
Vercel API Token for deployments.
|
|
133
|
-
|
|
134
|
-
Get from: https://vercel.com/account/tokens
|
|
135
|
-
|
|
136
|
-
Create a new token with:
|
|
137
|
-
- Scope: Full Account (or specific team)
|
|
138
|
-
- Expiration: No Expiration (or custom)
|
|
139
|
-
|
|
131
|
+
VERCEL_TOKEN: `
|
|
132
|
+
Vercel API Token for deployments.
|
|
133
|
+
|
|
134
|
+
Get from: https://vercel.com/account/tokens
|
|
135
|
+
|
|
136
|
+
Create a new token with:
|
|
137
|
+
- Scope: Full Account (or specific team)
|
|
138
|
+
- Expiration: No Expiration (or custom)
|
|
139
|
+
|
|
140
140
|
The token will be stored securely in Ansible Vault.`,
|
|
141
141
|
};
|
|
142
142
|
// ============================================================
|
|
@@ -259,13 +259,13 @@ exports.fixes = [
|
|
|
259
259
|
return false;
|
|
260
260
|
}
|
|
261
261
|
},
|
|
262
|
-
manualFix: `
|
|
263
|
-
Add Vercel to stack.yml:
|
|
264
|
-
|
|
265
|
-
vercel: {}
|
|
266
|
-
|
|
267
|
-
Then run: npx stack fix
|
|
268
|
-
(Auto-creates project, detects framework, and saves IDs via Vercel API)
|
|
262
|
+
manualFix: `
|
|
263
|
+
Add Vercel to stack.yml:
|
|
264
|
+
|
|
265
|
+
vercel: {}
|
|
266
|
+
|
|
267
|
+
Then run: npx stack fix
|
|
268
|
+
(Auto-creates project, detects framework, and saves IDs via Vercel API)
|
|
269
269
|
`,
|
|
270
270
|
},
|
|
271
271
|
{
|
|
@@ -335,9 +335,9 @@ Then run: npx stack fix
|
|
|
335
335
|
return false;
|
|
336
336
|
}
|
|
337
337
|
},
|
|
338
|
-
manualFix: `
|
|
339
|
-
Run: npx stack fix
|
|
340
|
-
(Auto-creates .vercel/project.json from Vercel API — no CLI needed)
|
|
338
|
+
manualFix: `
|
|
339
|
+
Run: npx stack fix
|
|
340
|
+
(Auto-creates .vercel/project.json from Vercel API — no CLI needed)
|
|
341
341
|
`,
|
|
342
342
|
},
|
|
343
343
|
{
|
|
@@ -107,12 +107,12 @@ exports.fixes = [
|
|
|
107
107
|
return false;
|
|
108
108
|
}
|
|
109
109
|
},
|
|
110
|
-
manualFix: `
|
|
111
|
-
Store VERCEL_TOKEN in Ansible Vault manually:
|
|
112
|
-
|
|
113
|
-
npx stack deploy --secrets set VERCEL_TOKEN
|
|
114
|
-
|
|
115
|
-
Or get token from: https://vercel.com/account/tokens
|
|
110
|
+
manualFix: `
|
|
111
|
+
Store VERCEL_TOKEN in Ansible Vault manually:
|
|
112
|
+
|
|
113
|
+
npx stack deploy --secrets set VERCEL_TOKEN
|
|
114
|
+
|
|
115
|
+
Or get token from: https://vercel.com/account/tokens
|
|
116
116
|
`,
|
|
117
117
|
},
|
|
118
118
|
{
|
|
@@ -128,15 +128,15 @@ Or get token from: https://vercel.com/account/tokens
|
|
|
128
128
|
return !process.env.VERCEL_TOKEN;
|
|
129
129
|
},
|
|
130
130
|
fix: null,
|
|
131
|
-
manualFix: `
|
|
132
|
-
VERCEL_TOKEN is not required in your environment during development.
|
|
133
|
-
It will be automatically read from Ansible Vault during deployment.
|
|
134
|
-
|
|
135
|
-
If you want to set it in your shell for testing:
|
|
136
|
-
export VERCEL_TOKEN="your-token-here"
|
|
137
|
-
|
|
138
|
-
Or add to your shell profile (~/.bashrc, ~/.zshrc):
|
|
139
|
-
export VERCEL_TOKEN="$(npx stack deploy --secrets get VERCEL_TOKEN)"
|
|
131
|
+
manualFix: `
|
|
132
|
+
VERCEL_TOKEN is not required in your environment during development.
|
|
133
|
+
It will be automatically read from Ansible Vault during deployment.
|
|
134
|
+
|
|
135
|
+
If you want to set it in your shell for testing:
|
|
136
|
+
export VERCEL_TOKEN="your-token-here"
|
|
137
|
+
|
|
138
|
+
Or add to your shell profile (~/.bashrc, ~/.zshrc):
|
|
139
|
+
export VERCEL_TOKEN="$(npx stack deploy --secrets get VERCEL_TOKEN)"
|
|
140
140
|
`,
|
|
141
141
|
},
|
|
142
142
|
];
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"description": "List of approved/validated external plugins for Factiii Stack",
|
|
4
|
-
"approved": [
|
|
5
|
-
"@factiii/stack-plugin-expo",
|
|
6
|
-
"@factiii/stack-plugin-prisma-trpc",
|
|
7
|
-
"@factiii/stack-plugin-nextjs"
|
|
8
|
-
],
|
|
9
|
-
"lastUpdated": "2024-12-16"
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"description": "List of approved/validated external plugins for Factiii Stack",
|
|
4
|
+
"approved": [
|
|
5
|
+
"@factiii/stack-plugin-expo",
|
|
6
|
+
"@factiii/stack-plugin-prisma-trpc",
|
|
7
|
+
"@factiii/stack-plugin-nextjs"
|
|
8
|
+
],
|
|
9
|
+
"lastUpdated": "2024-12-16"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
@@ -166,17 +166,17 @@ class AWSPipeline {
|
|
|
166
166
|
'free-tier': free_tier_js_1.default,
|
|
167
167
|
};
|
|
168
168
|
static helpText = {
|
|
169
|
-
SSH: `
|
|
170
|
-
SSH private key for accessing the EC2 instance.
|
|
171
|
-
|
|
172
|
-
Option A: Auto-generate via AWS (recommended)
|
|
173
|
-
- Factiii will create an EC2 Key Pair via AWS API
|
|
174
|
-
|
|
175
|
-
Option B: Use existing key
|
|
169
|
+
SSH: `
|
|
170
|
+
SSH private key for accessing the EC2 instance.
|
|
171
|
+
|
|
172
|
+
Option A: Auto-generate via AWS (recommended)
|
|
173
|
+
- Factiii will create an EC2 Key Pair via AWS API
|
|
174
|
+
|
|
175
|
+
Option B: Use existing key
|
|
176
176
|
ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key`,
|
|
177
|
-
AWS_SECRET_ACCESS_KEY: `
|
|
178
|
-
AWS Secret Access Key
|
|
179
|
-
|
|
177
|
+
AWS_SECRET_ACCESS_KEY: `
|
|
178
|
+
AWS Secret Access Key
|
|
179
|
+
|
|
180
180
|
Get from AWS Console: IAM -> Users -> Security credentials`,
|
|
181
181
|
};
|
|
182
182
|
// ============================================================
|
|
@@ -498,8 +498,8 @@ class AWSPipeline {
|
|
|
498
498
|
}
|
|
499
499
|
try {
|
|
500
500
|
const repoName = config.name ?? 'app';
|
|
501
|
-
await AWSPipeline.sshExec(envConfig, `
|
|
502
|
-
cd ~/.factiii && docker compose stop ${repoName}-prod
|
|
501
|
+
await AWSPipeline.sshExec(envConfig, `
|
|
502
|
+
cd ~/.factiii && docker compose stop ${repoName}-prod
|
|
503
503
|
`);
|
|
504
504
|
return { success: true, message: 'Production containers stopped' };
|
|
505
505
|
}
|
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Version": "2012-10-17",
|
|
3
|
-
"Statement": [
|
|
4
|
-
{
|
|
5
|
-
"Sid": "FactiiiEC2Full",
|
|
6
|
-
"Effect": "Allow",
|
|
7
|
-
"Action": [
|
|
8
|
-
"ec2:CreateVpc",
|
|
9
|
-
"ec2:DeleteVpc",
|
|
10
|
-
"ec2:DescribeVpcs",
|
|
11
|
-
"ec2:ModifyVpcAttribute",
|
|
12
|
-
"ec2:CreateSubnet",
|
|
13
|
-
"ec2:DeleteSubnet",
|
|
14
|
-
"ec2:DescribeSubnets",
|
|
15
|
-
"ec2:ModifySubnetAttribute",
|
|
16
|
-
"ec2:CreateInternetGateway",
|
|
17
|
-
"ec2:DeleteInternetGateway",
|
|
18
|
-
"ec2:AttachInternetGateway",
|
|
19
|
-
"ec2:DetachInternetGateway",
|
|
20
|
-
"ec2:DescribeInternetGateways",
|
|
21
|
-
"ec2:CreateRouteTable",
|
|
22
|
-
"ec2:DeleteRouteTable",
|
|
23
|
-
"ec2:CreateRoute",
|
|
24
|
-
"ec2:AssociateRouteTable",
|
|
25
|
-
"ec2:DescribeRouteTables",
|
|
26
|
-
"ec2:CreateSecurityGroup",
|
|
27
|
-
"ec2:DeleteSecurityGroup",
|
|
28
|
-
"ec2:AuthorizeSecurityGroupIngress",
|
|
29
|
-
"ec2:RevokeSecurityGroupIngress",
|
|
30
|
-
"ec2:DescribeSecurityGroups",
|
|
31
|
-
"ec2:CreateKeyPair",
|
|
32
|
-
"ec2:DeleteKeyPair",
|
|
33
|
-
"ec2:DescribeKeyPairs",
|
|
34
|
-
"ec2:RunInstances",
|
|
35
|
-
"ec2:TerminateInstances",
|
|
36
|
-
"ec2:DescribeInstances",
|
|
37
|
-
"ec2:AllocateAddress",
|
|
38
|
-
"ec2:ReleaseAddress",
|
|
39
|
-
"ec2:AssociateAddress",
|
|
40
|
-
"ec2:DescribeAddresses",
|
|
41
|
-
"ec2:DescribeAvailabilityZones",
|
|
42
|
-
"ec2:DescribeImages",
|
|
43
|
-
"ec2:CreateTags"
|
|
44
|
-
],
|
|
45
|
-
"Resource": "*"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"Sid": "FactiiiRDSFull",
|
|
49
|
-
"Effect": "Allow",
|
|
50
|
-
"Action": [
|
|
51
|
-
"rds:CreateDBInstance",
|
|
52
|
-
"rds:DeleteDBInstance",
|
|
53
|
-
"rds:DescribeDBInstances",
|
|
54
|
-
"rds:CreateDBSubnetGroup",
|
|
55
|
-
"rds:DeleteDBSubnetGroup",
|
|
56
|
-
"rds:DescribeDBSubnetGroups",
|
|
57
|
-
"rds:AddTagsToResource",
|
|
58
|
-
"rds:ListTagsForResource"
|
|
59
|
-
],
|
|
60
|
-
"Resource": "*"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"Sid": "FactiiiS3Full",
|
|
64
|
-
"Effect": "Allow",
|
|
65
|
-
"Action": [
|
|
66
|
-
"s3:CreateBucket",
|
|
67
|
-
"s3:DeleteBucket",
|
|
68
|
-
"s3:ListBucket",
|
|
69
|
-
"s3:PutBucketEncryption",
|
|
70
|
-
"s3:PutBucketPublicAccessBlock",
|
|
71
|
-
"s3:PutBucketCORS",
|
|
72
|
-
"s3:GetBucketEncryption",
|
|
73
|
-
"s3:GetBucketPublicAccessBlock",
|
|
74
|
-
"s3:GetBucketCORS",
|
|
75
|
-
"s3:PutObject",
|
|
76
|
-
"s3:GetObject",
|
|
77
|
-
"s3:ListAllMyBuckets"
|
|
78
|
-
],
|
|
79
|
-
"Resource": "*"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"Sid": "FactiiiECRFull",
|
|
83
|
-
"Effect": "Allow",
|
|
84
|
-
"Action": [
|
|
85
|
-
"ecr:CreateRepository",
|
|
86
|
-
"ecr:DeleteRepository",
|
|
87
|
-
"ecr:DescribeRepositories",
|
|
88
|
-
"ecr:GetAuthorizationToken",
|
|
89
|
-
"ecr:PutLifecyclePolicy",
|
|
90
|
-
"ecr:BatchGetImage",
|
|
91
|
-
"ecr:BatchCheckLayerAvailability",
|
|
92
|
-
"ecr:PutImage",
|
|
93
|
-
"ecr:InitiateLayerUpload",
|
|
94
|
-
"ecr:UploadLayerPart",
|
|
95
|
-
"ecr:CompleteLayerUpload"
|
|
96
|
-
],
|
|
97
|
-
"Resource": "*"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"Sid": "FactiiiSES",
|
|
101
|
-
"Effect": "Allow",
|
|
102
|
-
"Action": [
|
|
103
|
-
"ses:VerifyDomainIdentity",
|
|
104
|
-
"ses:VerifyDomainDkim",
|
|
105
|
-
"ses:GetAccountSendingEnabled",
|
|
106
|
-
"ses:GetIdentityVerificationAttributes",
|
|
107
|
-
"ses:GetIdentityDkimAttributes"
|
|
108
|
-
],
|
|
109
|
-
"Resource": "*"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"Sid": "FactiiiIAMLimited",
|
|
113
|
-
"Effect": "Allow",
|
|
114
|
-
"Action": [
|
|
115
|
-
"iam:CreateUser",
|
|
116
|
-
"iam:DeleteUser",
|
|
117
|
-
"iam:GetUser",
|
|
118
|
-
"iam:PutUserPolicy",
|
|
119
|
-
"iam:DeleteUserPolicy",
|
|
120
|
-
"iam:CreateAccessKey",
|
|
121
|
-
"iam:ListAccessKeys",
|
|
122
|
-
"iam:ListUsers"
|
|
123
|
-
],
|
|
124
|
-
"Resource": "*"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"Sid": "FactiiiSTS",
|
|
128
|
-
"Effect": "Allow",
|
|
129
|
-
"Action": [
|
|
130
|
-
"sts:GetCallerIdentity"
|
|
131
|
-
],
|
|
132
|
-
"Resource": "*"
|
|
133
|
-
}
|
|
134
|
-
]
|
|
135
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Version": "2012-10-17",
|
|
3
|
+
"Statement": [
|
|
4
|
+
{
|
|
5
|
+
"Sid": "FactiiiEC2Full",
|
|
6
|
+
"Effect": "Allow",
|
|
7
|
+
"Action": [
|
|
8
|
+
"ec2:CreateVpc",
|
|
9
|
+
"ec2:DeleteVpc",
|
|
10
|
+
"ec2:DescribeVpcs",
|
|
11
|
+
"ec2:ModifyVpcAttribute",
|
|
12
|
+
"ec2:CreateSubnet",
|
|
13
|
+
"ec2:DeleteSubnet",
|
|
14
|
+
"ec2:DescribeSubnets",
|
|
15
|
+
"ec2:ModifySubnetAttribute",
|
|
16
|
+
"ec2:CreateInternetGateway",
|
|
17
|
+
"ec2:DeleteInternetGateway",
|
|
18
|
+
"ec2:AttachInternetGateway",
|
|
19
|
+
"ec2:DetachInternetGateway",
|
|
20
|
+
"ec2:DescribeInternetGateways",
|
|
21
|
+
"ec2:CreateRouteTable",
|
|
22
|
+
"ec2:DeleteRouteTable",
|
|
23
|
+
"ec2:CreateRoute",
|
|
24
|
+
"ec2:AssociateRouteTable",
|
|
25
|
+
"ec2:DescribeRouteTables",
|
|
26
|
+
"ec2:CreateSecurityGroup",
|
|
27
|
+
"ec2:DeleteSecurityGroup",
|
|
28
|
+
"ec2:AuthorizeSecurityGroupIngress",
|
|
29
|
+
"ec2:RevokeSecurityGroupIngress",
|
|
30
|
+
"ec2:DescribeSecurityGroups",
|
|
31
|
+
"ec2:CreateKeyPair",
|
|
32
|
+
"ec2:DeleteKeyPair",
|
|
33
|
+
"ec2:DescribeKeyPairs",
|
|
34
|
+
"ec2:RunInstances",
|
|
35
|
+
"ec2:TerminateInstances",
|
|
36
|
+
"ec2:DescribeInstances",
|
|
37
|
+
"ec2:AllocateAddress",
|
|
38
|
+
"ec2:ReleaseAddress",
|
|
39
|
+
"ec2:AssociateAddress",
|
|
40
|
+
"ec2:DescribeAddresses",
|
|
41
|
+
"ec2:DescribeAvailabilityZones",
|
|
42
|
+
"ec2:DescribeImages",
|
|
43
|
+
"ec2:CreateTags"
|
|
44
|
+
],
|
|
45
|
+
"Resource": "*"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"Sid": "FactiiiRDSFull",
|
|
49
|
+
"Effect": "Allow",
|
|
50
|
+
"Action": [
|
|
51
|
+
"rds:CreateDBInstance",
|
|
52
|
+
"rds:DeleteDBInstance",
|
|
53
|
+
"rds:DescribeDBInstances",
|
|
54
|
+
"rds:CreateDBSubnetGroup",
|
|
55
|
+
"rds:DeleteDBSubnetGroup",
|
|
56
|
+
"rds:DescribeDBSubnetGroups",
|
|
57
|
+
"rds:AddTagsToResource",
|
|
58
|
+
"rds:ListTagsForResource"
|
|
59
|
+
],
|
|
60
|
+
"Resource": "*"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"Sid": "FactiiiS3Full",
|
|
64
|
+
"Effect": "Allow",
|
|
65
|
+
"Action": [
|
|
66
|
+
"s3:CreateBucket",
|
|
67
|
+
"s3:DeleteBucket",
|
|
68
|
+
"s3:ListBucket",
|
|
69
|
+
"s3:PutBucketEncryption",
|
|
70
|
+
"s3:PutBucketPublicAccessBlock",
|
|
71
|
+
"s3:PutBucketCORS",
|
|
72
|
+
"s3:GetBucketEncryption",
|
|
73
|
+
"s3:GetBucketPublicAccessBlock",
|
|
74
|
+
"s3:GetBucketCORS",
|
|
75
|
+
"s3:PutObject",
|
|
76
|
+
"s3:GetObject",
|
|
77
|
+
"s3:ListAllMyBuckets"
|
|
78
|
+
],
|
|
79
|
+
"Resource": "*"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"Sid": "FactiiiECRFull",
|
|
83
|
+
"Effect": "Allow",
|
|
84
|
+
"Action": [
|
|
85
|
+
"ecr:CreateRepository",
|
|
86
|
+
"ecr:DeleteRepository",
|
|
87
|
+
"ecr:DescribeRepositories",
|
|
88
|
+
"ecr:GetAuthorizationToken",
|
|
89
|
+
"ecr:PutLifecyclePolicy",
|
|
90
|
+
"ecr:BatchGetImage",
|
|
91
|
+
"ecr:BatchCheckLayerAvailability",
|
|
92
|
+
"ecr:PutImage",
|
|
93
|
+
"ecr:InitiateLayerUpload",
|
|
94
|
+
"ecr:UploadLayerPart",
|
|
95
|
+
"ecr:CompleteLayerUpload"
|
|
96
|
+
],
|
|
97
|
+
"Resource": "*"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"Sid": "FactiiiSES",
|
|
101
|
+
"Effect": "Allow",
|
|
102
|
+
"Action": [
|
|
103
|
+
"ses:VerifyDomainIdentity",
|
|
104
|
+
"ses:VerifyDomainDkim",
|
|
105
|
+
"ses:GetAccountSendingEnabled",
|
|
106
|
+
"ses:GetIdentityVerificationAttributes",
|
|
107
|
+
"ses:GetIdentityDkimAttributes"
|
|
108
|
+
],
|
|
109
|
+
"Resource": "*"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"Sid": "FactiiiIAMLimited",
|
|
113
|
+
"Effect": "Allow",
|
|
114
|
+
"Action": [
|
|
115
|
+
"iam:CreateUser",
|
|
116
|
+
"iam:DeleteUser",
|
|
117
|
+
"iam:GetUser",
|
|
118
|
+
"iam:PutUserPolicy",
|
|
119
|
+
"iam:DeleteUserPolicy",
|
|
120
|
+
"iam:CreateAccessKey",
|
|
121
|
+
"iam:ListAccessKeys",
|
|
122
|
+
"iam:ListUsers"
|
|
123
|
+
],
|
|
124
|
+
"Resource": "*"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"Sid": "FactiiiSTS",
|
|
128
|
+
"Effect": "Allow",
|
|
129
|
+
"Action": [
|
|
130
|
+
"sts:GetCallerIdentity"
|
|
131
|
+
],
|
|
132
|
+
"Resource": "*"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prod.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/prod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,wBAAwB,EAEzB,MAAM,yBAAyB,CAAC;AAySjC;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAuFvB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"prod.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/prod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,wBAAwB,EAEzB,MAAM,yBAAyB,CAAC;AAySjC;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAuFvB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,CAiLvB"}
|
|
@@ -152,7 +152,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
|
|
|
152
152
|
else {
|
|
153
153
|
// We're remote - SSH to write
|
|
154
154
|
console.log(` 📝 Writing ${envFileName} on remote server (${envVars.length} variables)...`);
|
|
155
|
-
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
155
|
+
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
156
156
|
${envFileContent}ENVEOF`);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
@@ -381,15 +381,32 @@ async function deployProd(config, environment = 'prod') {
|
|
|
381
381
|
// Existing production setup: docker-compose.yml in ~/
|
|
382
382
|
// Preserve existing configs — only pull new image and restart
|
|
383
383
|
console.log(' ✅ Found existing docker-compose.yml in ~/ — preserving configs');
|
|
384
|
-
// Detect the prod service name
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
384
|
+
// Detect the prod service name using docker compose (most reliable)
|
|
385
|
+
// Falls back to parsing docker-compose.yml if docker compose is unavailable
|
|
386
|
+
let composeServiceKey;
|
|
387
|
+
try {
|
|
388
|
+
// Use docker compose to find the service that uses our ECR image
|
|
389
|
+
const serviceList = await sshExecCommand(envConfig, 'cd ~ && docker compose ps --format json 2>/dev/null || docker compose ps');
|
|
390
|
+
// Look for the service using our ECR image (factiii-server)
|
|
391
|
+
const ecrImagePattern = ecrRepository ?? repoName;
|
|
392
|
+
const jsonServices = serviceList.split('\n').filter(l => l.startsWith('{'));
|
|
393
|
+
let foundService = '';
|
|
394
|
+
for (const line of jsonServices) {
|
|
395
|
+
try {
|
|
396
|
+
const svc = JSON.parse(line);
|
|
397
|
+
if (svc.Image && svc.Image.includes(ecrImagePattern)) {
|
|
398
|
+
foundService = svc.Service || svc.Name || '';
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
catch { /* skip non-JSON lines */ }
|
|
403
|
+
}
|
|
404
|
+
composeServiceKey = foundService || 'prodFactiii';
|
|
405
|
+
}
|
|
406
|
+
catch {
|
|
407
|
+
composeServiceKey = 'prodFactiii';
|
|
408
|
+
}
|
|
409
|
+
console.log(` 📦 Detected prod service: ${composeServiceKey}`);
|
|
393
410
|
// Step 1: Login to ECR and pull latest image
|
|
394
411
|
console.log(' 🔐 Logging in to ECR and pulling image...');
|
|
395
412
|
await sshExecCommand(envConfig, 'echo ' + JSON.stringify(ecrAuth.password) + ' | docker login --username ' + ecrAuth.username + ' --password-stdin ' + ecrRegistry + ' && ' +
|