@factiii/stack 0.1.2

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 (400) hide show
  1. package/README.md +420 -0
  2. package/bin/factiii +229 -0
  3. package/dist/cli/check-config.d.ts +9 -0
  4. package/dist/cli/check-config.d.ts.map +1 -0
  5. package/dist/cli/check-config.js +19 -0
  6. package/dist/cli/check-config.js.map +1 -0
  7. package/dist/cli/deploy-secrets.d.ts +16 -0
  8. package/dist/cli/deploy-secrets.d.ts.map +1 -0
  9. package/dist/cli/deploy-secrets.js +227 -0
  10. package/dist/cli/deploy-secrets.js.map +1 -0
  11. package/dist/cli/deploy.d.ts +30 -0
  12. package/dist/cli/deploy.d.ts.map +1 -0
  13. package/dist/cli/deploy.js +306 -0
  14. package/dist/cli/deploy.js.map +1 -0
  15. package/dist/cli/deployer.d.ts +13 -0
  16. package/dist/cli/deployer.d.ts.map +1 -0
  17. package/dist/cli/deployer.js +21 -0
  18. package/dist/cli/deployer.js.map +1 -0
  19. package/dist/cli/dev-sync.d.ts +30 -0
  20. package/dist/cli/dev-sync.d.ts.map +1 -0
  21. package/dist/cli/dev-sync.js +500 -0
  22. package/dist/cli/dev-sync.js.map +1 -0
  23. package/dist/cli/execute-plugin-command.d.ts +25 -0
  24. package/dist/cli/execute-plugin-command.d.ts.map +1 -0
  25. package/dist/cli/execute-plugin-command.js +237 -0
  26. package/dist/cli/execute-plugin-command.js.map +1 -0
  27. package/dist/cli/fix.d.ts +22 -0
  28. package/dist/cli/fix.d.ts.map +1 -0
  29. package/dist/cli/fix.js +267 -0
  30. package/dist/cli/fix.js.map +1 -0
  31. package/dist/cli/index.d.ts +17 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +31 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/init.d.ts +9 -0
  36. package/dist/cli/init.d.ts.map +1 -0
  37. package/dist/cli/init.js +190 -0
  38. package/dist/cli/init.js.map +1 -0
  39. package/dist/cli/plugin-commands.d.ts +22 -0
  40. package/dist/cli/plugin-commands.d.ts.map +1 -0
  41. package/dist/cli/plugin-commands.js +121 -0
  42. package/dist/cli/plugin-commands.js.map +1 -0
  43. package/dist/cli/scan.d.ts +66 -0
  44. package/dist/cli/scan.d.ts.map +1 -0
  45. package/dist/cli/scan.js +511 -0
  46. package/dist/cli/scan.js.map +1 -0
  47. package/dist/cli/secrets.d.ts +19 -0
  48. package/dist/cli/secrets.d.ts.map +1 -0
  49. package/dist/cli/secrets.js +318 -0
  50. package/dist/cli/secrets.js.map +1 -0
  51. package/dist/cli/undeploy.d.ts +9 -0
  52. package/dist/cli/undeploy.d.ts.map +1 -0
  53. package/dist/cli/undeploy.js +95 -0
  54. package/dist/cli/undeploy.js.map +1 -0
  55. package/dist/cli/upgrade.d.ts +9 -0
  56. package/dist/cli/upgrade.d.ts.map +1 -0
  57. package/dist/cli/upgrade.js +24 -0
  58. package/dist/cli/upgrade.js.map +1 -0
  59. package/dist/cli/validate.d.ts +9 -0
  60. package/dist/cli/validate.d.ts.map +1 -0
  61. package/dist/cli/validate.js +20 -0
  62. package/dist/cli/validate.js.map +1 -0
  63. package/dist/generators/generate-factiii-auto.d.ts +31 -0
  64. package/dist/generators/generate-factiii-auto.d.ts.map +1 -0
  65. package/dist/generators/generate-factiii-auto.js +251 -0
  66. package/dist/generators/generate-factiii-auto.js.map +1 -0
  67. package/dist/generators/generate-factiii-yml.d.ts +23 -0
  68. package/dist/generators/generate-factiii-yml.d.ts.map +1 -0
  69. package/dist/generators/generate-factiii-yml.js +228 -0
  70. package/dist/generators/generate-factiii-yml.js.map +1 -0
  71. package/dist/generators/index.d.ts +8 -0
  72. package/dist/generators/index.d.ts.map +1 -0
  73. package/dist/generators/index.js +14 -0
  74. package/dist/generators/index.js.map +1 -0
  75. package/dist/index.d.ts +39 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +90 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/plugins/addons/server-mode/index.d.ts +57 -0
  80. package/dist/plugins/addons/server-mode/index.d.ts.map +1 -0
  81. package/dist/plugins/addons/server-mode/index.js +136 -0
  82. package/dist/plugins/addons/server-mode/index.js.map +1 -0
  83. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +17 -0
  84. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -0
  85. package/dist/plugins/addons/server-mode/scanfix/mac.js +461 -0
  86. package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -0
  87. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts +12 -0
  88. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts.map +1 -0
  89. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js +246 -0
  90. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js.map +1 -0
  91. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts +14 -0
  92. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts.map +1 -0
  93. package/dist/plugins/addons/server-mode/scanfix/windows.js +113 -0
  94. package/dist/plugins/addons/server-mode/scanfix/windows.js.map +1 -0
  95. package/dist/plugins/approved.json +13 -0
  96. package/dist/plugins/frameworks/prisma-trpc/index.d.ts +65 -0
  97. package/dist/plugins/frameworks/prisma-trpc/index.d.ts.map +1 -0
  98. package/dist/plugins/frameworks/prisma-trpc/index.js +668 -0
  99. package/dist/plugins/frameworks/prisma-trpc/index.js.map +1 -0
  100. package/dist/plugins/index.d.ts +101 -0
  101. package/dist/plugins/index.d.ts.map +1 -0
  102. package/dist/plugins/index.js +411 -0
  103. package/dist/plugins/index.js.map +1 -0
  104. package/dist/plugins/interfaces/addon.d.ts +43 -0
  105. package/dist/plugins/interfaces/addon.d.ts.map +1 -0
  106. package/dist/plugins/interfaces/addon.js +53 -0
  107. package/dist/plugins/interfaces/addon.js.map +1 -0
  108. package/dist/plugins/interfaces/framework.d.ts +43 -0
  109. package/dist/plugins/interfaces/framework.d.ts.map +1 -0
  110. package/dist/plugins/interfaces/framework.js +53 -0
  111. package/dist/plugins/interfaces/framework.js.map +1 -0
  112. package/dist/plugins/interfaces/index.d.ts +10 -0
  113. package/dist/plugins/interfaces/index.d.ts.map +1 -0
  114. package/dist/plugins/interfaces/index.js +17 -0
  115. package/dist/plugins/interfaces/index.js.map +1 -0
  116. package/dist/plugins/interfaces/pipeline.d.ts +78 -0
  117. package/dist/plugins/interfaces/pipeline.d.ts.map +1 -0
  118. package/dist/plugins/interfaces/pipeline.js +82 -0
  119. package/dist/plugins/interfaces/pipeline.js.map +1 -0
  120. package/dist/plugins/interfaces/server.d.ts +65 -0
  121. package/dist/plugins/interfaces/server.d.ts.map +1 -0
  122. package/dist/plugins/interfaces/server.js +72 -0
  123. package/dist/plugins/interfaces/server.js.map +1 -0
  124. package/dist/plugins/pipelines/aws/configs/ec2.d.ts +9 -0
  125. package/dist/plugins/pipelines/aws/configs/ec2.d.ts.map +1 -0
  126. package/dist/plugins/pipelines/aws/configs/ec2.js +34 -0
  127. package/dist/plugins/pipelines/aws/configs/ec2.js.map +1 -0
  128. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts +13 -0
  129. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -0
  130. package/dist/plugins/pipelines/aws/configs/free-tier.js +86 -0
  131. package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -0
  132. package/dist/plugins/pipelines/aws/configs/index.d.ts +14 -0
  133. package/dist/plugins/pipelines/aws/configs/index.d.ts.map +1 -0
  134. package/dist/plugins/pipelines/aws/configs/index.js +21 -0
  135. package/dist/plugins/pipelines/aws/configs/index.js.map +1 -0
  136. package/dist/plugins/pipelines/aws/configs/types.d.ts +36 -0
  137. package/dist/plugins/pipelines/aws/configs/types.d.ts.map +1 -0
  138. package/dist/plugins/pipelines/aws/configs/types.js +9 -0
  139. package/dist/plugins/pipelines/aws/configs/types.js.map +1 -0
  140. package/dist/plugins/pipelines/aws/dev.d.ts +10 -0
  141. package/dist/plugins/pipelines/aws/dev.d.ts.map +1 -0
  142. package/dist/plugins/pipelines/aws/dev.js +70 -0
  143. package/dist/plugins/pipelines/aws/dev.js.map +1 -0
  144. package/dist/plugins/pipelines/aws/index.d.ts +118 -0
  145. package/dist/plugins/pipelines/aws/index.d.ts.map +1 -0
  146. package/dist/plugins/pipelines/aws/index.js +346 -0
  147. package/dist/plugins/pipelines/aws/index.js.map +1 -0
  148. package/dist/plugins/pipelines/aws/prod.d.ts +19 -0
  149. package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -0
  150. package/dist/plugins/pipelines/aws/prod.js +362 -0
  151. package/dist/plugins/pipelines/aws/prod.js.map +1 -0
  152. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +7 -0
  153. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -0
  154. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +31 -0
  155. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -0
  156. package/dist/plugins/pipelines/aws/scanfix/config.d.ts +7 -0
  157. package/dist/plugins/pipelines/aws/scanfix/config.d.ts.map +1 -0
  158. package/dist/plugins/pipelines/aws/scanfix/config.js +134 -0
  159. package/dist/plugins/pipelines/aws/scanfix/config.js.map +1 -0
  160. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts +65 -0
  161. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts.map +1 -0
  162. package/dist/plugins/pipelines/factiii/github-secrets-store.js +221 -0
  163. package/dist/plugins/pipelines/factiii/github-secrets-store.js.map +1 -0
  164. package/dist/plugins/pipelines/factiii/index.d.ts +195 -0
  165. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -0
  166. package/dist/plugins/pipelines/factiii/index.js +862 -0
  167. package/dist/plugins/pipelines/factiii/index.js.map +1 -0
  168. package/dist/plugins/pipelines/factiii/prod.d.ts +17 -0
  169. package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -0
  170. package/dist/plugins/pipelines/factiii/prod.js +282 -0
  171. package/dist/plugins/pipelines/factiii/prod.js.map +1 -0
  172. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +7 -0
  173. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -0
  174. package/dist/plugins/pipelines/factiii/scanfix/config.js +80 -0
  175. package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -0
  176. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts +7 -0
  177. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts.map +1 -0
  178. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js +43 -0
  179. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js.map +1 -0
  180. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts +7 -0
  181. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -0
  182. package/dist/plugins/pipelines/factiii/scanfix/secrets.js +237 -0
  183. package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -0
  184. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts +7 -0
  185. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -0
  186. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +169 -0
  187. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -0
  188. package/dist/plugins/pipelines/factiii/staging.d.ts +25 -0
  189. package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -0
  190. package/dist/plugins/pipelines/factiii/staging.js +223 -0
  191. package/dist/plugins/pipelines/factiii/staging.js.map +1 -0
  192. package/dist/plugins/pipelines/factiii/utils/detection.d.ts +36 -0
  193. package/dist/plugins/pipelines/factiii/utils/detection.d.ts.map +1 -0
  194. package/dist/plugins/pipelines/factiii/utils/detection.js +140 -0
  195. package/dist/plugins/pipelines/factiii/utils/detection.js.map +1 -0
  196. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts +16 -0
  197. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -0
  198. package/dist/plugins/pipelines/factiii/utils/workflows.js +129 -0
  199. package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -0
  200. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +112 -0
  201. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +112 -0
  202. package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +130 -0
  203. package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +198 -0
  204. package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +179 -0
  205. package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +176 -0
  206. package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +176 -0
  207. package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +95 -0
  208. package/dist/plugins/servers/amazon-linux/index.d.ts +93 -0
  209. package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -0
  210. package/dist/plugins/servers/amazon-linux/index.js +217 -0
  211. package/dist/plugins/servers/amazon-linux/index.js.map +1 -0
  212. package/dist/plugins/servers/mac/dev.d.ts +10 -0
  213. package/dist/plugins/servers/mac/dev.d.ts.map +1 -0
  214. package/dist/plugins/servers/mac/dev.js +71 -0
  215. package/dist/plugins/servers/mac/dev.js.map +1 -0
  216. package/dist/plugins/servers/mac/index.d.ts +101 -0
  217. package/dist/plugins/servers/mac/index.d.ts.map +1 -0
  218. package/dist/plugins/servers/mac/index.js +257 -0
  219. package/dist/plugins/servers/mac/index.js.map +1 -0
  220. package/dist/plugins/servers/mac/scanfix/config.d.ts +7 -0
  221. package/dist/plugins/servers/mac/scanfix/config.d.ts.map +1 -0
  222. package/dist/plugins/servers/mac/scanfix/config.js +168 -0
  223. package/dist/plugins/servers/mac/scanfix/config.js.map +1 -0
  224. package/dist/plugins/servers/mac/scanfix/containers.d.ts +7 -0
  225. package/dist/plugins/servers/mac/scanfix/containers.d.ts.map +1 -0
  226. package/dist/plugins/servers/mac/scanfix/containers.js +167 -0
  227. package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -0
  228. package/dist/plugins/servers/mac/scanfix/system.d.ts +7 -0
  229. package/dist/plugins/servers/mac/scanfix/system.d.ts.map +1 -0
  230. package/dist/plugins/servers/mac/scanfix/system.js +144 -0
  231. package/dist/plugins/servers/mac/scanfix/system.js.map +1 -0
  232. package/dist/plugins/servers/mac/staging.d.ts +21 -0
  233. package/dist/plugins/servers/mac/staging.d.ts.map +1 -0
  234. package/dist/plugins/servers/mac/staging.js +708 -0
  235. package/dist/plugins/servers/mac/staging.js.map +1 -0
  236. package/dist/plugins/servers/ubuntu/index.d.ts +93 -0
  237. package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -0
  238. package/dist/plugins/servers/ubuntu/index.js +224 -0
  239. package/dist/plugins/servers/ubuntu/index.js.map +1 -0
  240. package/dist/plugins/servers/windows/index.d.ts +90 -0
  241. package/dist/plugins/servers/windows/index.d.ts.map +1 -0
  242. package/dist/plugins/servers/windows/index.js +205 -0
  243. package/dist/plugins/servers/windows/index.js.map +1 -0
  244. package/dist/scanfix/commands/index.d.ts +27 -0
  245. package/dist/scanfix/commands/index.d.ts.map +1 -0
  246. package/dist/scanfix/commands/index.js +97 -0
  247. package/dist/scanfix/commands/index.js.map +1 -0
  248. package/dist/scanfix/commands/mac.d.ts +11 -0
  249. package/dist/scanfix/commands/mac.d.ts.map +1 -0
  250. package/dist/scanfix/commands/mac.js +31 -0
  251. package/dist/scanfix/commands/mac.js.map +1 -0
  252. package/dist/scanfix/commands/ubuntu.d.ts +11 -0
  253. package/dist/scanfix/commands/ubuntu.d.ts.map +1 -0
  254. package/dist/scanfix/commands/ubuntu.js +30 -0
  255. package/dist/scanfix/commands/ubuntu.js.map +1 -0
  256. package/dist/scanfix/fixes/certbot.d.ts +25 -0
  257. package/dist/scanfix/fixes/certbot.d.ts.map +1 -0
  258. package/dist/scanfix/fixes/certbot.js +136 -0
  259. package/dist/scanfix/fixes/certbot.js.map +1 -0
  260. package/dist/scanfix/fixes/docker.d.ts +29 -0
  261. package/dist/scanfix/fixes/docker.d.ts.map +1 -0
  262. package/dist/scanfix/fixes/docker.js +149 -0
  263. package/dist/scanfix/fixes/docker.js.map +1 -0
  264. package/dist/scanfix/fixes/git.d.ts +20 -0
  265. package/dist/scanfix/fixes/git.d.ts.map +1 -0
  266. package/dist/scanfix/fixes/git.js +71 -0
  267. package/dist/scanfix/fixes/git.js.map +1 -0
  268. package/dist/scanfix/fixes/index.d.ts +11 -0
  269. package/dist/scanfix/fixes/index.d.ts.map +1 -0
  270. package/dist/scanfix/fixes/index.js +27 -0
  271. package/dist/scanfix/fixes/index.js.map +1 -0
  272. package/dist/scanfix/fixes/node.d.ts +20 -0
  273. package/dist/scanfix/fixes/node.d.ts.map +1 -0
  274. package/dist/scanfix/fixes/node.js +71 -0
  275. package/dist/scanfix/fixes/node.js.map +1 -0
  276. package/dist/scanfix/fixes/pnpm.d.ts +20 -0
  277. package/dist/scanfix/fixes/pnpm.d.ts.map +1 -0
  278. package/dist/scanfix/fixes/pnpm.js +122 -0
  279. package/dist/scanfix/fixes/pnpm.js.map +1 -0
  280. package/dist/scanfix/index.d.ts +23 -0
  281. package/dist/scanfix/index.d.ts.map +1 -0
  282. package/dist/scanfix/index.js +44 -0
  283. package/dist/scanfix/index.js.map +1 -0
  284. package/dist/scanfix/platform.d.ts +20 -0
  285. package/dist/scanfix/platform.d.ts.map +1 -0
  286. package/dist/scanfix/platform.js +48 -0
  287. package/dist/scanfix/platform.js.map +1 -0
  288. package/dist/scanfix/ssl-cert-helper.d.ts +27 -0
  289. package/dist/scanfix/ssl-cert-helper.d.ts.map +1 -0
  290. package/dist/scanfix/ssl-cert-helper.js +117 -0
  291. package/dist/scanfix/ssl-cert-helper.js.map +1 -0
  292. package/dist/scanfix/types.d.ts +27 -0
  293. package/dist/scanfix/types.d.ts.map +1 -0
  294. package/dist/scanfix/types.js +8 -0
  295. package/dist/scanfix/types.js.map +1 -0
  296. package/dist/scripts/check-existing-secrets.d.ts +6 -0
  297. package/dist/scripts/check-existing-secrets.d.ts.map +1 -0
  298. package/dist/scripts/check-existing-secrets.js +86 -0
  299. package/dist/scripts/check-existing-secrets.js.map +1 -0
  300. package/dist/scripts/generate-all.d.ts +40 -0
  301. package/dist/scripts/generate-all.d.ts.map +1 -0
  302. package/dist/scripts/generate-all.js +373 -0
  303. package/dist/scripts/generate-all.js.map +1 -0
  304. package/dist/scripts/get-repo-name.d.ts +6 -0
  305. package/dist/scripts/get-repo-name.d.ts.map +1 -0
  306. package/dist/scripts/get-repo-name.js +54 -0
  307. package/dist/scripts/get-repo-name.js.map +1 -0
  308. package/dist/scripts/index.d.ts +7 -0
  309. package/dist/scripts/index.d.ts.map +1 -0
  310. package/dist/scripts/index.js +14 -0
  311. package/dist/scripts/index.js.map +1 -0
  312. package/dist/scripts/validate-env-files.d.ts +6 -0
  313. package/dist/scripts/validate-env-files.d.ts.map +1 -0
  314. package/dist/scripts/validate-env-files.js +126 -0
  315. package/dist/scripts/validate-env-files.js.map +1 -0
  316. package/dist/scripts/validate-example-values.d.ts +8 -0
  317. package/dist/scripts/validate-example-values.d.ts.map +1 -0
  318. package/dist/scripts/validate-example-values.js +88 -0
  319. package/dist/scripts/validate-example-values.js.map +1 -0
  320. package/dist/scripts/validate-factiii-yml.d.ts +6 -0
  321. package/dist/scripts/validate-factiii-yml.d.ts.map +1 -0
  322. package/dist/scripts/validate-factiii-yml.js +71 -0
  323. package/dist/scripts/validate-factiii-yml.js.map +1 -0
  324. package/dist/types/cli.d.ts +138 -0
  325. package/dist/types/cli.d.ts.map +1 -0
  326. package/dist/types/cli.js +8 -0
  327. package/dist/types/cli.js.map +1 -0
  328. package/dist/types/config.d.ts +113 -0
  329. package/dist/types/config.d.ts.map +1 -0
  330. package/dist/types/config.js +8 -0
  331. package/dist/types/config.js.map +1 -0
  332. package/dist/types/index.d.ts +9 -0
  333. package/dist/types/index.d.ts.map +1 -0
  334. package/dist/types/index.js +25 -0
  335. package/dist/types/index.js.map +1 -0
  336. package/dist/types/plugin.d.ts +352 -0
  337. package/dist/types/plugin.d.ts.map +1 -0
  338. package/dist/types/plugin.js +8 -0
  339. package/dist/types/plugin.js.map +1 -0
  340. package/dist/utils/ansible-vault-secrets.d.ts +95 -0
  341. package/dist/utils/ansible-vault-secrets.d.ts.map +1 -0
  342. package/dist/utils/ansible-vault-secrets.js +406 -0
  343. package/dist/utils/ansible-vault-secrets.js.map +1 -0
  344. package/dist/utils/config-helpers.d.ts +72 -0
  345. package/dist/utils/config-helpers.d.ts.map +1 -0
  346. package/dist/utils/config-helpers.js +171 -0
  347. package/dist/utils/config-helpers.js.map +1 -0
  348. package/dist/utils/config-schema.d.ts +17 -0
  349. package/dist/utils/config-schema.d.ts.map +1 -0
  350. package/dist/utils/config-schema.js +100 -0
  351. package/dist/utils/config-schema.js.map +1 -0
  352. package/dist/utils/config-validator.d.ts +29 -0
  353. package/dist/utils/config-validator.d.ts.map +1 -0
  354. package/dist/utils/config-validator.js +146 -0
  355. package/dist/utils/config-validator.js.map +1 -0
  356. package/dist/utils/deployment-report.d.ts +100 -0
  357. package/dist/utils/deployment-report.d.ts.map +1 -0
  358. package/dist/utils/deployment-report.js +225 -0
  359. package/dist/utils/deployment-report.js.map +1 -0
  360. package/dist/utils/dns-validator.d.ts +19 -0
  361. package/dist/utils/dns-validator.d.ts.map +1 -0
  362. package/dist/utils/dns-validator.js +94 -0
  363. package/dist/utils/dns-validator.js.map +1 -0
  364. package/dist/utils/env-validator.d.ts +108 -0
  365. package/dist/utils/env-validator.d.ts.map +1 -0
  366. package/dist/utils/env-validator.js +342 -0
  367. package/dist/utils/env-validator.js.map +1 -0
  368. package/dist/utils/github-workflow-monitor.d.ts +49 -0
  369. package/dist/utils/github-workflow-monitor.d.ts.map +1 -0
  370. package/dist/utils/github-workflow-monitor.js +145 -0
  371. package/dist/utils/github-workflow-monitor.js.map +1 -0
  372. package/dist/utils/index.d.ts +18 -0
  373. package/dist/utils/index.d.ts.map +1 -0
  374. package/dist/utils/index.js +48 -0
  375. package/dist/utils/index.js.map +1 -0
  376. package/dist/utils/secret-prompts.d.ts +67 -0
  377. package/dist/utils/secret-prompts.d.ts.map +1 -0
  378. package/dist/utils/secret-prompts.js +369 -0
  379. package/dist/utils/secret-prompts.js.map +1 -0
  380. package/dist/utils/server-check.d.ts +43 -0
  381. package/dist/utils/server-check.d.ts.map +1 -0
  382. package/dist/utils/server-check.js +397 -0
  383. package/dist/utils/server-check.js.map +1 -0
  384. package/dist/utils/ssh-deploy.d.ts +70 -0
  385. package/dist/utils/ssh-deploy.d.ts.map +1 -0
  386. package/dist/utils/ssh-deploy.js +268 -0
  387. package/dist/utils/ssh-deploy.js.map +1 -0
  388. package/dist/utils/ssh-helper.d.ts +40 -0
  389. package/dist/utils/ssh-helper.d.ts.map +1 -0
  390. package/dist/utils/ssh-helper.js +221 -0
  391. package/dist/utils/ssh-helper.js.map +1 -0
  392. package/dist/utils/template-generator.d.ts +42 -0
  393. package/dist/utils/template-generator.d.ts.map +1 -0
  394. package/dist/utils/template-generator.js +223 -0
  395. package/dist/utils/template-generator.js.map +1 -0
  396. package/dist/utils/version-check.d.ts +69 -0
  397. package/dist/utils/version-check.d.ts.map +1 -0
  398. package/dist/utils/version-check.js +211 -0
  399. package/dist/utils/version-check.js.map +1 -0
  400. package/package.json +82 -0
@@ -0,0 +1,511 @@
1
+ "use strict";
2
+ /**
3
+ * Scan Command
4
+ *
5
+ * Runs scan side of all plugin fixes.
6
+ * Returns problems found (which are the fixes that need to run).
7
+ *
8
+ * Usage:
9
+ * npx factiii scan # Scan all stages
10
+ * npx factiii scan --dev # Scan dev only
11
+ * npx factiii scan --staging # Scan staging only
12
+ * npx factiii scan --prod # Scan prod only
13
+ *
14
+ * ============================================================
15
+ * STAGE EXECUTION PATTERN - DO NOT MODIFY WITHOUT READING
16
+ * ============================================================
17
+ *
18
+ * How this works:
19
+ *
20
+ * 1. User specifies stage: --dev, --secrets, --staging, --prod
21
+ * Or no flag = all stages in order
22
+ *
23
+ * 2. This file groups all plugin fixes by their stage property
24
+ *
25
+ * 3. For each requested stage, asks PIPELINE PLUGIN: canReach(stage)?
26
+ * - { reachable: true, via: 'local' } → run fixes locally
27
+ * - { reachable: true, via: 'workflow' } → pipeline triggers workflow
28
+ * - { reachable: false, reason: '...' } → show error, stop
29
+ *
30
+ * CRITICAL: This file does NOT know about:
31
+ * - GITHUB_TOKEN (that's pipeline plugin's concern)
32
+ * - SSH keys (that's pipeline plugin's concern)
33
+ * - How to trigger workflows (that's pipeline plugin's concern)
34
+ *
35
+ * This file ONLY:
36
+ * - Collects fixes from all plugins
37
+ * - Groups them by stage
38
+ * - Asks pipeline if each stage is reachable
39
+ * - Runs fixes for reachable stages
40
+ *
41
+ * This keeps scan.ts compatible with ANY pipeline plugin.
42
+ *
43
+ * ============================================================
44
+ * FOR PIPELINE PLUGIN AUTHORS:
45
+ * ============================================================
46
+ *
47
+ * When your workflow/CI SSHs to a server, you MUST call the
48
+ * command with the specific stage flag:
49
+ *
50
+ * npx factiii fix --staging # NOT just "npx factiii fix"
51
+ * npx factiii scan --prod # NOT just "npx factiii scan"
52
+ *
53
+ * Without the stage flag, the command will try to run ALL stages
54
+ * and may try to trigger workflows for stages it can't reach.
55
+ *
56
+ * Your canReach() should return 'local' when running on the
57
+ * target server (e.g., check GITHUB_ACTIONS or CI env vars).
58
+ *
59
+ * ============================================================
60
+ */
61
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
62
+ if (k2 === undefined) k2 = k;
63
+ var desc = Object.getOwnPropertyDescriptor(m, k);
64
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
65
+ desc = { enumerable: true, get: function() { return m[k]; } };
66
+ }
67
+ Object.defineProperty(o, k2, desc);
68
+ }) : (function(o, m, k, k2) {
69
+ if (k2 === undefined) k2 = k;
70
+ o[k2] = m[k];
71
+ }));
72
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
73
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
74
+ }) : function(o, v) {
75
+ o["default"] = v;
76
+ });
77
+ var __importStar = (this && this.__importStar) || (function () {
78
+ var ownKeys = function(o) {
79
+ ownKeys = Object.getOwnPropertyNames || function (o) {
80
+ var ar = [];
81
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
82
+ return ar;
83
+ };
84
+ return ownKeys(o);
85
+ };
86
+ return function (mod) {
87
+ if (mod && mod.__esModule) return mod;
88
+ var result = {};
89
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
90
+ __setModuleDefault(result, mod);
91
+ return result;
92
+ };
93
+ })();
94
+ var __importDefault = (this && this.__importDefault) || function (mod) {
95
+ return (mod && mod.__esModule) ? mod : { "default": mod };
96
+ };
97
+ Object.defineProperty(exports, "__esModule", { value: true });
98
+ exports.scan = scan;
99
+ const fs = __importStar(require("fs"));
100
+ const path = __importStar(require("path"));
101
+ const child_process_1 = require("child_process");
102
+ const js_yaml_1 = __importDefault(require("js-yaml"));
103
+ const index_js_1 = require("../plugins/index.js");
104
+ const config_helpers_js_1 = require("../utils/config-helpers.js");
105
+ /**
106
+ * Load relevant plugins based on config
107
+ */
108
+ async function loadPlugins(rootDir) {
109
+ const config = loadConfig(rootDir);
110
+ // If no config exists, tell user to run init
111
+ if (!config || Object.keys(config).length === 0) {
112
+ const configPath = path.join(rootDir, 'factiii.yml');
113
+ if (fs.existsSync(configPath)) {
114
+ const content = fs.readFileSync(configPath, 'utf8');
115
+ if (!content || content.trim().length === 0) {
116
+ console.error('\n[ERROR] factiii.yml is empty.');
117
+ console.error(' Run: npx factiii init --force\n');
118
+ }
119
+ else {
120
+ console.error('\n[ERROR] factiii.yml contains no valid configuration.');
121
+ console.error(' Check your YAML syntax or run: npx factiii init --force\n');
122
+ }
123
+ }
124
+ else {
125
+ console.error('\n[ERROR] No factiii.yml found.');
126
+ console.error(' Run: npx factiii init\n');
127
+ }
128
+ process.exit(1);
129
+ }
130
+ return (await (0, index_js_1.loadRelevantPlugins)(rootDir, config));
131
+ }
132
+ /**
133
+ * Load config from factiii.yml
134
+ */
135
+ function loadConfig(rootDir) {
136
+ const configPath = path.join(rootDir, 'factiii.yml');
137
+ if (!fs.existsSync(configPath)) {
138
+ return {};
139
+ }
140
+ try {
141
+ return js_yaml_1.default.load(fs.readFileSync(configPath, 'utf8')) ?? {};
142
+ }
143
+ catch (e) {
144
+ const errorMessage = e instanceof Error ? e.message : String(e);
145
+ console.error('[!] Error parsing factiii.yml: ' + errorMessage);
146
+ return {};
147
+ }
148
+ }
149
+ /**
150
+ * Generate env var fixes from plugin requiredEnvVars
151
+ */
152
+ function generateEnvVarFixes(plugin, rootDir, _config) {
153
+ const fixes = [];
154
+ for (const varName of plugin.requiredEnvVars ?? []) {
155
+ // Check .env.example has the var
156
+ fixes.push({
157
+ id: 'missing-env-example-' + varName.toLowerCase(),
158
+ stage: 'dev',
159
+ severity: 'critical',
160
+ description: varName + ' not found in .env.example',
161
+ plugin: plugin.id,
162
+ scan: async () => {
163
+ const envPath = path.join(rootDir, '.env.example');
164
+ if (!fs.existsSync(envPath))
165
+ return true;
166
+ const content = fs.readFileSync(envPath, 'utf8');
167
+ return !content.includes(varName + '=');
168
+ },
169
+ fix: null,
170
+ manualFix: 'Add ' + varName + '=your_value to .env.example (format: KEY=value, one per line)',
171
+ });
172
+ // Check .env.staging has the var (only if staging environment is defined)
173
+ fixes.push({
174
+ id: 'missing-env-staging-' + varName.toLowerCase(),
175
+ stage: 'staging',
176
+ severity: 'critical',
177
+ description: varName + ' not found in .env.staging',
178
+ plugin: plugin.id,
179
+ scan: async (config) => {
180
+ // Only check if staging environment is defined in config
181
+ const hasStagingEnv = config?.environments?.staging;
182
+ if (!hasStagingEnv)
183
+ return false; // Skip check if staging not configured
184
+ const envPath = path.join(rootDir, '.env.staging');
185
+ if (!fs.existsSync(envPath))
186
+ return true;
187
+ const content = fs.readFileSync(envPath, 'utf8');
188
+ return !content.includes(varName + '=');
189
+ },
190
+ fix: null,
191
+ manualFix: 'Add ' + varName + '=staging_value to .env.staging (use your staging environment value)',
192
+ });
193
+ // Check .env.prod has the var (only if prod environment is defined)
194
+ fixes.push({
195
+ id: 'missing-env-prod-' + varName.toLowerCase(),
196
+ stage: 'prod',
197
+ severity: 'critical',
198
+ description: varName + ' not found in .env.prod',
199
+ plugin: plugin.id,
200
+ scan: async (config) => {
201
+ // Only check if prod environment is defined in config
202
+ const hasProdEnv = config?.environments?.prod || config?.environments?.production;
203
+ if (!hasProdEnv)
204
+ return false; // Skip check if prod not configured
205
+ const envPath = path.join(rootDir, '.env.prod');
206
+ if (!fs.existsSync(envPath))
207
+ return true;
208
+ const content = fs.readFileSync(envPath, 'utf8');
209
+ return !content.includes(varName + '=');
210
+ },
211
+ fix: null,
212
+ manualFix: 'Add ' + varName + '=production_value to .env.prod (use your production environment value)',
213
+ });
214
+ }
215
+ return fixes;
216
+ }
217
+ /**
218
+ * Get status icon and label for a stage based on reachability and problems
219
+ */
220
+ function getStageStatus(stage, reach, problemCount) {
221
+ // Stage is not reachable
222
+ if (reach && !reach.reachable) {
223
+ return {
224
+ icon: '[X]',
225
+ label: 'Cannot reach',
226
+ detail: reach.reason,
227
+ };
228
+ }
229
+ // Stage is reachable remotely (pipeline handles it)
230
+ if (reach && reach.reachable && reach.via !== 'local') {
231
+ return {
232
+ icon: '[~]',
233
+ label: 'Via ' + reach.via,
234
+ detail: 'Handled by pipeline plugin',
235
+ };
236
+ }
237
+ // Stage is directly reachable (local)
238
+ if (problemCount === 0) {
239
+ return {
240
+ icon: '[OK]',
241
+ label: 'Ready',
242
+ detail: 'local',
243
+ };
244
+ }
245
+ else {
246
+ return {
247
+ icon: '[X]',
248
+ label: problemCount + ' issue' + (problemCount > 1 ? 's' : ''),
249
+ detail: 'local',
250
+ };
251
+ }
252
+ }
253
+ /**
254
+ * Display problems grouped by stage with clear pipeline status
255
+ */
256
+ function displayProblems(problems, reachability, options = {}) {
257
+ if (options.silent)
258
+ return;
259
+ const stages = ['dev', 'secrets', 'staging', 'prod'];
260
+ let totalProblems = 0;
261
+ const unreachableStages = [];
262
+ // Count total problems (only for locally-scanned stages)
263
+ for (const stage of stages) {
264
+ if (reachability[stage]) {
265
+ const stageProblems = problems[stage] ?? [];
266
+ const reach = reachability[stage];
267
+ if (reach?.reachable && reach.via === 'local') {
268
+ totalProblems += stageProblems.length;
269
+ }
270
+ }
271
+ }
272
+ // Header
273
+ console.log('\nPIPELINE STATUS\n');
274
+ // Stage status overview
275
+ for (const stage of stages) {
276
+ const reach = reachability[stage];
277
+ if (!reach)
278
+ continue; // Stage wasn't checked
279
+ const problemCount = problems[stage]?.length ?? 0;
280
+ const status = getStageStatus(stage, reach, problemCount);
281
+ // Format: [STAGE] icon Status (detail)
282
+ const stageLabel = ('[' + stage.toUpperCase() + ']').padEnd(10);
283
+ const statusLine = stageLabel + ' ' + status.icon + ' ' + status.label;
284
+ if (status.detail && status.label !== 'Cannot reach') {
285
+ console.log(statusLine + ' (' + status.detail + ')');
286
+ }
287
+ else {
288
+ console.log(statusLine);
289
+ }
290
+ // Track unreachable stages for blockers section
291
+ if (!reach.reachable) {
292
+ unreachableStages.push({ stage, reason: reach.reason });
293
+ }
294
+ }
295
+ // Blockers section (only if there are unreachable stages)
296
+ if (unreachableStages.length > 0) {
297
+ console.log('\n' + '-'.repeat(60));
298
+ console.log('BLOCKERS');
299
+ console.log('-'.repeat(60) + '\n');
300
+ for (const { stage, reason } of unreachableStages) {
301
+ console.log('[ERROR] ' + stage.toUpperCase() + ' unreachable: ' + reason);
302
+ // Provide smart hints based on the actual reason
303
+ if (reason.includes('vault_path')) {
304
+ console.log(' Hint: Add ansible config to factiii.yml:');
305
+ console.log(' ansible:');
306
+ console.log(' vault_path: group_vars/all/vault.yml');
307
+ console.log(' vault_password_file: ~/.vault_pass');
308
+ }
309
+ else if (reason.includes('Vault password')) {
310
+ console.log(' Hint: Create vault password file or set ANSIBLE_VAULT_PASSWORD env var');
311
+ }
312
+ else if (reason.includes('SSH key')) {
313
+ console.log(' Hint: Run: npx factiii secrets write-ssh-keys');
314
+ }
315
+ else if (reason.includes('GITHUB_TOKEN')) {
316
+ console.log(' Hint: Run: export GITHUB_TOKEN=your_token');
317
+ }
318
+ }
319
+ }
320
+ // Issues section (only if there are problems)
321
+ if (totalProblems > 0) {
322
+ console.log('\n' + '-'.repeat(60));
323
+ console.log('ISSUES BY STAGE');
324
+ console.log('-'.repeat(60) + '\n');
325
+ for (const stage of stages) {
326
+ const reach = reachability[stage];
327
+ if (!reach)
328
+ continue;
329
+ const stageProblems = problems[stage] ?? [];
330
+ // Skip stages not scanned locally
331
+ if (!reach.reachable || reach.via !== 'local') {
332
+ continue;
333
+ }
334
+ if (stageProblems.length > 0) {
335
+ console.log(stage.toUpperCase() + ':');
336
+ for (const problem of stageProblems) {
337
+ const icon = problem.fix ? '[fix]' : '[man]';
338
+ const autoFix = problem.fix ? '(auto-fixable)' : '(manual)';
339
+ console.log(' ' + icon + ' ' + problem.description + ' ' + autoFix);
340
+ }
341
+ console.log('');
342
+ }
343
+ }
344
+ }
345
+ // Summary
346
+ console.log('-'.repeat(60));
347
+ if (totalProblems === 0 && unreachableStages.length === 0) {
348
+ console.log('[OK] All checks passed!\n');
349
+ }
350
+ else if (totalProblems === 0 && unreachableStages.length > 0) {
351
+ console.log('[!] Some stages cannot be reached. Fix blockers above.\n');
352
+ }
353
+ else {
354
+ console.log('Found ' + totalProblems + ' issue' + (totalProblems > 1 ? 's' : '') + '.');
355
+ console.log('Hint: Run: npx factiii fix\n');
356
+ }
357
+ }
358
+ /**
359
+ * Get pipeline plugin from loaded plugins
360
+ */
361
+ function getPipelinePlugin(plugins) {
362
+ return plugins.find((p) => p.category === 'pipeline');
363
+ }
364
+ /**
365
+ * Main scan function
366
+ */
367
+ async function scan(options = {}) {
368
+ const rootDir = options.rootDir ?? process.cwd();
369
+ const config = loadConfig(rootDir);
370
+ // If commit hash provided, verify we're scanning the right code
371
+ if (options.commit) {
372
+ try {
373
+ const currentCommit = (0, child_process_1.execSync)('git rev-parse HEAD', {
374
+ cwd: rootDir,
375
+ encoding: 'utf8',
376
+ }).trim();
377
+ if (!options.silent) {
378
+ console.log('Scanning commit: ' + options.commit.substring(0, 7));
379
+ }
380
+ if (currentCommit !== options.commit) {
381
+ console.warn('[!] Warning: Expected commit ' + options.commit.substring(0, 7) + ' but found ' + currentCommit.substring(0, 7));
382
+ }
383
+ }
384
+ catch {
385
+ // Not a git repo or git not available, skip verification
386
+ }
387
+ }
388
+ // Determine which stages to scan
389
+ let stages = ['dev', 'secrets', 'staging', 'prod'];
390
+ if (options.dev)
391
+ stages = ['dev'];
392
+ else if (options.secrets)
393
+ stages = ['secrets'];
394
+ else if (options.staging)
395
+ stages = ['staging'];
396
+ else if (options.prod)
397
+ stages = ['prod'];
398
+ else if (options.stages)
399
+ stages = options.stages;
400
+ // Load all plugins
401
+ const plugins = await loadPlugins(rootDir);
402
+ // Get pipeline plugin to check reachability
403
+ const pipelinePlugin = getPipelinePlugin(plugins);
404
+ // Check reachability for each stage
405
+ // Separate local vs remote stages — pipeline plugin handles remote
406
+ const reachability = {};
407
+ const localStages = [];
408
+ const remoteStages = [];
409
+ for (const stage of stages) {
410
+ if (pipelinePlugin && typeof pipelinePlugin.canReach === 'function') {
411
+ reachability[stage] = pipelinePlugin.canReach(stage, config);
412
+ if (reachability[stage]?.reachable) {
413
+ if (reachability[stage].via === 'local') {
414
+ localStages.push(stage);
415
+ }
416
+ else {
417
+ remoteStages.push(stage);
418
+ }
419
+ }
420
+ }
421
+ else {
422
+ // No pipeline plugin or no canReach method - assume all reachable locally
423
+ reachability[stage] = { reachable: true, via: 'local' };
424
+ localStages.push(stage);
425
+ }
426
+ }
427
+ // Collect all fixes from all plugins
428
+ const allFixes = [];
429
+ for (const plugin of plugins) {
430
+ // Add plugin fixes
431
+ for (const fix of plugin.fixes ?? []) {
432
+ allFixes.push({ ...fix, plugin: plugin.id });
433
+ }
434
+ // Add auto-generated env var fixes
435
+ const envFixes = generateEnvVarFixes(plugin, rootDir, config);
436
+ allFixes.push(...envFixes);
437
+ }
438
+ // Run scan() for each fix, collect problems found
439
+ const problems = {
440
+ dev: [],
441
+ secrets: [],
442
+ staging: [],
443
+ prod: [],
444
+ };
445
+ if (!options.silent) {
446
+ console.log('Scanning...\n');
447
+ }
448
+ // Get target server OS for each stage (for OS filtering)
449
+ const environments = (0, config_helpers_js_1.extractEnvironments)(config);
450
+ const stageToOS = {};
451
+ for (const [name, env] of Object.entries(environments)) {
452
+ // Map environment names to stages
453
+ if (name.startsWith('staging') || name.startsWith('stage-')) {
454
+ stageToOS['staging'] = env.server;
455
+ }
456
+ else if (name.startsWith('prod') || name === 'production') {
457
+ stageToOS['prod'] = env.server;
458
+ }
459
+ }
460
+ for (const fix of allFixes) {
461
+ // Skip if stage not in local stages
462
+ if (!localStages.includes(fix.stage))
463
+ continue;
464
+ // OS filtering: Skip fixes that don't match the target OS
465
+ if (fix.os) {
466
+ const targetOS = stageToOS[fix.stage];
467
+ if (targetOS) {
468
+ const fixOSList = Array.isArray(fix.os) ? fix.os : [fix.os];
469
+ if (!fixOSList.includes(targetOS)) {
470
+ continue; // Skip this fix - OS doesn't match
471
+ }
472
+ }
473
+ }
474
+ const startTime = performance.now();
475
+ try {
476
+ // Run the scan function
477
+ const hasProblem = await fix.scan(config, rootDir);
478
+ const duration = performance.now() - startTime;
479
+ // Log timing for slow checks (> 500ms)
480
+ if (duration > 500 && !options.silent) {
481
+ console.log(' [' + duration.toFixed(0) + 'ms] ' + fix.id);
482
+ }
483
+ if (hasProblem) {
484
+ problems[fix.stage].push(fix);
485
+ }
486
+ }
487
+ catch (e) {
488
+ // Scan failed - treat as problem
489
+ if (!options.silent) {
490
+ const errorMessage = e instanceof Error ? e.message : String(e);
491
+ console.log(' [!] Error scanning ' + fix.id + ': ' + errorMessage);
492
+ }
493
+ }
494
+ }
495
+ // Remote stages: delegate to pipeline plugin
496
+ if (remoteStages.length > 0 && !options.silent) {
497
+ const PipelineClass = pipelinePlugin;
498
+ if (PipelineClass) {
499
+ const pipeline = new PipelineClass(config);
500
+ for (const stage of remoteStages) {
501
+ await pipeline.scanStage(stage, {});
502
+ }
503
+ }
504
+ }
505
+ // Display problems grouped by stage
506
+ displayProblems(problems, reachability, options);
507
+ // Return the fixes needed (problems found)
508
+ return problems;
509
+ }
510
+ exports.default = scan;
511
+ //# sourceMappingURL=scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/cli/scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Secrets Command
3
+ *
4
+ * Manages secrets via Ansible Vault.
5
+ *
6
+ * Actions:
7
+ * list - List all secrets (SSH keys + env vars)
8
+ * set - Set a secret (SSH keys, AWS credentials)
9
+ * check - Check if secrets exist
10
+ * set-env - Set environment variable for a stage
11
+ * list-env - List environment variable keys for a stage
12
+ * deploy - Deploy secrets to staging/prod servers
13
+ * write-ssh-keys - Write SSH keys to ~/.ssh/ (for workflows)
14
+ */
15
+ import type { SecretsOptions } from '../types/index.js';
16
+ export type SecretsAction = 'list' | 'set' | 'check' | 'set-env' | 'list-env' | 'deploy' | 'write-ssh-keys';
17
+ export declare function secrets(action: SecretsAction, secretName?: string, options?: SecretsOptions): Promise<void>;
18
+ export default secrets;
19
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/cli/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,mBAAmB,CAAC;AAEvE,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,gBAAgB,CAAC;AA+BrB,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwPf;AAED,eAAe,OAAO,CAAC"}