@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,251 @@
1
+ "use strict";
2
+ /**
3
+ * Generate factiiiAuto.yml
4
+ *
5
+ * Generates the factiiiAuto.yml configuration file with auto-detected values.
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.generateFactiiiAuto = generateFactiiiAuto;
45
+ const fs = __importStar(require("fs"));
46
+ const path = __importStar(require("path"));
47
+ const js_yaml_1 = __importDefault(require("js-yaml"));
48
+ /**
49
+ * Get Factiii package version
50
+ */
51
+ function getFactiiiVersion() {
52
+ try {
53
+ const packageJsonPath = path.join(__dirname, '../../package.json');
54
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
55
+ return pkg.version ?? '1.0.0';
56
+ }
57
+ catch {
58
+ return '1.0.0';
59
+ }
60
+ }
61
+ /**
62
+ * Load all plugins
63
+ */
64
+ function loadAllPlugins() {
65
+ const plugins = [];
66
+ // Load pipeline plugins
67
+ try {
68
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
69
+ const FactiiiPipeline = require('../plugins/pipelines/factiii');
70
+ plugins.push(FactiiiPipeline);
71
+ }
72
+ catch {
73
+ // Plugin not available
74
+ }
75
+ // Load server plugins
76
+ try {
77
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
78
+ const MacPlugin = require('../plugins/servers/mac');
79
+ plugins.push(MacPlugin);
80
+ }
81
+ catch {
82
+ // Plugin not available
83
+ }
84
+ try {
85
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
86
+ const UbuntuPlugin = require('../plugins/servers/ubuntu');
87
+ plugins.push(UbuntuPlugin);
88
+ }
89
+ catch {
90
+ // Plugin not available
91
+ }
92
+ // Load pipeline plugins (AWS is now a pipeline, not a server)
93
+ try {
94
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
95
+ const AWSPipeline = require('../plugins/pipelines/aws');
96
+ plugins.push(AWSPipeline);
97
+ }
98
+ catch {
99
+ // Plugin not available
100
+ }
101
+ // Load framework plugins
102
+ try {
103
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
104
+ const PrismaTrpcPlugin = require('../plugins/frameworks/prisma-trpc');
105
+ plugins.push(PrismaTrpcPlugin);
106
+ }
107
+ catch {
108
+ // Plugin not available
109
+ }
110
+ return plugins;
111
+ }
112
+ /**
113
+ * Generate factiiiAuto.yml with auto-detected values from plugins
114
+ */
115
+ async function generateFactiiiAuto(rootDir, options = {}) {
116
+ const outputPath = path.join(rootDir, 'factiiiAuto.yml');
117
+ console.log('🔍 Auto-detecting project configuration...\n');
118
+ // Use provided plugins or load all
119
+ const plugins = options.plugins ?? loadAllPlugins();
120
+ const autoConfig = {
121
+ factiii_version: getFactiiiVersion(),
122
+ factiii_min_version: getFactiiiVersion(),
123
+ };
124
+ // Collect auto-detected config from each plugin
125
+ for (const PluginClass of plugins) {
126
+ if (PluginClass.detectConfig) {
127
+ try {
128
+ const detected = await PluginClass.detectConfig(rootDir);
129
+ if (detected) {
130
+ Object.assign(autoConfig, detected);
131
+ // Log what was detected
132
+ if (PluginClass.id === 'prisma-trpc' && detected.has_prisma) {
133
+ console.log(` ✅ Prisma detected`);
134
+ if (detected.prisma_schema)
135
+ console.log(` Schema: ${detected.prisma_schema}`);
136
+ if (detected.prisma_version)
137
+ console.log(` Version: ${detected.prisma_version}`);
138
+ }
139
+ if (PluginClass.id === 'prisma-trpc' && detected.has_trpc) {
140
+ console.log(` ✅ tRPC detected`);
141
+ }
142
+ if (PluginClass.id === 'factiii' && detected.dockerfile) {
143
+ console.log(` ✅ Dockerfile: ${detected.dockerfile}`);
144
+ }
145
+ if (PluginClass.id === 'factiii' && detected.package_manager) {
146
+ console.log(` 📦 Package manager: ${detected.package_manager}`);
147
+ }
148
+ if (PluginClass.id === 'factiii' && detected.node_version) {
149
+ console.log(` 📦 Node version: ${detected.node_version}`);
150
+ }
151
+ if (PluginClass.id === 'factiii' && detected.pnpm_version) {
152
+ console.log(` 📦 pnpm version: ${detected.pnpm_version}`);
153
+ }
154
+ if (PluginClass.id === 'aws' && detected.aws_cli_installed) {
155
+ console.log(` ✅ AWS CLI installed`);
156
+ }
157
+ }
158
+ }
159
+ catch (e) {
160
+ const errorMessage = e instanceof Error ? e.message : String(e);
161
+ console.log(` ⚠️ Error detecting ${PluginClass.id}: ${errorMessage}`);
162
+ }
163
+ }
164
+ }
165
+ // Ensure ssh_user is always present (defaults to ubuntu)
166
+ if (!autoConfig.ssh_user) {
167
+ autoConfig.ssh_user = 'ubuntu';
168
+ }
169
+ // Organize config into sections for better readability
170
+ const versionSection = {};
171
+ const stackSection = {};
172
+ const sshSection = {};
173
+ const buildSection = {};
174
+ const otherSection = {};
175
+ // Categorize fields
176
+ for (const [key, value] of Object.entries(autoConfig)) {
177
+ if (key.startsWith('factiii_')) {
178
+ versionSection[key] = value;
179
+ }
180
+ else if (key.startsWith('has_')) {
181
+ stackSection[key] = value;
182
+ }
183
+ else if (key === 'ssh_user') {
184
+ sshSection[key] = value;
185
+ }
186
+ else if (['dockerfile', 'package_manager', 'node_version', 'pnpm_version'].includes(key)) {
187
+ buildSection[key] = value;
188
+ }
189
+ else {
190
+ otherSection[key] = value;
191
+ }
192
+ }
193
+ // Build YAML with sections
194
+ const sections = [];
195
+ // Header
196
+ sections.push('# Auto-detected configuration', '# Generated by: npx factiii', '# To override values, add: value OVERRIDE newvalue', '');
197
+ // Version section
198
+ if (Object.keys(versionSection).length > 0) {
199
+ sections.push('# Factiii version tracking');
200
+ sections.push(js_yaml_1.default.dump(versionSection, { lineWidth: -1, noRefs: true }).trim());
201
+ sections.push('');
202
+ }
203
+ // Stack detection section
204
+ if (Object.keys(stackSection).length > 0) {
205
+ sections.push('# Detected stack components');
206
+ sections.push(js_yaml_1.default.dump(stackSection, { lineWidth: -1, noRefs: true }).trim());
207
+ sections.push('');
208
+ }
209
+ // SSH configuration section
210
+ if (Object.keys(sshSection).length > 0) {
211
+ sections.push('# SSH configuration');
212
+ sections.push('# Default SSH user for all environments (override with: ubuntu OVERRIDE admin)');
213
+ sections.push(js_yaml_1.default.dump(sshSection, { lineWidth: -1, noRefs: true }).trim());
214
+ sections.push('');
215
+ }
216
+ // Build configuration section
217
+ if (Object.keys(buildSection).length > 0) {
218
+ sections.push('# Build configuration');
219
+ sections.push(js_yaml_1.default.dump(buildSection, { lineWidth: -1, noRefs: true }).trim());
220
+ sections.push('');
221
+ }
222
+ // Other fields
223
+ if (Object.keys(otherSection).length > 0) {
224
+ sections.push(js_yaml_1.default.dump(otherSection, { lineWidth: -1, noRefs: true }).trim());
225
+ }
226
+ const finalContent = sections.join('\n');
227
+ // Check if file exists and content changed
228
+ const exists = fs.existsSync(outputPath);
229
+ if (exists) {
230
+ const existingContent = fs.readFileSync(outputPath, 'utf8');
231
+ if (existingContent === finalContent) {
232
+ console.log('\n⏭️ factiiiAuto.yml unchanged');
233
+ return;
234
+ }
235
+ // If file exists and content changed, only update if force is true
236
+ // (init.ts handles prompting, so if we get here with force=false, skip)
237
+ if (options.force === false) {
238
+ console.log('\n⏭️ factiiiAuto.yml would be updated, but overwrite was declined');
239
+ return;
240
+ }
241
+ }
242
+ // Write file
243
+ fs.writeFileSync(outputPath, finalContent);
244
+ if (exists) {
245
+ console.log('\n🔄 Updated factiiiAuto.yml');
246
+ }
247
+ else {
248
+ console.log('\n✅ Created factiiiAuto.yml');
249
+ }
250
+ }
251
+ //# sourceMappingURL=generate-factiii-auto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-factiii-auto.js","sourceRoot":"","sources":["../../src/generators/generate-factiii-auto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Generate factiii.yml
3
+ *
4
+ * Generates the factiii.yml configuration file from plugin schemas.
5
+ */
6
+ interface PluginWithSchema {
7
+ configSchema?: Record<string, unknown>;
8
+ }
9
+ interface GenerateOptions {
10
+ force?: boolean;
11
+ plugins?: PluginWithSchema[];
12
+ }
13
+ /**
14
+ * Generate factiii.yml template from plugin schemas
15
+ * @param plugins - Optional array of plugin classes to use
16
+ */
17
+ export declare function generateFactiiiYmlTemplate(plugins?: PluginWithSchema[] | null): string;
18
+ /**
19
+ * Generate factiii.yml file in the target directory
20
+ */
21
+ export declare function generateFactiiiYml(rootDir: string, options?: GenerateOptions): boolean;
22
+ export {};
23
+ //# sourceMappingURL=generate-factiii-yml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-factiii-yml.d.ts","sourceRoot":"","sources":["../../src/generators/generate-factiii-yml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,UAAU,gBAAgB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAuDD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,gBAAgB,EAAE,GAAG,IAAW,GAAG,MAAM,CAsG5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAgC1F"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ /**
3
+ * Generate factiii.yml
4
+ *
5
+ * Generates the factiii.yml configuration file from plugin schemas.
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.generateFactiiiYmlTemplate = generateFactiiiYmlTemplate;
45
+ exports.generateFactiiiYml = generateFactiiiYml;
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const js_yaml_1 = __importDefault(require("js-yaml"));
49
+ /**
50
+ * Load all plugins
51
+ */
52
+ function loadAllPlugins() {
53
+ const plugins = [];
54
+ // Load pipeline plugins
55
+ try {
56
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
57
+ const FactiiiPipeline = require('../plugins/pipelines/factiii');
58
+ plugins.push(FactiiiPipeline);
59
+ }
60
+ catch {
61
+ // Plugin not available
62
+ }
63
+ // Load server plugins
64
+ try {
65
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
66
+ const MacPlugin = require('../plugins/servers/mac');
67
+ plugins.push(MacPlugin);
68
+ }
69
+ catch {
70
+ // Plugin not available
71
+ }
72
+ try {
73
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
74
+ const UbuntuPlugin = require('../plugins/servers/ubuntu');
75
+ plugins.push(UbuntuPlugin);
76
+ }
77
+ catch {
78
+ // Plugin not available
79
+ }
80
+ // Load pipeline plugins (AWS is now a pipeline, not a server)
81
+ try {
82
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
83
+ const AWSPipeline = require('../plugins/pipelines/aws');
84
+ plugins.push(AWSPipeline);
85
+ }
86
+ catch {
87
+ // Plugin not available
88
+ }
89
+ // Load framework plugins
90
+ try {
91
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
92
+ const PrismaTrpcPlugin = require('../plugins/frameworks/prisma-trpc');
93
+ plugins.push(PrismaTrpcPlugin);
94
+ }
95
+ catch {
96
+ // Plugin not available
97
+ }
98
+ return plugins;
99
+ }
100
+ /**
101
+ * Generate factiii.yml template from plugin schemas
102
+ * @param plugins - Optional array of plugin classes to use
103
+ */
104
+ function generateFactiiiYmlTemplate(plugins = null) {
105
+ const actualPlugins = plugins ?? loadAllPlugins();
106
+ // Base schema with core fields
107
+ const schema = {
108
+ // ============================================================
109
+ // RESERVED CONFIG FIELDS
110
+ // ============================================================
111
+ name: 'EXAMPLE-your-repo-name',
112
+ config_version: '0.1.0',
113
+ github_repo: 'EXAMPLE-username/repo-name',
114
+ ssl_email: 'EXAMPLE-admin@yourdomain.com',
115
+ pipeline: 'factiii', // Pipeline plugin (e.g., factiii for GitHub Actions)
116
+ // Ansible Vault configuration (for secrets)
117
+ ansible: {
118
+ vault_path: 'group_vars/all/vault.yml', // Path to Ansible Vault file
119
+ vault_password_file: '~/.vault_pass', // Optional: path to vault password file
120
+ },
121
+ // ============================================================
122
+ // ENVIRONMENTS (top-level keys)
123
+ // ============================================================
124
+ staging: {
125
+ server: 'mac', // Server OS type (mac, ubuntu, windows, amazon-linux)
126
+ domain: 'EXAMPLE-staging.yourdomain.com', // Used for nginx AND SSH
127
+ env_file: '.env.staging',
128
+ },
129
+ prod: {
130
+ server: 'ubuntu', // Server OS type
131
+ pipeline: 'aws', // Use AWS pipeline for deployment
132
+ domain: 'EXAMPLE-yourdomain.com', // Used for nginx AND SSH
133
+ // AWS-specific config (when server: aws)
134
+ config: 'free-tier', // Options: ec2, free-tier, standard, enterprise
135
+ access_key_id: 'EXAMPLE-AKIAXXXXXXXX',
136
+ region: 'us-east-1',
137
+ // Plugin configs for this environment
138
+ plugins: {
139
+ ecr: {
140
+ ecr_registry: 'EXAMPLE-123456789012.dkr.ecr.us-east-1.amazonaws.com',
141
+ ecr_repository: 'EXAMPLE-repo-name',
142
+ },
143
+ },
144
+ },
145
+ };
146
+ // Merge plugin config schemas
147
+ for (const PluginClass of actualPlugins) {
148
+ if (PluginClass.configSchema) {
149
+ Object.assign(schema, PluginClass.configSchema);
150
+ }
151
+ }
152
+ const yamlContent = js_yaml_1.default.dump(schema, {
153
+ lineWidth: -1, // Don't wrap lines
154
+ noRefs: true,
155
+ });
156
+ // Add helpful comments after YAML generation
157
+ const comments = `
158
+ # ============================================================
159
+ # ADDITIONAL ENVIRONMENTS
160
+ # ============================================================
161
+ # You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
162
+ # Each environment must specify a 'server' plugin and can have server-specific configs.
163
+ #
164
+ # Example - Additional staging environment:
165
+ # staging2:
166
+ # server: mac
167
+ # domain: staging2.yourdomain.com
168
+ # env_file: .env.staging2
169
+ #
170
+ # Example - Additional prod environment:
171
+ # prod2:
172
+ # server: ubuntu
173
+ # pipeline: aws
174
+ # domain: app2.yourdomain.com
175
+ # config: free-tier
176
+ # access_key_id: EXAMPLE-AKIAXXXXXXXX
177
+ # region: us-west-2
178
+
179
+ # ============================================================
180
+ # ENVIRONMENT OPTIONS
181
+ # ============================================================
182
+ # All environments support these optional fields:
183
+ # ssh_user: ubuntu # Override SSH user (defaults to factiiiAuto.yml ssh_user)
184
+ # env_file: .env.{environment} # Override env file name
185
+
186
+ # ============================================================
187
+ # CONTAINER EXCLUSIONS
188
+ # ============================================================
189
+ # Exclude Docker containers from unmanaged container cleanup
190
+ # Uncomment and add container names to keep them running:
191
+ # container_exclusions:
192
+ # - factiii_postgres
193
+ # - legacy_container
194
+ `;
195
+ return yamlContent + comments;
196
+ }
197
+ /**
198
+ * Generate factiii.yml file in the target directory
199
+ */
200
+ function generateFactiiiYml(rootDir, options = {}) {
201
+ const outputPath = path.join(rootDir, 'factiii.yml');
202
+ // Check if file already exists
203
+ if (fs.existsSync(outputPath) && !options.force) {
204
+ console.log('⏭️ factiii.yml already exists (use --force to overwrite)');
205
+ return false;
206
+ }
207
+ // Use provided plugins or load all
208
+ const content = generateFactiiiYmlTemplate(options.plugins ?? null);
209
+ // Write file
210
+ fs.writeFileSync(outputPath, content);
211
+ console.log('[OK] Created factiii.yml');
212
+ console.log('\nNEXT STEPS:\n');
213
+ console.log(' 1. Configure your project:');
214
+ console.log(' [ ] Replace all EXAMPLE- values in factiii.yml');
215
+ console.log(' - name, github_repo, ssl_email, domains\n');
216
+ console.log(' 2. Set up secrets (requires ansible-vault):');
217
+ console.log(' [ ] Generate SSH key: ssh-keygen -t ed25519 -f ~/.ssh/staging_deploy_key');
218
+ console.log(' [ ] Store in vault: npx factiii secrets set STAGING_SSH');
219
+ console.log(' [ ] Add public key to server: ssh-copy-id -i ~/.ssh/staging_deploy_key.pub user@host\n');
220
+ console.log(' 3. Validate and fix:');
221
+ console.log(' [ ] npx factiii scan (check for issues)');
222
+ console.log(' [ ] npx factiii fix (auto-fix what it can)\n');
223
+ console.log(' 4. Deploy:');
224
+ console.log(' [ ] npx factiii deploy --staging --dry-run (preview)');
225
+ console.log(' [ ] npx factiii deploy --staging (deploy)\n');
226
+ return true;
227
+ }
228
+ //# sourceMappingURL=generate-factiii-yml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-factiii-yml.js","sourceRoot":"","sources":["../../src/generators/generate-factiii-yml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generators Index
3
+ *
4
+ * Re-exports all generator modules.
5
+ */
6
+ export { generateFactiiiYml, generateFactiiiYmlTemplate } from './generate-factiii-yml.js';
7
+ export { generateFactiiiAuto } from './generate-factiii-auto.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Generators Index
4
+ *
5
+ * Re-exports all generator modules.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.generateFactiiiAuto = exports.generateFactiiiYmlTemplate = exports.generateFactiiiYml = void 0;
9
+ var generate_factiii_yml_js_1 = require("./generate-factiii-yml.js");
10
+ Object.defineProperty(exports, "generateFactiiiYml", { enumerable: true, get: function () { return generate_factiii_yml_js_1.generateFactiiiYml; } });
11
+ Object.defineProperty(exports, "generateFactiiiYmlTemplate", { enumerable: true, get: function () { return generate_factiii_yml_js_1.generateFactiiiYmlTemplate; } });
12
+ var generate_factiii_auto_js_1 = require("./generate-factiii-auto.js");
13
+ Object.defineProperty(exports, "generateFactiiiAuto", { enumerable: true, get: function () { return generate_factiii_auto_js_1.generateFactiiiAuto; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAA2F;AAAlF,6HAAA,kBAAkB,OAAA;AAAE,qIAAA,0BAA0B,OAAA;AACvD,uEAAiE;AAAxD,+HAAA,mBAAmB,OAAA"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Factiii Stack Infrastructure Package
3
+ * Main entry point for programmatic usage
4
+ */
5
+ import * as plugins from './plugins/index.js';
6
+ import { scanRepos, loadConfigs, generateDockerCompose, generateNginx } from './scripts/generate-all.js';
7
+ export { PipelinePlugin } from './plugins/interfaces/pipeline.js';
8
+ export { ServerPlugin } from './plugins/interfaces/server.js';
9
+ export { FrameworkPlugin } from './plugins/interfaces/framework.js';
10
+ export { AddonPlugin } from './plugins/interfaces/addon.js';
11
+ export * from './types/index.js';
12
+ export declare const registerPlugin: typeof plugins.registerPlugin;
13
+ export declare const getPlugin: typeof plugins.getPlugin;
14
+ export declare const getPluginsByCategory: typeof plugins.getPluginsByCategory;
15
+ export declare const listPlugins: typeof plugins.listPlugins;
16
+ export declare const loadAllPlugins: typeof plugins.loadAllPlugins;
17
+ export declare const loadRelevantPlugins: typeof plugins.loadRelevantPlugins;
18
+ export declare const createPluginInstance: typeof plugins.createPluginInstance;
19
+ export declare const createSecretStore: typeof plugins.createSecretStore;
20
+ export declare const loadExternalPlugins: typeof plugins.loadExternalPlugins;
21
+ export declare const isApprovedPlugin: typeof plugins.isApprovedPlugin;
22
+ export declare const collectConfigSchemas: typeof plugins.collectConfigSchemas;
23
+ export declare const collectAutoConfigSchemas: typeof plugins.collectAutoConfigSchemas;
24
+ export declare const detectAllConfigs: typeof plugins.detectAllConfigs;
25
+ export declare const registry: plugins.PluginRegistry;
26
+ export { scanRepos, loadConfigs, generateDockerCompose, generateNginx };
27
+ declare const _default: {
28
+ plugins: typeof plugins;
29
+ registerPlugin: typeof plugins.registerPlugin;
30
+ getPlugin: typeof plugins.getPlugin;
31
+ listPlugins: typeof plugins.listPlugins;
32
+ createSecretStore: typeof plugins.createSecretStore;
33
+ scanRepos: typeof scanRepos;
34
+ loadConfigs: typeof loadConfigs;
35
+ generateDockerCompose: typeof generateDockerCompose;
36
+ generateNginx: typeof generateNginx;
37
+ };
38
+ export default _default;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,cAAc,kBAAkB,CAAC;AAGjC,eAAO,MAAM,cAAc,+BAAyB,CAAC;AACrD,eAAO,MAAM,SAAS,0BAAoB,CAAC;AAC3C,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,WAAW,4BAAsB,CAAC;AAC/C,eAAO,MAAM,cAAc,+BAAyB,CAAC;AACrD,eAAO,MAAM,mBAAmB,oCAA8B,CAAC;AAC/D,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,iBAAiB,kCAA4B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,oCAA8B,CAAC;AAC/D,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AACzD,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,wBAAwB,yCAAmC,CAAC;AACzE,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AACzD,eAAO,MAAM,QAAQ,wBAAmB,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;;;;;;;;;;;;AAGxE,wBAUE"}