@factiii/stack 0.1.24 → 0.1.26

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.
Files changed (161) hide show
  1. package/README.md +81 -60
  2. package/bin/{factiii → stack} +12 -12
  3. package/dist/cli/check-config.js +1 -1
  4. package/dist/cli/check-config.js.map +1 -1
  5. package/dist/cli/deploy-secrets.d.ts.map +1 -1
  6. package/dist/cli/deploy-secrets.js +11 -11
  7. package/dist/cli/deploy-secrets.js.map +1 -1
  8. package/dist/cli/deploy.d.ts.map +1 -1
  9. package/dist/cli/deploy.js +19 -9
  10. package/dist/cli/deploy.js.map +1 -1
  11. package/dist/cli/dev-sync.d.ts.map +1 -1
  12. package/dist/cli/dev-sync.js +10 -9
  13. package/dist/cli/dev-sync.js.map +1 -1
  14. package/dist/cli/execute-plugin-command.d.ts.map +1 -1
  15. package/dist/cli/execute-plugin-command.js +7 -7
  16. package/dist/cli/execute-plugin-command.js.map +1 -1
  17. package/dist/cli/fix.d.ts.map +1 -1
  18. package/dist/cli/fix.js +24 -4
  19. package/dist/cli/fix.js.map +1 -1
  20. package/dist/cli/init.d.ts +3 -1
  21. package/dist/cli/init.d.ts.map +1 -1
  22. package/dist/cli/init.js +382 -69
  23. package/dist/cli/init.js.map +1 -1
  24. package/dist/cli/pr-check.d.ts.map +1 -1
  25. package/dist/cli/pr-check.js +5 -4
  26. package/dist/cli/pr-check.js.map +1 -1
  27. package/dist/cli/scan.d.ts +6 -6
  28. package/dist/cli/scan.d.ts.map +1 -1
  29. package/dist/cli/scan.js +46 -30
  30. package/dist/cli/scan.js.map +1 -1
  31. package/dist/cli/secrets.d.ts.map +1 -1
  32. package/dist/cli/secrets.js +17 -16
  33. package/dist/cli/secrets.js.map +1 -1
  34. package/dist/cli/undeploy.d.ts.map +1 -1
  35. package/dist/cli/undeploy.js +4 -4
  36. package/dist/cli/undeploy.js.map +1 -1
  37. package/dist/cli/upgrade.d.ts +1 -1
  38. package/dist/cli/upgrade.js +5 -5
  39. package/dist/cli/upgrade.js.map +1 -1
  40. package/dist/cli/validate.js +1 -1
  41. package/dist/cli/validate.js.map +1 -1
  42. package/dist/constants/config-files.d.ts +23 -0
  43. package/dist/constants/config-files.d.ts.map +1 -0
  44. package/dist/constants/config-files.js +88 -0
  45. package/dist/constants/config-files.js.map +1 -0
  46. package/dist/generators/{generate-factiii-auto.d.ts → generate-stack-auto.d.ts} +4 -4
  47. package/dist/generators/generate-stack-auto.d.ts.map +1 -0
  48. package/dist/generators/{generate-factiii-auto.js → generate-stack-auto.js} +15 -13
  49. package/dist/generators/generate-stack-auto.js.map +1 -0
  50. package/dist/generators/{generate-factiii-yml.d.ts → generate-stack-yml.d.ts} +5 -5
  51. package/dist/generators/generate-stack-yml.d.ts.map +1 -0
  52. package/dist/generators/{generate-factiii-yml.js → generate-stack-yml.js} +16 -15
  53. package/dist/generators/generate-stack-yml.js.map +1 -0
  54. package/dist/generators/index.d.ts +2 -2
  55. package/dist/generators/index.d.ts.map +1 -1
  56. package/dist/generators/index.js +5 -5
  57. package/dist/generators/index.js.map +1 -1
  58. package/dist/plugins/pipelines/aws/index.js +3 -3
  59. package/dist/plugins/pipelines/aws/index.js.map +1 -1
  60. package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -1
  61. package/dist/plugins/pipelines/aws/scanfix/credentials.js +36 -44
  62. package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -1
  63. package/dist/plugins/pipelines/aws/scanfix/ec2.js +1 -1
  64. package/dist/plugins/pipelines/aws/scanfix/ec2.js.map +1 -1
  65. package/dist/plugins/pipelines/aws/scanfix/iam.js +2 -2
  66. package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
  67. package/dist/plugins/pipelines/aws/scanfix/rds.js +2 -2
  68. package/dist/plugins/pipelines/aws/scanfix/rds.js.map +1 -1
  69. package/dist/plugins/pipelines/factiii/index.d.ts +5 -3
  70. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
  71. package/dist/plugins/pipelines/factiii/index.js +14 -77
  72. package/dist/plugins/pipelines/factiii/index.js.map +1 -1
  73. package/dist/plugins/pipelines/factiii/pr-check.d.ts +1 -1
  74. package/dist/plugins/pipelines/factiii/pr-check.js +1 -1
  75. package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -1
  76. package/dist/plugins/pipelines/factiii/prod.js +3 -3
  77. package/dist/plugins/pipelines/factiii/prod.js.map +1 -1
  78. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +1 -1
  79. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -1
  80. package/dist/plugins/pipelines/factiii/scanfix/config.js +10 -11
  81. package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -1
  82. package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts +12 -0
  83. package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts.map +1 -0
  84. package/dist/plugins/pipelines/factiii/scanfix/env-files.js +310 -0
  85. package/dist/plugins/pipelines/factiii/scanfix/env-files.js.map +1 -0
  86. package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts +7 -0
  87. package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts.map +1 -0
  88. package/dist/plugins/pipelines/factiii/scanfix/local-config.js +70 -0
  89. package/dist/plugins/pipelines/factiii/scanfix/local-config.js.map +1 -0
  90. package/dist/plugins/pipelines/factiii/scanfix/secrets.js +6 -6
  91. package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -1
  92. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -1
  93. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +16 -26
  94. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -1
  95. package/dist/plugins/pipelines/factiii/staging.d.ts +1 -1
  96. package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -1
  97. package/dist/plugins/pipelines/factiii/staging.js +3 -2
  98. package/dist/plugins/pipelines/factiii/staging.js.map +1 -1
  99. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -1
  100. package/dist/plugins/pipelines/factiii/utils/workflows.js +6 -21
  101. package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -1
  102. package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +56 -0
  103. package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +54 -0
  104. package/dist/plugins/servers/mac/scanfix/containers.js +1 -1
  105. package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -1
  106. package/dist/scanfix/fixes/pnpm.d.ts.map +1 -1
  107. package/dist/scanfix/fixes/pnpm.js +2 -2
  108. package/dist/scanfix/fixes/pnpm.js.map +1 -1
  109. package/dist/scripts/generate-all.d.ts.map +1 -1
  110. package/dist/scripts/generate-all.js +9 -8
  111. package/dist/scripts/generate-all.js.map +1 -1
  112. package/dist/scripts/get-repo-name.d.ts +1 -1
  113. package/dist/scripts/get-repo-name.js +5 -3
  114. package/dist/scripts/get-repo-name.js.map +1 -1
  115. package/dist/scripts/validate-env-files.js +7 -1
  116. package/dist/scripts/validate-env-files.js.map +1 -1
  117. package/dist/scripts/validate-example-values.d.ts +1 -1
  118. package/dist/scripts/validate-example-values.js +3 -2
  119. package/dist/scripts/validate-example-values.js.map +1 -1
  120. package/dist/scripts/validate-stack-yml.d.ts +6 -0
  121. package/dist/scripts/validate-stack-yml.d.ts.map +1 -0
  122. package/dist/scripts/{validate-factiii-yml.js → validate-stack-yml.js} +15 -11
  123. package/dist/scripts/validate-stack-yml.js.map +1 -0
  124. package/dist/utils/config-helpers.d.ts +15 -0
  125. package/dist/utils/config-helpers.d.ts.map +1 -1
  126. package/dist/utils/config-helpers.js +57 -5
  127. package/dist/utils/config-helpers.js.map +1 -1
  128. package/dist/utils/config-validator.d.ts +2 -2
  129. package/dist/utils/config-validator.d.ts.map +1 -1
  130. package/dist/utils/config-validator.js +7 -6
  131. package/dist/utils/config-validator.js.map +1 -1
  132. package/dist/utils/config-writer.d.ts +2 -2
  133. package/dist/utils/config-writer.d.ts.map +1 -1
  134. package/dist/utils/config-writer.js +6 -6
  135. package/dist/utils/config-writer.js.map +1 -1
  136. package/dist/utils/deployment-report.js +4 -4
  137. package/dist/utils/deployment-report.js.map +1 -1
  138. package/dist/utils/ssh-helper.js +6 -6
  139. package/dist/utils/ssh-helper.js.map +1 -1
  140. package/dist/utils/template-generator.js +1 -1
  141. package/dist/utils/version-check.d.ts +1 -1
  142. package/dist/utils/version-check.d.ts.map +1 -1
  143. package/dist/utils/version-check.js +9 -8
  144. package/dist/utils/version-check.js.map +1 -1
  145. package/package.json +8 -2
  146. package/dist/generators/generate-factiii-auto.d.ts.map +0 -1
  147. package/dist/generators/generate-factiii-auto.js.map +0 -1
  148. package/dist/generators/generate-factiii-yml.d.ts.map +0 -1
  149. package/dist/generators/generate-factiii-yml.js.map +0 -1
  150. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +0 -112
  151. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +0 -117
  152. package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +0 -130
  153. package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +0 -198
  154. package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +0 -179
  155. package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +0 -176
  156. package/dist/plugins/pipelines/factiii/workflows/factiii-pr-check.yml +0 -103
  157. package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +0 -176
  158. package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +0 -95
  159. package/dist/scripts/validate-factiii-yml.d.ts +0 -6
  160. package/dist/scripts/validate-factiii-yml.d.ts.map +0 -1
  161. package/dist/scripts/validate-factiii-yml.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Configuration-related fixes for Factiii Pipeline plugin
4
- * Handles factiii.yml file generation and validation
4
+ * Handles stack.yml file generation and validation
5
5
  */
6
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
7
  if (k2 === undefined) k2 = k;
@@ -39,22 +39,22 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.configFixes = void 0;
41
41
  const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
42
+ const config_files_js_1 = require("../../../../constants/config-files.js");
43
43
  exports.configFixes = [
44
44
  {
45
45
  id: 'example-values-in-config',
46
46
  stage: 'dev',
47
47
  severity: 'critical',
48
- description: 'factiii.yml contains EXAMPLE- placeholder values that must be replaced',
48
+ description: config_files_js_1.STACK_CONFIG_FILENAME + ' contains EXAMPLE- placeholder values that must be replaced',
49
49
  scan: async (_config, rootDir) => {
50
- const configPath = path.join(rootDir, 'factiii.yml');
50
+ const configPath = (0, config_files_js_1.getStackConfigPath)(rootDir);
51
51
  if (!fs.existsSync(configPath))
52
52
  return false;
53
53
  const content = fs.readFileSync(configPath, 'utf8');
54
54
  return content.includes('EXAMPLE-');
55
55
  },
56
56
  fix: null,
57
- manualFix: 'Replace all EXAMPLE- prefixed values in factiii.yml with your actual values:\n' +
57
+ manualFix: 'Replace all EXAMPLE- prefixed values in ' + config_files_js_1.STACK_CONFIG_FILENAME + ' with your actual values:\n' +
58
58
  ' - name: your-repo-name\n' +
59
59
  ' - github_repo: your-username/your-repo\n' +
60
60
  ' - ssl_email: your-email@domain.com\n' +
@@ -62,19 +62,18 @@ exports.configFixes = [
62
62
  ' - prod.domain: yourdomain.com',
63
63
  },
64
64
  {
65
- id: 'missing-factiii-yml',
65
+ id: 'missing-stack-yml',
66
66
  stage: 'dev',
67
67
  severity: 'critical',
68
- description: 'factiii.yml configuration file not found',
68
+ description: config_files_js_1.STACK_CONFIG_FILENAME + ' configuration file not found',
69
69
  scan: async (_config, rootDir) => {
70
- return !fs.existsSync(path.join(rootDir, 'factiii.yml'));
70
+ return !fs.existsSync((0, config_files_js_1.getStackConfigPath)(rootDir));
71
71
  },
72
72
  fix: async (_config, rootDir) => {
73
- // Generate from plugin schemas
74
- const { generateFactiiiYml } = await Promise.resolve().then(() => __importStar(require('../../../../generators/generate-factiii-yml.js')));
73
+ const { generateFactiiiYml } = await Promise.resolve().then(() => __importStar(require('../../../../generators/generate-stack-yml.js')));
75
74
  return generateFactiiiYml(rootDir, { force: false });
76
75
  },
77
- manualFix: 'Run: npx factiii fix (will create factiii.yml from plugin schemas)',
76
+ manualFix: 'Run: npx stack fix (will create ' + config_files_js_1.STACK_CONFIG_FILENAME + ' from plugin schemas)',
78
77
  },
79
78
  ];
80
79
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAGhB,QAAA,WAAW,GAAU;IAChC;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,wEAAwE;QACrF,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,GAAG,EAAE,IAAI;QACT,SAAS,EACP,gFAAgF;YAChF,gCAAgC;YAChC,gDAAgD;YAChD,4CAA4C;YAC5C,kDAAkD;YAClD,qCAAqC;KACxC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACxE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACvE,+BAA+B;YAC/B,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAC7B,gDAAgD,GACjD,CAAC;YACF,OAAO,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAE,oEAAoE;KAChF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AAEzB,2EAAkG;AAErF,QAAA,WAAW,GAAU;IAChC;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,uCAAqB,GAAG,6DAA6D;QAClG,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACxE,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,GAAG,EAAE,IAAI;QACT,SAAS,EACP,0CAA0C,GAAG,uCAAqB,GAAG,6BAA6B;YAClG,gCAAgC;YAChC,gDAAgD;YAChD,4CAA4C;YAC5C,kDAAkD;YAClD,qCAAqC;KACxC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,uCAAqB,GAAG,+BAA+B;QACpE,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACxE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAA,oCAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACvE,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAC7B,8CAA8C,GAC/C,CAAC;YACF,OAAO,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAE,kCAAkC,GAAG,uCAAqB,GAAG,uBAAuB;KAChG;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Environment file scanfixes for Factiii Pipeline plugin
3
+ *
4
+ * Validates .env.example, .env.staging, .env.prod:
5
+ * - File existence
6
+ * - Key completeness (all keys from .env.example present)
7
+ * - Value matching warnings (staging/prod values shouldn't match dev)
8
+ * - Vault storage (env files should be encrypted in Ansible Vault)
9
+ */
10
+ import type { Fix } from '../../../../types/index.js';
11
+ export declare const envFileFixes: Fix[];
12
+ //# sourceMappingURL=env-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-files.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/env-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AASrE,eAAO,MAAM,YAAY,EAAE,GAAG,EAiQ7B,CAAC"}
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ /**
3
+ * Environment file scanfixes for Factiii Pipeline plugin
4
+ *
5
+ * Validates .env.example, .env.staging, .env.prod:
6
+ * - File existence
7
+ * - Key completeness (all keys from .env.example present)
8
+ * - Value matching warnings (staging/prod values shouldn't match dev)
9
+ * - Vault storage (env files should be encrypted in Ansible Vault)
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.envFileFixes = void 0;
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const env_validator_js_1 = require("../../../../utils/env-validator.js");
49
+ const config_helpers_js_1 = require("../../../../utils/config-helpers.js");
50
+ /**
51
+ * Values that are commonly identical across environments and shouldn't trigger warnings
52
+ */
53
+ const TRIVIALLY_IDENTICAL = new Set(['', 'true', 'false', '0', '1', 'yes', 'no']);
54
+ exports.envFileFixes = [
55
+ // ── File existence checks ──────────────────────────────────────
56
+ {
57
+ id: 'missing-env-example',
58
+ stage: 'dev',
59
+ severity: 'warning',
60
+ description: '.env.example not found (template for environment variables)',
61
+ scan: async (_config, rootDir) => {
62
+ return !fs.existsSync(path.join(rootDir, '.env.example'));
63
+ },
64
+ fix: null,
65
+ manualFix: 'Create .env.example with your environment variables as a template',
66
+ },
67
+ {
68
+ id: 'missing-env-staging',
69
+ stage: 'staging',
70
+ severity: 'critical',
71
+ description: '.env.staging not found',
72
+ scan: async (config, rootDir) => {
73
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
74
+ if (!envs.staging)
75
+ return false; // staging not configured, skip
76
+ return !fs.existsSync(path.join(rootDir, '.env.staging'));
77
+ },
78
+ fix: async (_config, rootDir) => {
79
+ const examplePath = path.join(rootDir, '.env.example');
80
+ if (!fs.existsSync(examplePath))
81
+ return false;
82
+ fs.copyFileSync(examplePath, path.join(rootDir, '.env.staging'));
83
+ console.log(' Copied .env.example to .env.staging - edit with real staging values');
84
+ return true;
85
+ },
86
+ manualFix: 'Copy .env.example to .env.staging and fill in staging values',
87
+ },
88
+ {
89
+ id: 'missing-env-prod',
90
+ stage: 'prod',
91
+ severity: 'critical',
92
+ description: '.env.prod not found',
93
+ scan: async (config, rootDir) => {
94
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
95
+ const hasProd = !!envs.prod || !!envs.production;
96
+ if (!hasProd)
97
+ return false; // prod not configured, skip
98
+ return !fs.existsSync(path.join(rootDir, '.env.prod'));
99
+ },
100
+ fix: async (_config, rootDir) => {
101
+ const examplePath = path.join(rootDir, '.env.example');
102
+ if (!fs.existsSync(examplePath))
103
+ return false;
104
+ fs.copyFileSync(examplePath, path.join(rootDir, '.env.prod'));
105
+ console.log(' Copied .env.example to .env.prod - edit with real production values');
106
+ return true;
107
+ },
108
+ manualFix: 'Copy .env.example to .env.prod and fill in production values',
109
+ },
110
+ // ── Key validation ─────────────────────────────────────────────
111
+ {
112
+ id: 'env-staging-missing-keys',
113
+ stage: 'staging',
114
+ severity: 'critical',
115
+ description: '.env.staging is missing keys from .env.example',
116
+ scan: async (config, rootDir) => {
117
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
118
+ if (!envs.staging)
119
+ return false;
120
+ const dev = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.example'));
121
+ const staging = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.staging'));
122
+ if (!dev || !staging)
123
+ return false;
124
+ const comparison = (0, env_validator_js_1.compareEnvKeys)(dev, staging);
125
+ if (comparison.missing.length > 0) {
126
+ // Store missing keys for display in description
127
+ this._missingKeys = comparison.missing;
128
+ }
129
+ return comparison.missing.length > 0;
130
+ },
131
+ fix: null,
132
+ manualFix: 'Add missing keys to .env.staging (compare with .env.example)',
133
+ },
134
+ {
135
+ id: 'env-prod-missing-keys',
136
+ stage: 'prod',
137
+ severity: 'critical',
138
+ description: '.env.prod is missing keys from .env.example',
139
+ scan: async (config, rootDir) => {
140
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
141
+ const hasProd = !!envs.prod || !!envs.production;
142
+ if (!hasProd)
143
+ return false;
144
+ const dev = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.example'));
145
+ const prod = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.prod'));
146
+ if (!dev || !prod)
147
+ return false;
148
+ const comparison = (0, env_validator_js_1.compareEnvKeys)(dev, prod);
149
+ return comparison.missing.length > 0;
150
+ },
151
+ fix: null,
152
+ manualFix: 'Add missing keys to .env.prod (compare with .env.example)',
153
+ },
154
+ // ── Value matching warnings (dev vs staging/prod) ──────────────
155
+ {
156
+ id: 'env-staging-matches-dev',
157
+ stage: 'staging',
158
+ severity: 'warning',
159
+ description: '.env.staging has values identical to .env.example (probably needs updating)',
160
+ scan: async (config, rootDir) => {
161
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
162
+ if (!envs.staging)
163
+ return false;
164
+ const dev = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.example'));
165
+ const staging = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.staging'));
166
+ if (!dev || !staging)
167
+ return false;
168
+ const matching = (0, env_validator_js_1.findMatchingValues)(dev, staging);
169
+ // Filter out trivially-identical values
170
+ const meaningful = matching.filter((key) => {
171
+ const val = dev[key];
172
+ return val !== undefined && !TRIVIALLY_IDENTICAL.has(val);
173
+ });
174
+ return meaningful.length > 0;
175
+ },
176
+ fix: null,
177
+ manualFix: 'Update .env.staging values that are identical to .env.example (dev values)',
178
+ },
179
+ {
180
+ id: 'env-prod-matches-dev',
181
+ stage: 'prod',
182
+ severity: 'warning',
183
+ description: '.env.prod has values identical to .env.example (probably needs updating)',
184
+ scan: async (config, rootDir) => {
185
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
186
+ const hasProd = !!envs.prod || !!envs.production;
187
+ if (!hasProd)
188
+ return false;
189
+ const dev = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.example'));
190
+ const prod = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.prod'));
191
+ if (!dev || !prod)
192
+ return false;
193
+ const matching = (0, env_validator_js_1.findMatchingValues)(dev, prod);
194
+ const meaningful = matching.filter((key) => {
195
+ const val = dev[key];
196
+ return val !== undefined && !TRIVIALLY_IDENTICAL.has(val);
197
+ });
198
+ return meaningful.length > 0;
199
+ },
200
+ fix: null,
201
+ manualFix: 'Update .env.prod values that are identical to .env.example (dev values)',
202
+ },
203
+ // ── Vault storage ──────────────────────────────────────────────
204
+ {
205
+ id: 'env-staging-not-in-vault',
206
+ stage: 'secrets',
207
+ severity: 'warning',
208
+ description: '.env.staging not stored in Ansible Vault',
209
+ scan: async (config, rootDir) => {
210
+ if (!config.ansible?.vault_path)
211
+ return false;
212
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
213
+ if (!envs.staging)
214
+ return false;
215
+ if (!fs.existsSync(path.join(rootDir, '.env.staging')))
216
+ return false;
217
+ try {
218
+ const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
219
+ const vault = new AnsibleVaultSecrets({
220
+ vault_path: config.ansible.vault_path,
221
+ vault_password_file: config.ansible.vault_password_file ?? '~/.vault_pass',
222
+ rootDir,
223
+ });
224
+ const has = await vault.hasEnvironmentSecrets('staging');
225
+ return !has;
226
+ }
227
+ catch {
228
+ return false; // Can't check vault, skip
229
+ }
230
+ },
231
+ fix: async (config, rootDir) => {
232
+ if (!config.ansible?.vault_path)
233
+ return false;
234
+ const envVars = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.staging'));
235
+ if (!envVars)
236
+ return false;
237
+ try {
238
+ const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
239
+ const vault = new AnsibleVaultSecrets({
240
+ vault_path: config.ansible.vault_path,
241
+ vault_password_file: config.ansible.vault_password_file ?? '~/.vault_pass',
242
+ rootDir,
243
+ });
244
+ await vault.setEnvironmentSecrets('staging', envVars);
245
+ console.log(' Stored .env.staging in vault as staging_envs');
246
+ return true;
247
+ }
248
+ catch (e) {
249
+ const msg = e instanceof Error ? e.message : String(e);
250
+ console.log(' Failed to store in vault: ' + msg);
251
+ return false;
252
+ }
253
+ },
254
+ manualFix: 'Run: npx stack fix (will store .env.staging in Ansible Vault)',
255
+ },
256
+ {
257
+ id: 'env-prod-not-in-vault',
258
+ stage: 'secrets',
259
+ severity: 'warning',
260
+ description: '.env.prod not stored in Ansible Vault',
261
+ scan: async (config, rootDir) => {
262
+ if (!config.ansible?.vault_path)
263
+ return false;
264
+ const envs = (0, config_helpers_js_1.extractEnvironments)(config);
265
+ const hasProd = !!envs.prod || !!envs.production;
266
+ if (!hasProd)
267
+ return false;
268
+ if (!fs.existsSync(path.join(rootDir, '.env.prod')))
269
+ return false;
270
+ try {
271
+ const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
272
+ const vault = new AnsibleVaultSecrets({
273
+ vault_path: config.ansible.vault_path,
274
+ vault_password_file: config.ansible.vault_password_file ?? '~/.vault_pass',
275
+ rootDir,
276
+ });
277
+ const has = await vault.hasEnvironmentSecrets('prod');
278
+ return !has;
279
+ }
280
+ catch {
281
+ return false;
282
+ }
283
+ },
284
+ fix: async (config, rootDir) => {
285
+ if (!config.ansible?.vault_path)
286
+ return false;
287
+ const envVars = (0, env_validator_js_1.parseEnvFile)(path.join(rootDir, '.env.prod'));
288
+ if (!envVars)
289
+ return false;
290
+ try {
291
+ const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
292
+ const vault = new AnsibleVaultSecrets({
293
+ vault_path: config.ansible.vault_path,
294
+ vault_password_file: config.ansible.vault_password_file ?? '~/.vault_pass',
295
+ rootDir,
296
+ });
297
+ await vault.setEnvironmentSecrets('prod', envVars);
298
+ console.log(' Stored .env.prod in vault as prod_envs');
299
+ return true;
300
+ }
301
+ catch (e) {
302
+ const msg = e instanceof Error ? e.message : String(e);
303
+ console.log(' Failed to store in vault: ' + msg);
304
+ return false;
305
+ }
306
+ },
307
+ manualFix: 'Run: npx stack fix (will store .env.prod in Ansible Vault)',
308
+ },
309
+ ];
310
+ //# sourceMappingURL=env-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-files.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/env-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Local config scanfix for Factiii Pipeline plugin
3
+ * Warns if stack.local.yml is missing (per-developer, gitignored config)
4
+ */
5
+ import type { Fix } from '../../../../types/index.js';
6
+ export declare const localConfigFixes: Fix[];
7
+ //# sourceMappingURL=local-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-config.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/local-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAGrE,eAAO,MAAM,gBAAgB,EAAE,GAAG,EA2BjC,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Local config scanfix for Factiii Pipeline plugin
4
+ * Warns if stack.local.yml is missing (per-developer, gitignored config)
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.localConfigFixes = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const config_files_js_1 = require("../../../../constants/config-files.js");
43
+ exports.localConfigFixes = [
44
+ {
45
+ id: 'missing-local-config',
46
+ stage: 'dev',
47
+ severity: 'warning',
48
+ description: config_files_js_1.STACK_LOCAL_FILENAME + ' not found (specifies your dev OS)',
49
+ scan: async (_config, rootDir) => {
50
+ const localPath = (0, config_files_js_1.getStackLocalPath)(rootDir);
51
+ return !fs.existsSync(localPath);
52
+ },
53
+ fix: async (_config, rootDir) => {
54
+ const localPath = (0, config_files_js_1.getStackLocalPath)(rootDir);
55
+ let devOS = 'ubuntu';
56
+ if (process.platform === 'darwin')
57
+ devOS = 'mac';
58
+ else if (process.platform === 'win32')
59
+ devOS = 'windows';
60
+ const content = '# Local machine config (gitignored - each developer has their own)\n' +
61
+ '# Generated by: npx stack fix\n' +
62
+ '\n' +
63
+ 'dev_os: ' + devOS + '\n';
64
+ fs.writeFileSync(localPath, content, 'utf8');
65
+ return true;
66
+ },
67
+ manualFix: 'Create ' + config_files_js_1.STACK_LOCAL_FILENAME + ' with: dev_os: mac|windows|ubuntu',
68
+ },
69
+ ];
70
+ //# sourceMappingURL=local-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/local-config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AAEzB,2EAAgG;AAEnF,QAAA,gBAAgB,GAAU;IACrC;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sCAAoB,GAAG,oCAAoC;QACxE,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACxE,MAAM,SAAS,GAAG,IAAA,mCAAiB,EAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAoB,EAAE;YACvE,MAAM,SAAS,GAAG,IAAA,mCAAiB,EAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,GAAG,QAAQ,CAAC;YACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAAE,KAAK,GAAG,KAAK,CAAC;iBAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAAE,KAAK,GAAG,SAAS,CAAC;YAEzD,MAAM,OAAO,GACX,sEAAsE;gBACtE,iCAAiC;gBACjC,IAAI;gBACJ,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;YAE5B,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,EAAE,SAAS,GAAG,sCAAoB,GAAG,mCAAmC;KAClF;CACF,CAAC"}
@@ -109,7 +109,7 @@ exports.secretsFixes = [
109
109
  manualFix: 'Store your staging SSH key in the vault:\n' +
110
110
  ' 1. Generate key: ssh-keygen -t ed25519 -C "staging-deploy" -f ~/.ssh/staging_deploy_key\n' +
111
111
  ' 2. Add to server: ssh-copy-id -i ~/.ssh/staging_deploy_key.pub user@staging-host\n' +
112
- ' 3. Store in vault: npx factiii secrets set STAGING_SSH',
112
+ ' 3. Store in vault: npx stack secrets set STAGING_SSH',
113
113
  },
114
114
  {
115
115
  id: 'missing-prod-ssh',
@@ -145,7 +145,7 @@ exports.secretsFixes = [
145
145
  manualFix: 'Store your prod SSH key in the vault:\n' +
146
146
  ' 1. Generate key: ssh-keygen -t ed25519 -C "prod-deploy" -f ~/.ssh/prod_deploy_key\n' +
147
147
  ' 2. Add to server: ssh-copy-id -i ~/.ssh/prod_deploy_key.pub user@prod-host\n' +
148
- ' 3. Store in vault: npx factiii secrets set PROD_SSH',
148
+ ' 3. Store in vault: npx stack secrets set PROD_SSH',
149
149
  },
150
150
  {
151
151
  id: 'missing-aws-secret',
@@ -178,7 +178,7 @@ exports.secretsFixes = [
178
178
  return false;
179
179
  }
180
180
  },
181
- manualFix: 'Set AWS_SECRET_ACCESS_KEY secret: npx factiii secrets set AWS_SECRET_ACCESS_KEY',
181
+ manualFix: 'Set AWS_SECRET_ACCESS_KEY secret: npx stack secrets set AWS_SECRET_ACCESS_KEY',
182
182
  },
183
183
  {
184
184
  id: 'missing-vault-password-file',
@@ -197,7 +197,7 @@ exports.secretsFixes = [
197
197
  manualFix: 'Create the vault password file specified in factiii.yml ansible.vault_password_file:\n' +
198
198
  ' macOS/Linux: echo "your-vault-password" > ~/.vault_pass && chmod 600 ~/.vault_pass\n' +
199
199
  ' Windows: echo your-vault-password > %USERPROFILE%\\.vault_pass\n' +
200
- ' Or run: npx factiii init (will guide you through vault setup)',
200
+ ' Or run: npx stack init (will guide you through vault setup)',
201
201
  },
202
202
  {
203
203
  id: 'missing-ssh-key-staging',
@@ -214,7 +214,7 @@ exports.secretsFixes = [
214
214
  return !fs.existsSync(keyPath);
215
215
  },
216
216
  fix: null,
217
- manualFix: 'Extract SSH keys from vault: npx factiii secrets write-ssh-keys',
217
+ manualFix: 'Extract SSH keys from vault: npx stack secrets write-ssh-keys',
218
218
  },
219
219
  {
220
220
  id: 'missing-ssh-key-prod',
@@ -231,7 +231,7 @@ exports.secretsFixes = [
231
231
  return !fs.existsSync(keyPath);
232
232
  },
233
233
  fix: null,
234
- manualFix: 'Extract SSH keys from vault: npx factiii secrets write-ssh-keys',
234
+ manualFix: 'Extract SSH keys from vault: npx stack secrets write-ssh-keys',
235
235
  },
236
236
  ];
237
237
  //# sourceMappingURL=secrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/secrets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/workflows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAIrE,eAAO,MAAM,aAAa,EAAE,GAAG,EAyI9B,CAAC"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/workflows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAIrE,eAAO,MAAM,aAAa,EAAE,GAAG,EAmI9B,CAAC"}