@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,205 @@
1
+ "use strict";
2
+ /**
3
+ * Windows Server Plugin
4
+ *
5
+ * Handles Windows-specific package management and commands.
6
+ * Used for deploying to Windows servers or local Windows development.
7
+ *
8
+ * STATUS: Template - not fully implemented yet
9
+ *
10
+ * ============================================================
11
+ * PLUGIN STRUCTURE STANDARD
12
+ * ============================================================
13
+ *
14
+ * This plugin follows a standardized structure for clarity and maintainability:
15
+ *
16
+ * **scanfix/** - Scan/fix operations organized by concern
17
+ * - Each file exports an array of Fix[] objects
18
+ * - All fixes are combined in the main plugin class
19
+ *
20
+ * **index.ts** - Main plugin class
21
+ * - Static metadata (id, name, category, version, os, packageManager, serviceManager)
22
+ * - shouldLoad() - Determines if plugin should load
23
+ * - OS-specific installation commands
24
+ * ============================================================
25
+ */
26
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ var desc = Object.getOwnPropertyDescriptor(m, k);
29
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
30
+ desc = { enumerable: true, get: function() { return m[k]; } };
31
+ }
32
+ Object.defineProperty(o, k2, desc);
33
+ }) : (function(o, m, k, k2) {
34
+ if (k2 === undefined) k2 = k;
35
+ o[k2] = m[k];
36
+ }));
37
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
38
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
39
+ }) : function(o, v) {
40
+ o["default"] = v;
41
+ });
42
+ var __importStar = (this && this.__importStar) || (function () {
43
+ var ownKeys = function(o) {
44
+ ownKeys = Object.getOwnPropertyNames || function (o) {
45
+ var ar = [];
46
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
47
+ return ar;
48
+ };
49
+ return ownKeys(o);
50
+ };
51
+ return function (mod) {
52
+ if (mod && mod.__esModule) return mod;
53
+ var result = {};
54
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
55
+ __setModuleDefault(result, mod);
56
+ return result;
57
+ };
58
+ })();
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ // Import SSH helper
61
+ const ssh_helper_js_1 = require("../../../utils/ssh-helper.js");
62
+ class WindowsPlugin {
63
+ // ============================================================
64
+ // STATIC METADATA
65
+ // ============================================================
66
+ static id = 'windows';
67
+ static name = 'Windows Server';
68
+ static category = 'server';
69
+ static version = '1.0.0';
70
+ /** The OS this server plugin handles */
71
+ static os = 'windows';
72
+ /** Package manager for Windows (chocolatey) */
73
+ static packageManager = 'choco';
74
+ /** Service manager for Windows */
75
+ static serviceManager = 'windows-service';
76
+ // Env vars this plugin requires
77
+ static requiredEnvVars = [];
78
+ // Schema for factiii.yml (user-editable)
79
+ static configSchema = {};
80
+ // Schema for factiiiAuto.yml (auto-detected)
81
+ static autoConfigSchema = {
82
+ ssh_user: 'string',
83
+ };
84
+ /**
85
+ * Determine if this plugin should be loaded for this project
86
+ * Loads if config has environment with server: 'windows'
87
+ */
88
+ static async shouldLoad(_rootDir, config) {
89
+ // Dynamic import to avoid circular dependencies
90
+ const { extractEnvironments } = await Promise.resolve().then(() => __importStar(require('../../../utils/config-helpers.js')));
91
+ const environments = extractEnvironments(config);
92
+ for (const env of Object.values(environments)) {
93
+ // Load if environment explicitly uses 'windows' server
94
+ if (env.server === 'windows') {
95
+ return true;
96
+ }
97
+ }
98
+ return false;
99
+ }
100
+ static helpText = {
101
+ SSH: `
102
+ SSH/RDP credentials for accessing the Windows server.
103
+
104
+ For SSH access, ensure OpenSSH Server is installed on Windows:
105
+ - Settings > Apps > Optional Features > Add a feature > OpenSSH Server
106
+
107
+ For RDP access, use Remote Desktop Connection.`,
108
+ };
109
+ // ============================================================
110
+ // FIXES - All issues this plugin can detect and resolve
111
+ // ============================================================
112
+ // Template: Add Windows-specific fixes here
113
+ // ============================================================
114
+ static fixes = [
115
+ // TODO: Add Windows-specific fixes
116
+ // Examples:
117
+ // - Check if Docker Desktop is installed
118
+ // - Check if WSL2 is enabled
119
+ // - Check if Chocolatey is installed
120
+ ];
121
+ // ============================================================
122
+ // STATIC HELPER METHODS
123
+ // ============================================================
124
+ /**
125
+ * Auto-detect Windows configuration
126
+ */
127
+ static async detectConfig(_rootDir) {
128
+ return {
129
+ ssh_user: 'Administrator', // Default SSH user for Windows
130
+ };
131
+ }
132
+ /**
133
+ * Execute a command on a remote server via SSH
134
+ */
135
+ static async sshExec(envConfig, command) {
136
+ return await (0, ssh_helper_js_1.sshExec)(envConfig, command);
137
+ }
138
+ // ============================================================
139
+ // WINDOWS-SPECIFIC INSTALLATION COMMANDS
140
+ // ============================================================
141
+ /**
142
+ * Get the command to install Docker on Windows
143
+ * Requires Docker Desktop or WSL2 with Docker
144
+ */
145
+ static getDockerInstallCommand() {
146
+ return `
147
+ # Install Docker Desktop via Chocolatey
148
+ choco install docker-desktop -y
149
+ # Or install via winget
150
+ # winget install Docker.DockerDesktop
151
+ `;
152
+ }
153
+ /**
154
+ * Get the command to install Node.js on Windows
155
+ */
156
+ static getNodeInstallCommand() {
157
+ return 'choco install nodejs-lts -y';
158
+ }
159
+ /**
160
+ * Get the command to install git on Windows
161
+ */
162
+ static getGitInstallCommand() {
163
+ return 'choco install git -y';
164
+ }
165
+ /**
166
+ * Get the command to install Chocolatey (package manager)
167
+ */
168
+ static getChocoInstallCommand() {
169
+ return `
170
+ Set-ExecutionPolicy Bypass -Scope Process -Force
171
+ [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
172
+ iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
173
+ `;
174
+ }
175
+ // ============================================================
176
+ // INSTANCE METHODS
177
+ // ============================================================
178
+ _config;
179
+ constructor(config) {
180
+ this._config = config;
181
+ }
182
+ /**
183
+ * Ensure server is ready for deployment
184
+ */
185
+ async ensureServerReady(config, environment, options = {}) {
186
+ // Windows handles all environments that use it
187
+ return { success: true, message: 'Windows server ready' };
188
+ }
189
+ /**
190
+ * Deploy to an environment
191
+ */
192
+ async deploy(config, environment) {
193
+ // Deployment is handled by the pipeline plugin
194
+ // Server plugin just provides OS-specific commands
195
+ return { success: true, message: `Deployment for ${environment} handled by pipeline` };
196
+ }
197
+ /**
198
+ * Undeploy from an environment
199
+ */
200
+ async undeploy(config, environment) {
201
+ return { success: true, message: 'Windows undeploy not yet implemented' };
202
+ }
203
+ }
204
+ exports.default = WindowsPlugin;
205
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/servers/windows/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Platform Commands Index
3
+ *
4
+ * Exports command sets for each platform.
5
+ */
6
+ import type { Platform, ToolCommands } from '../types.js';
7
+ /**
8
+ * Docker commands by platform
9
+ */
10
+ export declare const dockerCommands: ToolCommands;
11
+ /**
12
+ * Node.js commands by platform
13
+ */
14
+ export declare const nodeCommands: ToolCommands;
15
+ /**
16
+ * Git commands by platform
17
+ */
18
+ export declare const gitCommands: ToolCommands;
19
+ /**
20
+ * pnpm commands by platform
21
+ */
22
+ export declare const pnpmCommands: ToolCommands;
23
+ /**
24
+ * Get commands for a specific tool and platform
25
+ */
26
+ export declare function getCommands(tool: 'docker' | 'node' | 'git' | 'pnpm', platform: Platform): import("../types.js").PlatformCommands | undefined;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanfix/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa1D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAI5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAI1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAIzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAI1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EACxC,QAAQ,EAAE,QAAQ,sDASnB"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Platform Commands Index
4
+ *
5
+ * Exports command sets for each platform.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.pnpmCommands = exports.gitCommands = exports.nodeCommands = exports.dockerCommands = void 0;
42
+ exports.getCommands = getCommands;
43
+ const mac = __importStar(require("./mac.js"));
44
+ const ubuntu = __importStar(require("./ubuntu.js"));
45
+ /**
46
+ * Windows commands - placeholder for future implementation
47
+ */
48
+ const windowsPlaceholder = {
49
+ check: 'where docker',
50
+ install: undefined,
51
+ manualFix: 'Install manually from official website',
52
+ };
53
+ /**
54
+ * Docker commands by platform
55
+ */
56
+ exports.dockerCommands = {
57
+ mac: mac.dockerCommands,
58
+ ubuntu: ubuntu.dockerCommands,
59
+ windows: { ...windowsPlaceholder, check: 'where docker', manualFix: 'Install Docker Desktop from https://www.docker.com/products/docker-desktop/' },
60
+ };
61
+ /**
62
+ * Node.js commands by platform
63
+ */
64
+ exports.nodeCommands = {
65
+ mac: mac.nodeCommands,
66
+ ubuntu: ubuntu.nodeCommands,
67
+ windows: { ...windowsPlaceholder, check: 'where node', manualFix: 'Install Node.js from https://nodejs.org/' },
68
+ };
69
+ /**
70
+ * Git commands by platform
71
+ */
72
+ exports.gitCommands = {
73
+ mac: mac.gitCommands,
74
+ ubuntu: ubuntu.gitCommands,
75
+ windows: { ...windowsPlaceholder, check: 'where git', manualFix: 'Install Git from https://git-scm.com/' },
76
+ };
77
+ /**
78
+ * pnpm commands by platform
79
+ */
80
+ exports.pnpmCommands = {
81
+ mac: mac.pnpmCommands,
82
+ ubuntu: ubuntu.pnpmCommands,
83
+ windows: { check: 'where pnpm', install: 'npm install -g pnpm', manualFix: 'Install pnpm: npm install -g pnpm' },
84
+ };
85
+ /**
86
+ * Get commands for a specific tool and platform
87
+ */
88
+ function getCommands(tool, platform) {
89
+ const commandSets = {
90
+ docker: exports.dockerCommands,
91
+ node: exports.nodeCommands,
92
+ git: exports.gitCommands,
93
+ pnpm: exports.pnpmCommands,
94
+ };
95
+ return commandSets[tool]?.[platform];
96
+ }
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanfix/commands/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDH,kCAWC;AA9DD,8CAAgC;AAChC,oDAAsC;AAEtC;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,wCAAwC;CACpD,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAAiB;IAC1C,GAAG,EAAE,GAAG,CAAC,cAAc;IACvB,MAAM,EAAE,MAAM,CAAC,cAAc;IAC7B,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,6EAA6E,EAAE;CACpJ,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAiB;IACxC,GAAG,EAAE,GAAG,CAAC,YAAY;IACrB,MAAM,EAAE,MAAM,CAAC,YAAY;IAC3B,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,0CAA0C,EAAE;CAC/G,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAiB;IACvC,GAAG,EAAE,GAAG,CAAC,WAAW;IACpB,MAAM,EAAE,MAAM,CAAC,WAAW;IAC1B,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,uCAAuC,EAAE;CAC3G,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAiB;IACxC,GAAG,EAAE,GAAG,CAAC,YAAY;IACrB,MAAM,EAAE,MAAM,CAAC,YAAY;IAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,mCAAmC,EAAE;CACjH,CAAC;AAEF;;GAEG;AACH,SAAgB,WAAW,CACzB,IAAwC,EACxC,QAAkB;IAElB,MAAM,WAAW,GAAiC;QAChD,MAAM,EAAE,sBAAc;QACtB,IAAI,EAAE,oBAAY;QAClB,GAAG,EAAE,mBAAW;QAChB,IAAI,EAAE,oBAAY;KACnB,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Mac Platform Commands
3
+ *
4
+ * Command sets for macOS (uses Homebrew).
5
+ */
6
+ import type { PlatformCommands } from '../types.js';
7
+ export declare const dockerCommands: PlatformCommands;
8
+ export declare const nodeCommands: PlatformCommands;
9
+ export declare const gitCommands: PlatformCommands;
10
+ export declare const pnpmCommands: PlatformCommands;
11
+ //# sourceMappingURL=mac.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../../src/scanfix/commands/mac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,cAAc,EAAE,gBAM5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAI1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAIzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAI1B,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Mac Platform Commands
4
+ *
5
+ * Command sets for macOS (uses Homebrew).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.pnpmCommands = exports.gitCommands = exports.nodeCommands = exports.dockerCommands = void 0;
9
+ exports.dockerCommands = {
10
+ check: 'which docker',
11
+ // Docker Desktop must be installed manually on Mac
12
+ install: undefined,
13
+ start: 'open -a Docker',
14
+ manualFix: 'Install Docker Desktop: https://www.docker.com/products/docker-desktop/',
15
+ };
16
+ exports.nodeCommands = {
17
+ check: 'which node',
18
+ install: 'brew install node',
19
+ manualFix: 'Install Node.js: brew install node',
20
+ };
21
+ exports.gitCommands = {
22
+ check: 'which git',
23
+ install: 'brew install git',
24
+ manualFix: 'Install Git: brew install git',
25
+ };
26
+ exports.pnpmCommands = {
27
+ check: 'which pnpm',
28
+ install: 'npm install -g pnpm',
29
+ manualFix: 'Install pnpm: npm install -g pnpm',
30
+ };
31
+ //# sourceMappingURL=mac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mac.js","sourceRoot":"","sources":["../../../src/scanfix/commands/mac.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,cAAc,GAAqB;IAC9C,KAAK,EAAE,cAAc;IACrB,mDAAmD;IACnD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,gBAAgB;IACvB,SAAS,EAAE,yEAAyE;CACrF,CAAC;AAEW,QAAA,YAAY,GAAqB;IAC5C,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,oCAAoC;CAChD,CAAC;AAEW,QAAA,WAAW,GAAqB;IAC3C,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,+BAA+B;CAC3C,CAAC;AAEW,QAAA,YAAY,GAAqB;IAC5C,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,qBAAqB;IAC9B,SAAS,EAAE,mCAAmC;CAC/C,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Ubuntu Platform Commands
3
+ *
4
+ * Command sets for Ubuntu/Debian (uses apt-get).
5
+ */
6
+ import type { PlatformCommands } from '../types.js';
7
+ export declare const dockerCommands: PlatformCommands;
8
+ export declare const nodeCommands: PlatformCommands;
9
+ export declare const gitCommands: PlatformCommands;
10
+ export declare const pnpmCommands: PlatformCommands;
11
+ //# sourceMappingURL=ubuntu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ubuntu.d.ts","sourceRoot":"","sources":["../../../src/scanfix/commands/ubuntu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,cAAc,EAAE,gBAM5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAI1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAIzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAI1B,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Ubuntu Platform Commands
4
+ *
5
+ * Command sets for Ubuntu/Debian (uses apt-get).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.pnpmCommands = exports.gitCommands = exports.nodeCommands = exports.dockerCommands = void 0;
9
+ exports.dockerCommands = {
10
+ check: 'which docker',
11
+ install: 'sudo apt-get update && sudo apt-get install -y docker.io && sudo systemctl enable docker && sudo systemctl start docker && sudo usermod -aG docker $USER',
12
+ start: 'sudo systemctl start docker',
13
+ manualFix: 'Install Docker: curl -fsSL https://get.docker.com | sh',
14
+ };
15
+ exports.nodeCommands = {
16
+ check: 'which node',
17
+ install: 'sudo apt-get update && sudo apt-get install -y nodejs npm',
18
+ manualFix: 'Install Node.js: sudo apt-get install -y nodejs npm',
19
+ };
20
+ exports.gitCommands = {
21
+ check: 'which git',
22
+ install: 'sudo apt-get update && sudo apt-get install -y git',
23
+ manualFix: 'Install Git: sudo apt-get install -y git',
24
+ };
25
+ exports.pnpmCommands = {
26
+ check: 'which pnpm',
27
+ install: 'npm install -g pnpm',
28
+ manualFix: 'Install pnpm: npm install -g pnpm',
29
+ };
30
+ //# sourceMappingURL=ubuntu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ubuntu.js","sourceRoot":"","sources":["../../../src/scanfix/commands/ubuntu.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,cAAc,GAAqB;IAC9C,KAAK,EAAE,cAAc;IACrB,OAAO,EACL,0JAA0J;IAC5J,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,wDAAwD;CACpE,CAAC;AAEW,QAAA,YAAY,GAAqB;IAC5C,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,2DAA2D;IACpE,SAAS,EAAE,qDAAqD;CACjE,CAAC;AAEW,QAAA,WAAW,GAAqB;IAC3C,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,oDAAoD;IAC7D,SAAS,EAAE,0CAA0C;CACtD,CAAC;AAEW,QAAA,YAAY,GAAqB;IAC5C,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,qBAAqB;IAC9B,SAAS,EAAE,mCAAmC;CAC/C,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared Certbot Fixes
3
+ *
4
+ * SSL certificate acquisition and renewal using Docker certbot.
5
+ * Used by mac, ubuntu, and aws plugins.
6
+ */
7
+ import type { Fix, Stage } from '../../types/index.js';
8
+ type EnvKey = 'staging' | 'prod' | 'production';
9
+ /**
10
+ * Create SSL certificate fix for a specific stage
11
+ *
12
+ * @param stage The stage (staging or prod)
13
+ * @param envKey The environment key in config (staging, prod, or production)
14
+ */
15
+ export declare function createCertbotFix(stage: Stage, envKey: EnvKey): Fix;
16
+ /**
17
+ * Get certbot fix for staging
18
+ */
19
+ export declare function getStagingCertbotFix(): Fix;
20
+ /**
21
+ * Get certbot fix for production
22
+ */
23
+ export declare function getProdCertbotFix(): Fix;
24
+ export {};
25
+ //# sourceMappingURL=certbot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certbot.d.ts","sourceRoot":"","sources":["../../../src/scanfix/fixes/certbot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAiB,MAAM,sBAAsB,CAAC;AAGtE,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAmHlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAEvC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * Shared Certbot Fixes
4
+ *
5
+ * SSL certificate acquisition and renewal using Docker certbot.
6
+ * Used by mac, ubuntu, and aws plugins.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createCertbotFix = createCertbotFix;
10
+ exports.getStagingCertbotFix = getStagingCertbotFix;
11
+ exports.getProdCertbotFix = getProdCertbotFix;
12
+ const child_process_1 = require("child_process");
13
+ const ssl_cert_helper_js_1 = require("../ssl-cert-helper.js");
14
+ /**
15
+ * Create SSL certificate fix for a specific stage
16
+ *
17
+ * @param stage The stage (staging or prod)
18
+ * @param envKey The environment key in config (staging, prod, or production)
19
+ */
20
+ function createCertbotFix(stage, envKey) {
21
+ const stageLabel = stage === 'staging' ? 'staging' : 'production';
22
+ return {
23
+ id: stage + '-ssl-certs-missing-or-expiring',
24
+ stage,
25
+ severity: 'warning',
26
+ description: 'SSL certificates missing or expiring soon for ' + stageLabel + ' domain',
27
+ scan: async (config, _rootDir) => {
28
+ const domain = envKey === 'production'
29
+ ? config?.environments?.production?.domain
30
+ : config?.environments?.[envKey]?.domain;
31
+ if (!domain || domain.startsWith('EXAMPLE-'))
32
+ return false;
33
+ const result = (0, ssl_cert_helper_js_1.checkCertificate)(domain, 7);
34
+ if (!result.exists) {
35
+ console.log(' No SSL certificate for ' + domain);
36
+ return true;
37
+ }
38
+ if (!result.valid) {
39
+ console.log(' SSL certificate for ' + domain + ' expires in ' + result.expiresInDays + ' days');
40
+ return true;
41
+ }
42
+ return false;
43
+ },
44
+ fix: async (config, _rootDir) => {
45
+ const domain = envKey === 'production'
46
+ ? config?.environments?.production?.domain
47
+ : config?.environments?.[envKey]?.domain;
48
+ const sslEmail = config.ssl_email;
49
+ if (!domain) {
50
+ console.log(' No ' + stageLabel + ' domain configured');
51
+ return false;
52
+ }
53
+ if (!sslEmail) {
54
+ console.log(' No ssl_email configured in factiii.yml');
55
+ console.log(' Add ssl_email: your@email.com to factiii.yml');
56
+ return false;
57
+ }
58
+ try {
59
+ const nginxRunning = (0, ssl_cert_helper_js_1.isNginxRunning)();
60
+ console.log(' Obtaining SSL certificate for ' + domain + ' via Docker...');
61
+ let certbotCmd;
62
+ if (nginxRunning) {
63
+ // Webroot mode: nginx is running, use it for ACME challenge
64
+ console.log(' Using webroot mode (nginx is running)');
65
+ certbotCmd = [
66
+ 'docker run --rm',
67
+ '-v /etc/letsencrypt:/etc/letsencrypt',
68
+ '-v /var/www/certbot:/var/www/certbot',
69
+ 'certbot/certbot certonly',
70
+ '--webroot -w /var/www/certbot',
71
+ '-d ' + domain,
72
+ '--email ' + sslEmail,
73
+ '--agree-tos',
74
+ '--non-interactive',
75
+ ].join(' ');
76
+ }
77
+ else {
78
+ // Standalone mode: nginx not running, certbot handles port 80
79
+ console.log(' Using standalone mode (nginx not running)');
80
+ certbotCmd = [
81
+ 'docker run --rm',
82
+ '-v /etc/letsencrypt:/etc/letsencrypt',
83
+ '-p 80:80',
84
+ 'certbot/certbot certonly',
85
+ '--standalone',
86
+ '-d ' + domain,
87
+ '--email ' + sslEmail,
88
+ '--agree-tos',
89
+ '--non-interactive',
90
+ ].join(' ');
91
+ }
92
+ (0, child_process_1.execSync)(certbotCmd, { stdio: 'inherit' });
93
+ // Verify certificate was created and is valid
94
+ const certResult = (0, ssl_cert_helper_js_1.checkCertificate)(domain);
95
+ if (!certResult.exists || !certResult.valid) {
96
+ console.log(' Certificate was not created or is invalid');
97
+ return false;
98
+ }
99
+ console.log(' SSL certificate obtained successfully');
100
+ // Reload nginx if running (it will pick up new certs)
101
+ if (nginxRunning) {
102
+ console.log(' Reloading nginx...');
103
+ try {
104
+ (0, child_process_1.execSync)('docker exec factiii_nginx nginx -s reload', { stdio: 'inherit' });
105
+ console.log(' Nginx reloaded with new certificate');
106
+ }
107
+ catch {
108
+ console.log(' Could not reload nginx - restart may be needed');
109
+ console.log(' Run: docker restart factiii_nginx');
110
+ }
111
+ }
112
+ return true;
113
+ }
114
+ catch (e) {
115
+ const errorMessage = e instanceof Error ? e.message : String(e);
116
+ console.log(' Failed to obtain certificate: ' + errorMessage);
117
+ console.log(' Make sure port 80 is accessible and not in use');
118
+ return false;
119
+ }
120
+ },
121
+ manualFix: 'Run: docker run --rm -v /etc/letsencrypt:/etc/letsencrypt -p 80:80 certbot/certbot certonly --standalone -d {domain} --email {ssl_email} --agree-tos --non-interactive',
122
+ };
123
+ }
124
+ /**
125
+ * Get certbot fix for staging
126
+ */
127
+ function getStagingCertbotFix() {
128
+ return createCertbotFix('staging', 'staging');
129
+ }
130
+ /**
131
+ * Get certbot fix for production
132
+ */
133
+ function getProdCertbotFix() {
134
+ return createCertbotFix('prod', 'prod');
135
+ }
136
+ //# sourceMappingURL=certbot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certbot.js","sourceRoot":"","sources":["../../../src/scanfix/fixes/certbot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Shared Docker Fixes
3
+ *
4
+ * Platform-aware Docker installation and running status checks.
5
+ * Used by mac, ubuntu, and aws plugins.
6
+ */
7
+ import type { Fix, Stage } from '../../types/index.js';
8
+ /**
9
+ * Create Docker installation check fix
10
+ *
11
+ * @param stage The stage to check (dev, staging, prod)
12
+ * @param idPrefix Optional prefix for fix ID (e.g., 'aws')
13
+ */
14
+ export declare function createDockerInstallFix(stage: Stage, idPrefix?: string): Fix;
15
+ /**
16
+ * Create Docker running check fix
17
+ *
18
+ * @param stage The stage to check (dev, staging, prod)
19
+ * @param idPrefix Optional prefix for fix ID (e.g., 'aws')
20
+ */
21
+ export declare function createDockerRunningFix(stage: Stage, idPrefix?: string): Fix;
22
+ /**
23
+ * Get all Docker fixes for a stage
24
+ *
25
+ * @param stage The stage (dev, staging, prod)
26
+ * @param idPrefix Optional prefix for fix IDs
27
+ */
28
+ export declare function getDockerFixes(stage: Stage, idPrefix?: string): Fix[];
29
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../src/scanfix/fixes/docker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAiB,MAAM,sBAAsB,CAAC;AAItE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,CA0C3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,CAiE3E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAKrE"}