@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,53 @@
1
+ "use strict";
2
+ /**
3
+ * Addon Plugin Interface
4
+ *
5
+ * Base class for all addon plugins (auth, payments, storage, etc.)
6
+ * Addon plugins extend framework functionality.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AddonPlugin = void 0;
10
+ /**
11
+ * Abstract base class for addon plugins
12
+ */
13
+ class AddonPlugin {
14
+ // ============================================================
15
+ // REQUIRED STATIC PROPERTIES
16
+ // ============================================================
17
+ static id = 'addon-interface';
18
+ static name = 'Addon Interface';
19
+ static category = 'addon';
20
+ static version = '1.0.0';
21
+ static fixes = [];
22
+ static requiredEnvVars = [];
23
+ static configSchema = {};
24
+ static autoConfigSchema = {};
25
+ // ============================================================
26
+ // INSTANCE PROPERTIES
27
+ // ============================================================
28
+ config;
29
+ constructor(config) {
30
+ this.config = config;
31
+ }
32
+ // ============================================================
33
+ // REQUIRED STATIC METHODS
34
+ // ============================================================
35
+ /**
36
+ * Determine if this plugin should be loaded for this project
37
+ * @param rootDir - Project root directory
38
+ * @param config - Loaded config
39
+ */
40
+ static async shouldLoad(_rootDir, _config) {
41
+ throw new Error('Addon plugin must implement shouldLoad()');
42
+ }
43
+ /**
44
+ * Auto-detect addon configuration
45
+ * @param rootDir - Project root directory
46
+ */
47
+ static async detectConfig(_rootDir) {
48
+ return {};
49
+ }
50
+ }
51
+ exports.AddonPlugin = AddonPlugin;
52
+ exports.default = AddonPlugin;
53
+ //# sourceMappingURL=addon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/plugins/interfaces/addon.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAQH;;GAEG;AACH,MAAsB,WAAW;IAC/B,+DAA+D;IAC/D,6BAA6B;IAC7B,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAW,iBAAiB,CAAC;IAC/C,MAAM,CAAU,IAAI,GAAW,iBAAiB,CAAC;IACjD,MAAM,CAAU,QAAQ,GAAY,OAAO,CAAC;IAC5C,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC;IAE1C,MAAM,CAAU,KAAK,GAAU,EAAE,CAAC;IAClC,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAC/C,MAAM,CAAU,YAAY,GAA4B,EAAE,CAAC;IAC3D,MAAM,CAAU,gBAAgB,GAA2B,EAAE,CAAC;IAE9D,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAErD,MAAM,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAE/D;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAsB;QAC9D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;;AA5CH,kCA2DC;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Framework Plugin Interface
3
+ *
4
+ * Base class for all framework plugins (prisma-trpc, nextjs, expo, etc.)
5
+ * Framework plugins handle deployment of specific application frameworks.
6
+ */
7
+ import type { FactiiiConfig, Fix, DeployResult } from '../../types/index.js';
8
+ /**
9
+ * Abstract base class for framework plugins
10
+ */
11
+ export declare abstract class FrameworkPlugin {
12
+ static readonly id: string;
13
+ static readonly name: string;
14
+ static readonly category: 'framework';
15
+ static readonly version: string;
16
+ static readonly fixes: Fix[];
17
+ static readonly requiredEnvVars: string[];
18
+ static readonly configSchema: Record<string, unknown>;
19
+ static readonly autoConfigSchema: Record<string, string>;
20
+ protected config: FactiiiConfig;
21
+ constructor(config: FactiiiConfig);
22
+ /**
23
+ * Determine if this plugin should be loaded for this project
24
+ * @param rootDir - Project root directory
25
+ * @param config - Loaded config
26
+ */
27
+ static shouldLoad(_rootDir: string, _config: FactiiiConfig): Promise<boolean>;
28
+ /**
29
+ * Auto-detect framework configuration
30
+ * @param rootDir - Project root directory
31
+ */
32
+ static detectConfig(_rootDir: string): Promise<Record<string, unknown>>;
33
+ /**
34
+ * Deploy to an environment
35
+ */
36
+ abstract deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
37
+ /**
38
+ * Undeploy from an environment
39
+ */
40
+ abstract undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
41
+ }
42
+ export default FrameworkPlugin;
43
+ //# sourceMappingURL=framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../../src/plugins/interfaces/framework.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,GAAG,EACH,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,8BAAsB,eAAe;IAKnC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAyB;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAe;IACpD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAE1C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAM;IAClC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAC3D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAM9D,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,aAAa;IAQjC;;;;OAIG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF;;;OAGG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ7E;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAElF;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CACrF;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * Framework Plugin Interface
4
+ *
5
+ * Base class for all framework plugins (prisma-trpc, nextjs, expo, etc.)
6
+ * Framework plugins handle deployment of specific application frameworks.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FrameworkPlugin = void 0;
10
+ /**
11
+ * Abstract base class for framework plugins
12
+ */
13
+ class FrameworkPlugin {
14
+ // ============================================================
15
+ // REQUIRED STATIC PROPERTIES
16
+ // ============================================================
17
+ static id = 'framework-interface';
18
+ static name = 'Framework Interface';
19
+ static category = 'framework';
20
+ static version = '1.0.0';
21
+ static fixes = [];
22
+ static requiredEnvVars = [];
23
+ static configSchema = {};
24
+ static autoConfigSchema = {};
25
+ // ============================================================
26
+ // INSTANCE PROPERTIES
27
+ // ============================================================
28
+ config;
29
+ constructor(config) {
30
+ this.config = config;
31
+ }
32
+ // ============================================================
33
+ // REQUIRED STATIC METHODS
34
+ // ============================================================
35
+ /**
36
+ * Determine if this plugin should be loaded for this project
37
+ * @param rootDir - Project root directory
38
+ * @param config - Loaded config
39
+ */
40
+ static async shouldLoad(_rootDir, _config) {
41
+ throw new Error('Framework plugin must implement shouldLoad()');
42
+ }
43
+ /**
44
+ * Auto-detect framework configuration
45
+ * @param rootDir - Project root directory
46
+ */
47
+ static async detectConfig(_rootDir) {
48
+ return {};
49
+ }
50
+ }
51
+ exports.FrameworkPlugin = FrameworkPlugin;
52
+ exports.default = FrameworkPlugin;
53
+ //# sourceMappingURL=framework.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../../src/plugins/interfaces/framework.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAQH;;GAEG;AACH,MAAsB,eAAe;IACnC,+DAA+D;IAC/D,6BAA6B;IAC7B,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAW,qBAAqB,CAAC;IACnD,MAAM,CAAU,IAAI,GAAW,qBAAqB,CAAC;IACrD,MAAM,CAAU,QAAQ,GAAgB,WAAW,CAAC;IACpD,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC;IAE1C,MAAM,CAAU,KAAK,GAAU,EAAE,CAAC;IAClC,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAC/C,MAAM,CAAU,YAAY,GAA4B,EAAE,CAAC;IAC3D,MAAM,CAAU,gBAAgB,GAA2B,EAAE,CAAC;IAE9D,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAErD,MAAM,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAE/D;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAsB;QAC9D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;;AA5CH,0CA2DC;AAED,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Plugin Interfaces Index
3
+ *
4
+ * Re-exports all plugin base classes.
5
+ */
6
+ export { PipelinePlugin } from './pipeline.js';
7
+ export { ServerPlugin } from './server.js';
8
+ export { FrameworkPlugin } from './framework.js';
9
+ export { AddonPlugin } from './addon.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Plugin Interfaces Index
4
+ *
5
+ * Re-exports all plugin base classes.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AddonPlugin = exports.FrameworkPlugin = exports.ServerPlugin = exports.PipelinePlugin = void 0;
9
+ var pipeline_js_1 = require("./pipeline.js");
10
+ Object.defineProperty(exports, "PipelinePlugin", { enumerable: true, get: function () { return pipeline_js_1.PipelinePlugin; } });
11
+ var server_js_1 = require("./server.js");
12
+ Object.defineProperty(exports, "ServerPlugin", { enumerable: true, get: function () { return server_js_1.ServerPlugin; } });
13
+ var framework_js_1 = require("./framework.js");
14
+ Object.defineProperty(exports, "FrameworkPlugin", { enumerable: true, get: function () { return framework_js_1.FrameworkPlugin; } });
15
+ var addon_js_1 = require("./addon.js");
16
+ Object.defineProperty(exports, "AddonPlugin", { enumerable: true, get: function () { return addon_js_1.AddonPlugin; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/interfaces/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AACvB,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AACrB,+CAAiD;AAAxC,+GAAA,eAAe,OAAA;AACxB,uCAAyC;AAAhC,uGAAA,WAAW,OAAA"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Pipeline Plugin Interface
3
+ *
4
+ * Base class for all pipeline plugins (GitHub Actions, GitLab CI, etc.)
5
+ * Pipelines handle CI/CD workflows and must implement canReach() to
6
+ * declare how they access each stage.
7
+ */
8
+ import type { FactiiiConfig, Stage, Reachability, Fix, DeployResult, DeployOptions } from '../../types/index.js';
9
+ /**
10
+ * Abstract base class for pipeline plugins
11
+ */
12
+ export declare abstract class PipelinePlugin {
13
+ static readonly id: string;
14
+ static readonly name: string;
15
+ static readonly category: 'pipeline';
16
+ static readonly version: string;
17
+ static readonly fixes: Fix[];
18
+ static readonly requiredEnvVars: string[];
19
+ static readonly configSchema: Record<string, unknown>;
20
+ static readonly autoConfigSchema: Record<string, string>;
21
+ protected config: FactiiiConfig;
22
+ constructor(config: FactiiiConfig);
23
+ /**
24
+ * Check if this pipeline can reach a specific stage from current environment
25
+ *
26
+ * @param stage - 'dev' | 'secrets' | 'staging' | 'prod'
27
+ * @param config - factiii.yml config
28
+ * @returns Reachability result
29
+ */
30
+ static canReach(_stage: Stage, _config: FactiiiConfig): Reachability;
31
+ /**
32
+ * Determine if this plugin should be loaded for this project
33
+ * @param rootDir - Project root directory
34
+ * @param config - Loaded config
35
+ */
36
+ static shouldLoad(_rootDir: string, _config: FactiiiConfig): Promise<boolean>;
37
+ /**
38
+ * Auto-detect pipeline configuration
39
+ * @param rootDir - Project root directory
40
+ */
41
+ static detectConfig(_rootDir: string): Promise<Record<string, unknown>>;
42
+ /**
43
+ * Generate workflow files in the target repository
44
+ * @param rootDir - Project root directory
45
+ */
46
+ static generateWorkflows(_rootDir: string): Promise<void>;
47
+ /**
48
+ * Trigger a workflow
49
+ * @param workflowName - Name of workflow to trigger
50
+ * @param inputs - Workflow inputs
51
+ */
52
+ static triggerWorkflow(_workflowName: string, _inputs?: Record<string, string>): Promise<void>;
53
+ /**
54
+ * Deploy to a stage - handles routing based on canReach()
55
+ *
56
+ * This is the main entry point for deployments. The pipeline plugin
57
+ * checks canReach() to determine how to reach the stage:
58
+ * - 'local': Execute deployment directly
59
+ * - 'workflow': Trigger a workflow (e.g., GitHub Actions)
60
+ * - Not reachable: Return error with reason
61
+ *
62
+ * @param stage - The stage to deploy to ('dev' | 'staging' | 'prod')
63
+ * @param options - Deployment options
64
+ * @returns Deployment result
65
+ */
66
+ abstract deployStage(stage: Stage, options: DeployOptions): Promise<DeployResult>;
67
+ /**
68
+ * Deploy to an environment (called when running locally or on-server)
69
+ * @deprecated Use deployStage() which handles routing
70
+ */
71
+ abstract deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
72
+ /**
73
+ * Undeploy from an environment
74
+ */
75
+ abstract undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
76
+ }
77
+ export default PipelinePlugin;
78
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/plugins/interfaces/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EACL,YAAY,EACZ,GAAG,EACH,YAAY,EACZ,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,8BAAsB,cAAc;IAKlC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAwB;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAc;IAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAE1C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAM;IAClC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAC3D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAM9D,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,aAAa;IAQjC;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IAIpE;;;;OAIG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF;;;OAGG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ7E;;;OAGG;WACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;OAIG;WACU,eAAe,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAEjF;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAElF;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CACrF;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * Pipeline Plugin Interface
4
+ *
5
+ * Base class for all pipeline plugins (GitHub Actions, GitLab CI, etc.)
6
+ * Pipelines handle CI/CD workflows and must implement canReach() to
7
+ * declare how they access each stage.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PipelinePlugin = void 0;
11
+ /**
12
+ * Abstract base class for pipeline plugins
13
+ */
14
+ class PipelinePlugin {
15
+ // ============================================================
16
+ // REQUIRED STATIC PROPERTIES
17
+ // ============================================================
18
+ static id = 'pipeline-interface';
19
+ static name = 'Pipeline Interface';
20
+ static category = 'pipeline';
21
+ static version = '1.0.0';
22
+ static fixes = [];
23
+ static requiredEnvVars = [];
24
+ static configSchema = {};
25
+ static autoConfigSchema = {};
26
+ // ============================================================
27
+ // INSTANCE PROPERTIES
28
+ // ============================================================
29
+ config;
30
+ constructor(config) {
31
+ this.config = config;
32
+ }
33
+ // ============================================================
34
+ // REQUIRED STATIC METHODS
35
+ // ============================================================
36
+ /**
37
+ * Check if this pipeline can reach a specific stage from current environment
38
+ *
39
+ * @param stage - 'dev' | 'secrets' | 'staging' | 'prod'
40
+ * @param config - factiii.yml config
41
+ * @returns Reachability result
42
+ */
43
+ static canReach(_stage, _config) {
44
+ throw new Error('Pipeline must implement canReach()');
45
+ }
46
+ /**
47
+ * Determine if this plugin should be loaded for this project
48
+ * @param rootDir - Project root directory
49
+ * @param config - Loaded config
50
+ */
51
+ static async shouldLoad(_rootDir, _config) {
52
+ throw new Error('Pipeline must implement shouldLoad()');
53
+ }
54
+ /**
55
+ * Auto-detect pipeline configuration
56
+ * @param rootDir - Project root directory
57
+ */
58
+ static async detectConfig(_rootDir) {
59
+ throw new Error('Pipeline must implement detectConfig()');
60
+ }
61
+ // ============================================================
62
+ // OPTIONAL STATIC METHODS
63
+ // ============================================================
64
+ /**
65
+ * Generate workflow files in the target repository
66
+ * @param rootDir - Project root directory
67
+ */
68
+ static async generateWorkflows(_rootDir) {
69
+ // Optional - not all pipelines have workflow files
70
+ }
71
+ /**
72
+ * Trigger a workflow
73
+ * @param workflowName - Name of workflow to trigger
74
+ * @param inputs - Workflow inputs
75
+ */
76
+ static async triggerWorkflow(_workflowName, _inputs = {}) {
77
+ throw new Error('Pipeline must implement triggerWorkflow()');
78
+ }
79
+ }
80
+ exports.PipelinePlugin = PipelinePlugin;
81
+ exports.default = PipelinePlugin;
82
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/plugins/interfaces/pipeline.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAWH;;GAEG;AACH,MAAsB,cAAc;IAClC,+DAA+D;IAC/D,6BAA6B;IAC7B,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAW,oBAAoB,CAAC;IAClD,MAAM,CAAU,IAAI,GAAW,oBAAoB,CAAC;IACpD,MAAM,CAAU,QAAQ,GAAe,UAAU,CAAC;IAClD,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC;IAE1C,MAAM,CAAU,KAAK,GAAU,EAAE,CAAC;IAClC,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAC/C,MAAM,CAAU,YAAY,GAA4B,EAAE,CAAC;IAC3D,MAAM,CAAU,gBAAgB,GAA2B,EAAE,CAAC;IAE9D,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAErD,MAAM,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAE/D;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAa,EAAE,OAAsB;QACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAsB;QAC9D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAE/D;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC7C,mDAAmD;IACrD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,aAAqB,EACrB,UAAkC,EAAE;QAEpC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;;AA/EH,wCA8GC;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Server Plugin Interface
3
+ *
4
+ * Base class for all server plugins (mac, ubuntu, windows, etc.)
5
+ * Server plugins represent OS types and handle OS-specific commands,
6
+ * package management, and service management.
7
+ *
8
+ * Server plugins are NOT deployment targets - they define how to interact
9
+ * with a specific operating system. Pipelines (like AWS, factiii) handle
10
+ * the deployment orchestration and specify which OS types they support.
11
+ */
12
+ import type { FactiiiConfig, EnvironmentConfig, Fix, DeployResult, EnsureServerReadyOptions, ServerOS, PackageManager, ServiceManager } from '../../types/index.js';
13
+ /**
14
+ * Abstract base class for server plugins
15
+ */
16
+ export declare abstract class ServerPlugin {
17
+ static readonly id: string;
18
+ static readonly name: string;
19
+ static readonly category: 'server';
20
+ static readonly version: string;
21
+ /** The OS this server plugin handles */
22
+ static readonly os: ServerOS;
23
+ /** Package manager for this OS (brew, apt, choco, dnf, apk) */
24
+ static readonly packageManager: PackageManager;
25
+ /** Service manager for this OS (launchctl, systemd, windows-service) */
26
+ static readonly serviceManager: ServiceManager;
27
+ static readonly fixes: Fix[];
28
+ static readonly requiredEnvVars: string[];
29
+ static readonly configSchema: Record<string, unknown>;
30
+ static readonly autoConfigSchema: Record<string, string>;
31
+ protected config: FactiiiConfig;
32
+ constructor(config: FactiiiConfig);
33
+ /**
34
+ * Determine if this plugin should be loaded for this project
35
+ * @param rootDir - Project root directory
36
+ * @param config - Loaded config
37
+ */
38
+ static shouldLoad(_rootDir: string, _config: FactiiiConfig): Promise<boolean>;
39
+ /**
40
+ * Auto-detect server configuration
41
+ * @param rootDir - Project root directory
42
+ */
43
+ static detectConfig(_rootDir: string): Promise<Record<string, unknown>>;
44
+ /**
45
+ * Execute a command on a remote server via SSH
46
+ * @param envConfig - Environment config with host and ssh_user
47
+ * @param command - Command to execute
48
+ */
49
+ static sshExec(_envConfig: EnvironmentConfig, _command: string): Promise<string>;
50
+ /**
51
+ * Ensure server is ready for deployment
52
+ * Installs Node.js, git, clones repo, checks out commit
53
+ */
54
+ abstract ensureServerReady(config: FactiiiConfig, environment: string, options?: EnsureServerReadyOptions): Promise<DeployResult>;
55
+ /**
56
+ * Deploy to an environment
57
+ */
58
+ abstract deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
59
+ /**
60
+ * Undeploy from an environment
61
+ */
62
+ abstract undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
63
+ }
64
+ export default ServerPlugin;
65
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/plugins/interfaces/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,GAAG,EACH,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,8BAAsB,YAAY;IAKhC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAsB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;IAClD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAY;IAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAE1C,wCAAwC;IACxC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAC/C,wEAAwE;IACxE,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAE/C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAM;IAClC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAC3D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAM9D,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,aAAa;IAQjC;;;;OAIG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF;;;OAGG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI7E;;;;OAIG;WACU,OAAO,CAClB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAQlB;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAElF;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CACrF;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * Server Plugin Interface
4
+ *
5
+ * Base class for all server plugins (mac, ubuntu, windows, etc.)
6
+ * Server plugins represent OS types and handle OS-specific commands,
7
+ * package management, and service management.
8
+ *
9
+ * Server plugins are NOT deployment targets - they define how to interact
10
+ * with a specific operating system. Pipelines (like AWS, factiii) handle
11
+ * the deployment orchestration and specify which OS types they support.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ServerPlugin = void 0;
15
+ /**
16
+ * Abstract base class for server plugins
17
+ */
18
+ class ServerPlugin {
19
+ // ============================================================
20
+ // REQUIRED STATIC PROPERTIES
21
+ // ============================================================
22
+ static id = 'server-interface';
23
+ static name = 'Server Interface';
24
+ static category = 'server';
25
+ static version = '1.0.0';
26
+ /** The OS this server plugin handles */
27
+ static os;
28
+ /** Package manager for this OS (brew, apt, choco, dnf, apk) */
29
+ static packageManager;
30
+ /** Service manager for this OS (launchctl, systemd, windows-service) */
31
+ static serviceManager;
32
+ static fixes = [];
33
+ static requiredEnvVars = [];
34
+ static configSchema = {};
35
+ static autoConfigSchema = {};
36
+ // ============================================================
37
+ // INSTANCE PROPERTIES
38
+ // ============================================================
39
+ config;
40
+ constructor(config) {
41
+ this.config = config;
42
+ }
43
+ // ============================================================
44
+ // REQUIRED STATIC METHODS
45
+ // ============================================================
46
+ /**
47
+ * Determine if this plugin should be loaded for this project
48
+ * @param rootDir - Project root directory
49
+ * @param config - Loaded config
50
+ */
51
+ static async shouldLoad(_rootDir, _config) {
52
+ throw new Error('Server plugin must implement shouldLoad()');
53
+ }
54
+ /**
55
+ * Auto-detect server configuration
56
+ * @param rootDir - Project root directory
57
+ */
58
+ static async detectConfig(_rootDir) {
59
+ return {};
60
+ }
61
+ /**
62
+ * Execute a command on a remote server via SSH
63
+ * @param envConfig - Environment config with host and ssh_user
64
+ * @param command - Command to execute
65
+ */
66
+ static async sshExec(_envConfig, _command) {
67
+ throw new Error('Server plugin must implement sshExec()');
68
+ }
69
+ }
70
+ exports.ServerPlugin = ServerPlugin;
71
+ exports.default = ServerPlugin;
72
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/plugins/interfaces/server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAaH;;GAEG;AACH,MAAsB,YAAY;IAChC,+DAA+D;IAC/D,6BAA6B;IAC7B,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAW,kBAAkB,CAAC;IAChD,MAAM,CAAU,IAAI,GAAW,kBAAkB,CAAC;IAClD,MAAM,CAAU,QAAQ,GAAa,QAAQ,CAAC;IAC9C,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC;IAE1C,wCAAwC;IACxC,MAAM,CAAU,EAAE,CAAW;IAC7B,+DAA+D;IAC/D,MAAM,CAAU,cAAc,CAAiB;IAC/C,wEAAwE;IACxE,MAAM,CAAU,cAAc,CAAiB;IAE/C,MAAM,CAAU,KAAK,GAAU,EAAE,CAAC;IAClC,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAC/C,MAAM,CAAU,YAAY,GAA4B,EAAE,CAAC;IAC3D,MAAM,CAAU,gBAAgB,GAA2B,EAAE,CAAC;IAE9D,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAErD,MAAM,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAE/D;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAsB;QAC9D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,UAA6B,EAC7B,QAAgB;QAEhB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;;AA/DH,oCAwFC;AAED,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Basic EC2 Configuration
3
+ *
4
+ * Simple EC2 instance deployment without additional AWS services.
5
+ */
6
+ import type { AWSConfigDef } from './types.js';
7
+ declare const ec2Config: AWSConfigDef;
8
+ export default ec2Config;
9
+ //# sourceMappingURL=ec2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec2.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/ec2.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,SAAS,EAAE,YA4BhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Basic EC2 Configuration
4
+ *
5
+ * Simple EC2 instance deployment without additional AWS services.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const ec2Config = {
9
+ name: 'ec2',
10
+ description: 'Basic EC2 instance',
11
+ services: ['ec2'],
12
+ defaults: {
13
+ instance_type: 't3.micro',
14
+ storage: 20, // GB
15
+ ami_filter: 'ubuntu/images/hvm-ssd/ubuntu-*-22.04-amd64-server-*',
16
+ },
17
+ // Additional fixes specific to this config
18
+ fixes: [],
19
+ /**
20
+ * Deploy using this config
21
+ */
22
+ async deploy(_config, _environment) {
23
+ // Basic EC2 deployment - container already pulled from ECR
24
+ return { success: true };
25
+ },
26
+ /**
27
+ * Scan for issues specific to this config
28
+ */
29
+ async scan(_config, _environment) {
30
+ return [];
31
+ },
32
+ };
33
+ exports.default = ec2Config;
34
+ //# sourceMappingURL=ec2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec2.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/ec2.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAKH,MAAM,SAAS,GAAiB;IAC9B,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,CAAC,KAAK,CAAC;IAEjB,QAAQ,EAAE;QACR,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK;QAClB,UAAU,EAAE,qDAAqD;KAClE;IAED,2CAA2C;IAC3C,KAAK,EAAE,EAAE;IAET;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB,EAAE,YAAoB;QACvD,2DAA2D;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAsB,EAAE,YAAoB;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC;AAEF,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * AWS Free Tier Configuration
3
+ *
4
+ * Complete free tier bundle with:
5
+ * - EC2 t2.micro instance
6
+ * - RDS db.t2.micro database
7
+ * - S3 bucket for storage
8
+ * - ECR repository for container images
9
+ */
10
+ import type { AWSConfigDef } from './types.js';
11
+ declare const freeTierConfig: AWSConfigDef;
12
+ export default freeTierConfig;
13
+ //# sourceMappingURL=free-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free-tier.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/free-tier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,cAAc,EAAE,YAoFrB,CAAC;AAEF,eAAe,cAAc,CAAC"}