@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.
- package/README.md +420 -0
- package/bin/factiii +229 -0
- package/dist/cli/check-config.d.ts +9 -0
- package/dist/cli/check-config.d.ts.map +1 -0
- package/dist/cli/check-config.js +19 -0
- package/dist/cli/check-config.js.map +1 -0
- package/dist/cli/deploy-secrets.d.ts +16 -0
- package/dist/cli/deploy-secrets.d.ts.map +1 -0
- package/dist/cli/deploy-secrets.js +227 -0
- package/dist/cli/deploy-secrets.js.map +1 -0
- package/dist/cli/deploy.d.ts +30 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +306 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/deployer.d.ts +13 -0
- package/dist/cli/deployer.d.ts.map +1 -0
- package/dist/cli/deployer.js +21 -0
- package/dist/cli/deployer.js.map +1 -0
- package/dist/cli/dev-sync.d.ts +30 -0
- package/dist/cli/dev-sync.d.ts.map +1 -0
- package/dist/cli/dev-sync.js +500 -0
- package/dist/cli/dev-sync.js.map +1 -0
- package/dist/cli/execute-plugin-command.d.ts +25 -0
- package/dist/cli/execute-plugin-command.d.ts.map +1 -0
- package/dist/cli/execute-plugin-command.js +237 -0
- package/dist/cli/execute-plugin-command.js.map +1 -0
- package/dist/cli/fix.d.ts +22 -0
- package/dist/cli/fix.d.ts.map +1 -0
- package/dist/cli/fix.js +267 -0
- package/dist/cli/fix.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +9 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +190 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/plugin-commands.d.ts +22 -0
- package/dist/cli/plugin-commands.d.ts.map +1 -0
- package/dist/cli/plugin-commands.js +121 -0
- package/dist/cli/plugin-commands.js.map +1 -0
- package/dist/cli/scan.d.ts +66 -0
- package/dist/cli/scan.d.ts.map +1 -0
- package/dist/cli/scan.js +511 -0
- package/dist/cli/scan.js.map +1 -0
- package/dist/cli/secrets.d.ts +19 -0
- package/dist/cli/secrets.d.ts.map +1 -0
- package/dist/cli/secrets.js +318 -0
- package/dist/cli/secrets.js.map +1 -0
- package/dist/cli/undeploy.d.ts +9 -0
- package/dist/cli/undeploy.d.ts.map +1 -0
- package/dist/cli/undeploy.js +95 -0
- package/dist/cli/undeploy.js.map +1 -0
- package/dist/cli/upgrade.d.ts +9 -0
- package/dist/cli/upgrade.d.ts.map +1 -0
- package/dist/cli/upgrade.js +24 -0
- package/dist/cli/upgrade.js.map +1 -0
- package/dist/cli/validate.d.ts +9 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +20 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/generators/generate-factiii-auto.d.ts +31 -0
- package/dist/generators/generate-factiii-auto.d.ts.map +1 -0
- package/dist/generators/generate-factiii-auto.js +251 -0
- package/dist/generators/generate-factiii-auto.js.map +1 -0
- package/dist/generators/generate-factiii-yml.d.ts +23 -0
- package/dist/generators/generate-factiii-yml.d.ts.map +1 -0
- package/dist/generators/generate-factiii-yml.js +228 -0
- package/dist/generators/generate-factiii-yml.js.map +1 -0
- package/dist/generators/index.d.ts +8 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +14 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/addons/server-mode/index.d.ts +57 -0
- package/dist/plugins/addons/server-mode/index.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/index.js +136 -0
- package/dist/plugins/addons/server-mode/index.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +17 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.js +461 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts +12 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.js +246 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.d.ts +14 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.js +113 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.js.map +1 -0
- package/dist/plugins/approved.json +13 -0
- package/dist/plugins/frameworks/prisma-trpc/index.d.ts +65 -0
- package/dist/plugins/frameworks/prisma-trpc/index.d.ts.map +1 -0
- package/dist/plugins/frameworks/prisma-trpc/index.js +668 -0
- package/dist/plugins/frameworks/prisma-trpc/index.js.map +1 -0
- package/dist/plugins/index.d.ts +101 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +411 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/interfaces/addon.d.ts +43 -0
- package/dist/plugins/interfaces/addon.d.ts.map +1 -0
- package/dist/plugins/interfaces/addon.js +53 -0
- package/dist/plugins/interfaces/addon.js.map +1 -0
- package/dist/plugins/interfaces/framework.d.ts +43 -0
- package/dist/plugins/interfaces/framework.d.ts.map +1 -0
- package/dist/plugins/interfaces/framework.js +53 -0
- package/dist/plugins/interfaces/framework.js.map +1 -0
- package/dist/plugins/interfaces/index.d.ts +10 -0
- package/dist/plugins/interfaces/index.d.ts.map +1 -0
- package/dist/plugins/interfaces/index.js +17 -0
- package/dist/plugins/interfaces/index.js.map +1 -0
- package/dist/plugins/interfaces/pipeline.d.ts +78 -0
- package/dist/plugins/interfaces/pipeline.d.ts.map +1 -0
- package/dist/plugins/interfaces/pipeline.js +82 -0
- package/dist/plugins/interfaces/pipeline.js.map +1 -0
- package/dist/plugins/interfaces/server.d.ts +65 -0
- package/dist/plugins/interfaces/server.d.ts.map +1 -0
- package/dist/plugins/interfaces/server.js +72 -0
- package/dist/plugins/interfaces/server.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/ec2.d.ts +9 -0
- package/dist/plugins/pipelines/aws/configs/ec2.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/ec2.js +34 -0
- package/dist/plugins/pipelines/aws/configs/ec2.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.d.ts +13 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.js +86 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/index.d.ts +14 -0
- package/dist/plugins/pipelines/aws/configs/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/index.js +21 -0
- package/dist/plugins/pipelines/aws/configs/index.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/types.d.ts +36 -0
- package/dist/plugins/pipelines/aws/configs/types.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/types.js +9 -0
- package/dist/plugins/pipelines/aws/configs/types.js.map +1 -0
- package/dist/plugins/pipelines/aws/dev.d.ts +10 -0
- package/dist/plugins/pipelines/aws/dev.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/dev.js +70 -0
- package/dist/plugins/pipelines/aws/dev.js.map +1 -0
- package/dist/plugins/pipelines/aws/index.d.ts +118 -0
- package/dist/plugins/pipelines/aws/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/index.js +346 -0
- package/dist/plugins/pipelines/aws/index.js.map +1 -0
- package/dist/plugins/pipelines/aws/prod.d.ts +19 -0
- package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/prod.js +362 -0
- package/dist/plugins/pipelines/aws/prod.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +7 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +31 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/config.d.ts +7 -0
- package/dist/plugins/pipelines/aws/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/config.js +134 -0
- package/dist/plugins/pipelines/aws/scanfix/config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts +65 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.js +221 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.js.map +1 -0
- package/dist/plugins/pipelines/factiii/index.d.ts +195 -0
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/index.js +862 -0
- package/dist/plugins/pipelines/factiii/index.js.map +1 -0
- package/dist/plugins/pipelines/factiii/prod.d.ts +17 -0
- package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/prod.js +282 -0
- package/dist/plugins/pipelines/factiii/prod.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.js +80 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.js +43 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js +237 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js +169 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -0
- package/dist/plugins/pipelines/factiii/staging.d.ts +25 -0
- package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/staging.js +223 -0
- package/dist/plugins/pipelines/factiii/staging.js.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/detection.d.ts +36 -0
- package/dist/plugins/pipelines/factiii/utils/detection.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/detection.js +140 -0
- package/dist/plugins/pipelines/factiii/utils/detection.js.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts +16 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.js +129 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +112 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +112 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +130 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +198 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +179 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +176 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +176 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +95 -0
- package/dist/plugins/servers/amazon-linux/index.d.ts +93 -0
- package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -0
- package/dist/plugins/servers/amazon-linux/index.js +217 -0
- package/dist/plugins/servers/amazon-linux/index.js.map +1 -0
- package/dist/plugins/servers/mac/dev.d.ts +10 -0
- package/dist/plugins/servers/mac/dev.d.ts.map +1 -0
- package/dist/plugins/servers/mac/dev.js +71 -0
- package/dist/plugins/servers/mac/dev.js.map +1 -0
- package/dist/plugins/servers/mac/index.d.ts +101 -0
- package/dist/plugins/servers/mac/index.d.ts.map +1 -0
- package/dist/plugins/servers/mac/index.js +257 -0
- package/dist/plugins/servers/mac/index.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/config.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/config.js +168 -0
- package/dist/plugins/servers/mac/scanfix/config.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/containers.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/containers.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/containers.js +167 -0
- package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/system.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/system.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/system.js +144 -0
- package/dist/plugins/servers/mac/scanfix/system.js.map +1 -0
- package/dist/plugins/servers/mac/staging.d.ts +21 -0
- package/dist/plugins/servers/mac/staging.d.ts.map +1 -0
- package/dist/plugins/servers/mac/staging.js +708 -0
- package/dist/plugins/servers/mac/staging.js.map +1 -0
- package/dist/plugins/servers/ubuntu/index.d.ts +93 -0
- package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -0
- package/dist/plugins/servers/ubuntu/index.js +224 -0
- package/dist/plugins/servers/ubuntu/index.js.map +1 -0
- package/dist/plugins/servers/windows/index.d.ts +90 -0
- package/dist/plugins/servers/windows/index.d.ts.map +1 -0
- package/dist/plugins/servers/windows/index.js +205 -0
- package/dist/plugins/servers/windows/index.js.map +1 -0
- package/dist/scanfix/commands/index.d.ts +27 -0
- package/dist/scanfix/commands/index.d.ts.map +1 -0
- package/dist/scanfix/commands/index.js +97 -0
- package/dist/scanfix/commands/index.js.map +1 -0
- package/dist/scanfix/commands/mac.d.ts +11 -0
- package/dist/scanfix/commands/mac.d.ts.map +1 -0
- package/dist/scanfix/commands/mac.js +31 -0
- package/dist/scanfix/commands/mac.js.map +1 -0
- package/dist/scanfix/commands/ubuntu.d.ts +11 -0
- package/dist/scanfix/commands/ubuntu.d.ts.map +1 -0
- package/dist/scanfix/commands/ubuntu.js +30 -0
- package/dist/scanfix/commands/ubuntu.js.map +1 -0
- package/dist/scanfix/fixes/certbot.d.ts +25 -0
- package/dist/scanfix/fixes/certbot.d.ts.map +1 -0
- package/dist/scanfix/fixes/certbot.js +136 -0
- package/dist/scanfix/fixes/certbot.js.map +1 -0
- package/dist/scanfix/fixes/docker.d.ts +29 -0
- package/dist/scanfix/fixes/docker.d.ts.map +1 -0
- package/dist/scanfix/fixes/docker.js +149 -0
- package/dist/scanfix/fixes/docker.js.map +1 -0
- package/dist/scanfix/fixes/git.d.ts +20 -0
- package/dist/scanfix/fixes/git.d.ts.map +1 -0
- package/dist/scanfix/fixes/git.js +71 -0
- package/dist/scanfix/fixes/git.js.map +1 -0
- package/dist/scanfix/fixes/index.d.ts +11 -0
- package/dist/scanfix/fixes/index.d.ts.map +1 -0
- package/dist/scanfix/fixes/index.js +27 -0
- package/dist/scanfix/fixes/index.js.map +1 -0
- package/dist/scanfix/fixes/node.d.ts +20 -0
- package/dist/scanfix/fixes/node.d.ts.map +1 -0
- package/dist/scanfix/fixes/node.js +71 -0
- package/dist/scanfix/fixes/node.js.map +1 -0
- package/dist/scanfix/fixes/pnpm.d.ts +20 -0
- package/dist/scanfix/fixes/pnpm.d.ts.map +1 -0
- package/dist/scanfix/fixes/pnpm.js +122 -0
- package/dist/scanfix/fixes/pnpm.js.map +1 -0
- package/dist/scanfix/index.d.ts +23 -0
- package/dist/scanfix/index.d.ts.map +1 -0
- package/dist/scanfix/index.js +44 -0
- package/dist/scanfix/index.js.map +1 -0
- package/dist/scanfix/platform.d.ts +20 -0
- package/dist/scanfix/platform.d.ts.map +1 -0
- package/dist/scanfix/platform.js +48 -0
- package/dist/scanfix/platform.js.map +1 -0
- package/dist/scanfix/ssl-cert-helper.d.ts +27 -0
- package/dist/scanfix/ssl-cert-helper.d.ts.map +1 -0
- package/dist/scanfix/ssl-cert-helper.js +117 -0
- package/dist/scanfix/ssl-cert-helper.js.map +1 -0
- package/dist/scanfix/types.d.ts +27 -0
- package/dist/scanfix/types.d.ts.map +1 -0
- package/dist/scanfix/types.js +8 -0
- package/dist/scanfix/types.js.map +1 -0
- package/dist/scripts/check-existing-secrets.d.ts +6 -0
- package/dist/scripts/check-existing-secrets.d.ts.map +1 -0
- package/dist/scripts/check-existing-secrets.js +86 -0
- package/dist/scripts/check-existing-secrets.js.map +1 -0
- package/dist/scripts/generate-all.d.ts +40 -0
- package/dist/scripts/generate-all.d.ts.map +1 -0
- package/dist/scripts/generate-all.js +373 -0
- package/dist/scripts/generate-all.js.map +1 -0
- package/dist/scripts/get-repo-name.d.ts +6 -0
- package/dist/scripts/get-repo-name.d.ts.map +1 -0
- package/dist/scripts/get-repo-name.js +54 -0
- package/dist/scripts/get-repo-name.js.map +1 -0
- package/dist/scripts/index.d.ts +7 -0
- package/dist/scripts/index.d.ts.map +1 -0
- package/dist/scripts/index.js +14 -0
- package/dist/scripts/index.js.map +1 -0
- package/dist/scripts/validate-env-files.d.ts +6 -0
- package/dist/scripts/validate-env-files.d.ts.map +1 -0
- package/dist/scripts/validate-env-files.js +126 -0
- package/dist/scripts/validate-env-files.js.map +1 -0
- package/dist/scripts/validate-example-values.d.ts +8 -0
- package/dist/scripts/validate-example-values.d.ts.map +1 -0
- package/dist/scripts/validate-example-values.js +88 -0
- package/dist/scripts/validate-example-values.js.map +1 -0
- package/dist/scripts/validate-factiii-yml.d.ts +6 -0
- package/dist/scripts/validate-factiii-yml.d.ts.map +1 -0
- package/dist/scripts/validate-factiii-yml.js +71 -0
- package/dist/scripts/validate-factiii-yml.js.map +1 -0
- package/dist/types/cli.d.ts +138 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +8 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/config.d.ts +113 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +8 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/plugin.d.ts +352 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +8 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/utils/ansible-vault-secrets.d.ts +95 -0
- package/dist/utils/ansible-vault-secrets.d.ts.map +1 -0
- package/dist/utils/ansible-vault-secrets.js +406 -0
- package/dist/utils/ansible-vault-secrets.js.map +1 -0
- package/dist/utils/config-helpers.d.ts +72 -0
- package/dist/utils/config-helpers.d.ts.map +1 -0
- package/dist/utils/config-helpers.js +171 -0
- package/dist/utils/config-helpers.js.map +1 -0
- package/dist/utils/config-schema.d.ts +17 -0
- package/dist/utils/config-schema.d.ts.map +1 -0
- package/dist/utils/config-schema.js +100 -0
- package/dist/utils/config-schema.js.map +1 -0
- package/dist/utils/config-validator.d.ts +29 -0
- package/dist/utils/config-validator.d.ts.map +1 -0
- package/dist/utils/config-validator.js +146 -0
- package/dist/utils/config-validator.js.map +1 -0
- package/dist/utils/deployment-report.d.ts +100 -0
- package/dist/utils/deployment-report.d.ts.map +1 -0
- package/dist/utils/deployment-report.js +225 -0
- package/dist/utils/deployment-report.js.map +1 -0
- package/dist/utils/dns-validator.d.ts +19 -0
- package/dist/utils/dns-validator.d.ts.map +1 -0
- package/dist/utils/dns-validator.js +94 -0
- package/dist/utils/dns-validator.js.map +1 -0
- package/dist/utils/env-validator.d.ts +108 -0
- package/dist/utils/env-validator.d.ts.map +1 -0
- package/dist/utils/env-validator.js +342 -0
- package/dist/utils/env-validator.js.map +1 -0
- package/dist/utils/github-workflow-monitor.d.ts +49 -0
- package/dist/utils/github-workflow-monitor.d.ts.map +1 -0
- package/dist/utils/github-workflow-monitor.js +145 -0
- package/dist/utils/github-workflow-monitor.js.map +1 -0
- package/dist/utils/index.d.ts +18 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +48 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/secret-prompts.d.ts +67 -0
- package/dist/utils/secret-prompts.d.ts.map +1 -0
- package/dist/utils/secret-prompts.js +369 -0
- package/dist/utils/secret-prompts.js.map +1 -0
- package/dist/utils/server-check.d.ts +43 -0
- package/dist/utils/server-check.d.ts.map +1 -0
- package/dist/utils/server-check.js +397 -0
- package/dist/utils/server-check.js.map +1 -0
- package/dist/utils/ssh-deploy.d.ts +70 -0
- package/dist/utils/ssh-deploy.d.ts.map +1 -0
- package/dist/utils/ssh-deploy.js +268 -0
- package/dist/utils/ssh-deploy.js.map +1 -0
- package/dist/utils/ssh-helper.d.ts +40 -0
- package/dist/utils/ssh-helper.d.ts.map +1 -0
- package/dist/utils/ssh-helper.js +221 -0
- package/dist/utils/ssh-helper.js.map +1 -0
- package/dist/utils/template-generator.d.ts +42 -0
- package/dist/utils/template-generator.d.ts.map +1 -0
- package/dist/utils/template-generator.js +223 -0
- package/dist/utils/template-generator.js.map +1 -0
- package/dist/utils/version-check.d.ts +69 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +211 -0
- package/dist/utils/version-check.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AWS Free Tier Configuration
|
|
4
|
+
*
|
|
5
|
+
* Complete free tier bundle with:
|
|
6
|
+
* - EC2 t2.micro instance
|
|
7
|
+
* - RDS db.t2.micro database
|
|
8
|
+
* - S3 bucket for storage
|
|
9
|
+
* - ECR repository for container images
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const child_process_1 = require("child_process");
|
|
13
|
+
const freeTierConfig = {
|
|
14
|
+
name: 'free-tier',
|
|
15
|
+
description: 'AWS Free Tier bundle (EC2 + RDS + S3 + ECR)',
|
|
16
|
+
services: ['ec2', 'rds', 's3', 'ecr'],
|
|
17
|
+
defaults: {
|
|
18
|
+
instance_type: 't2.micro', // Free tier eligible
|
|
19
|
+
rds_instance: 'db.t2.micro', // Free tier eligible
|
|
20
|
+
storage: 30, // Max free tier EBS
|
|
21
|
+
rds_storage: 20, // Max free tier RDS
|
|
22
|
+
s3_bucket: true,
|
|
23
|
+
ecr_repo: true,
|
|
24
|
+
},
|
|
25
|
+
// Additional fixes specific to this config
|
|
26
|
+
fixes: [
|
|
27
|
+
{
|
|
28
|
+
id: 'ecr-repo-missing',
|
|
29
|
+
stage: 'prod',
|
|
30
|
+
severity: 'warning',
|
|
31
|
+
description: 'ECR repository not created',
|
|
32
|
+
scan: async (config, _rootDir) => {
|
|
33
|
+
// Check if ECR repo exists
|
|
34
|
+
const repoName = config.name ?? 'app';
|
|
35
|
+
const region = config.aws?.region ?? 'us-east-1';
|
|
36
|
+
try {
|
|
37
|
+
(0, child_process_1.execSync)(`aws ecr describe-repositories --repository-names ${repoName} --region ${region}`, { stdio: 'pipe' });
|
|
38
|
+
return false; // Repo exists
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return true; // Repo doesn't exist
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
fix: async (config, _rootDir) => {
|
|
45
|
+
const repoName = config.name ?? 'app';
|
|
46
|
+
const region = config.aws?.region ?? 'us-east-1';
|
|
47
|
+
try {
|
|
48
|
+
(0, child_process_1.execSync)(`aws ecr create-repository --repository-name ${repoName} --region ${region}`, { stdio: 'pipe' });
|
|
49
|
+
console.log(` Created ECR repository: ${repoName}`);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
const errorMessage = e instanceof Error ? e.message : String(e);
|
|
54
|
+
console.log(` Failed to create ECR repo: ${errorMessage}`);
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
manualFix: 'Create ECR repository: aws ecr create-repository --repository-name <app-name>',
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
/**
|
|
62
|
+
* Deploy using this config
|
|
63
|
+
*/
|
|
64
|
+
async deploy(_config, _environment) {
|
|
65
|
+
// Free tier deployment includes ECR pull
|
|
66
|
+
return { success: true };
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* Scan for issues specific to this config
|
|
70
|
+
*/
|
|
71
|
+
async scan(config, environment) {
|
|
72
|
+
const issues = [];
|
|
73
|
+
// Run config-specific fixes as scans
|
|
74
|
+
for (const fix of freeTierConfig.fixes) {
|
|
75
|
+
if (fix.stage === environment) {
|
|
76
|
+
const hasProblem = await fix.scan(config, process.cwd());
|
|
77
|
+
if (hasProblem) {
|
|
78
|
+
issues.push(fix);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return issues;
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
exports.default = freeTierConfig;
|
|
86
|
+
//# sourceMappingURL=free-tier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free-tier.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/free-tier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Configs Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all available AWS configuration types.
|
|
5
|
+
* Configs are selected based on `config.aws.config` value in factiii.yml.
|
|
6
|
+
*
|
|
7
|
+
* Available configs:
|
|
8
|
+
* - ec2: Basic EC2 instance
|
|
9
|
+
* - free-tier: Complete free tier bundle (EC2 + RDS + S3 + ECR)
|
|
10
|
+
*/
|
|
11
|
+
export { default as ec2 } from './ec2.js';
|
|
12
|
+
export { default as freeTier } from './free-tier.js';
|
|
13
|
+
export type { AWSConfigDef } from './types.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AWS Configs Index
|
|
4
|
+
*
|
|
5
|
+
* Exports all available AWS configuration types.
|
|
6
|
+
* Configs are selected based on `config.aws.config` value in factiii.yml.
|
|
7
|
+
*
|
|
8
|
+
* Available configs:
|
|
9
|
+
* - ec2: Basic EC2 instance
|
|
10
|
+
* - free-tier: Complete free tier bundle (EC2 + RDS + S3 + ECR)
|
|
11
|
+
*/
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.freeTier = exports.ec2 = void 0;
|
|
17
|
+
var ec2_js_1 = require("./ec2.js");
|
|
18
|
+
Object.defineProperty(exports, "ec2", { enumerable: true, get: function () { return __importDefault(ec2_js_1).default; } });
|
|
19
|
+
var free_tier_js_1 = require("./free-tier.js");
|
|
20
|
+
Object.defineProperty(exports, "freeTier", { enumerable: true, get: function () { return __importDefault(free_tier_js_1).default; } });
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAEH,mCAA0C;AAAjC,8GAAA,OAAO,OAAO;AACvB,+CAAqD;AAA5C,yHAAA,OAAO,OAAY"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Configuration Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Standardized interface for all AWS config types (ec2, free-tier, standard, enterprise).
|
|
5
|
+
* All configs must implement this interface for consistency.
|
|
6
|
+
*/
|
|
7
|
+
import type { FactiiiConfig, Fix, DeployResult } from '../../../../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Standard AWS Configuration Definition
|
|
10
|
+
*
|
|
11
|
+
* Each AWS config type (ec2, free-tier, etc.) must implement this interface.
|
|
12
|
+
* Configs are selected based on `config.aws.config` value in factiii.yml.
|
|
13
|
+
*/
|
|
14
|
+
export interface AWSConfigDef {
|
|
15
|
+
/** Unique identifier for this config type */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Human-readable description of what this config provides */
|
|
18
|
+
description: string;
|
|
19
|
+
/** List of AWS services used by this config */
|
|
20
|
+
services: string[];
|
|
21
|
+
/** Default values for this config (instance_type, storage, etc.) */
|
|
22
|
+
defaults: Record<string, unknown>;
|
|
23
|
+
/** Config-specific fixes (merged with base plugin fixes) */
|
|
24
|
+
fixes: Fix[];
|
|
25
|
+
/**
|
|
26
|
+
* Deploy using this config
|
|
27
|
+
* Called during deployment to execute config-specific deployment logic
|
|
28
|
+
*/
|
|
29
|
+
deploy: (config: FactiiiConfig, environment: string) => Promise<DeployResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Scan for issues specific to this config
|
|
32
|
+
* Returns array of Fix objects for issues found
|
|
33
|
+
*/
|
|
34
|
+
scan: (config: FactiiiConfig, environment: string) => Promise<Fix[]>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IAEb,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,4DAA4D;IAC5D,KAAK,EAAE,GAAG,EAAE,CAAC;IAEb;;;OAGG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9E;;;OAGG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AWS Configuration Type Definitions
|
|
4
|
+
*
|
|
5
|
+
* Standardized interface for all AWS config types (ec2, free-tier, standard, enterprise).
|
|
6
|
+
* All configs must implement this interface for consistency.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/configs/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev environment operations for AWS plugin
|
|
3
|
+
* Handles local development deployment
|
|
4
|
+
*/
|
|
5
|
+
import type { DeployResult } from '../../../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Deploy to local dev environment
|
|
8
|
+
*/
|
|
9
|
+
export declare function deployDev(): Promise<DeployResult>;
|
|
10
|
+
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/dev.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,CAuBvD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Dev environment operations for AWS plugin
|
|
4
|
+
* Handles local development deployment
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.deployDev = deployDev;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const child_process_1 = require("child_process");
|
|
43
|
+
/**
|
|
44
|
+
* Deploy to local dev environment
|
|
45
|
+
*/
|
|
46
|
+
async function deployDev() {
|
|
47
|
+
console.log(' 🐳 Starting local dev containers...');
|
|
48
|
+
try {
|
|
49
|
+
const composeFile = fs.existsSync('docker-compose.yml')
|
|
50
|
+
? 'docker-compose.yml'
|
|
51
|
+
: fs.existsSync('compose.yml')
|
|
52
|
+
? 'compose.yml'
|
|
53
|
+
: null;
|
|
54
|
+
if (composeFile) {
|
|
55
|
+
(0, child_process_1.execSync)(`docker compose -f ${composeFile} up -d`, { stdio: 'inherit' });
|
|
56
|
+
return { success: true, message: 'Local containers started' };
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log(' No docker-compose.yml found, skipping container start');
|
|
60
|
+
return { success: true, message: 'No compose file, skipped' };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return {
|
|
65
|
+
success: false,
|
|
66
|
+
error: error instanceof Error ? error.message : String(error),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/dev.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASH,8BAuBC;AA9BD,uCAAyB;AACzB,iDAAyC;AAGzC;;GAEG;AACI,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;YACrD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC5B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,WAAW,EAAE,CAAC;YAChB,IAAA,wBAAQ,EAAC,qBAAqB,WAAW,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Pipeline Plugin
|
|
3
|
+
*
|
|
4
|
+
* Cloud infrastructure pipeline for deploying to AWS.
|
|
5
|
+
* Uses a config-based architecture where different configs bundle AWS services:
|
|
6
|
+
* - ec2: Basic EC2 instance
|
|
7
|
+
* - free-tier: Complete free tier bundle (EC2 + RDS + S3 + ECR)
|
|
8
|
+
* - standard: Production-ready setup
|
|
9
|
+
* - enterprise: HA, multi-AZ, auto-scaling
|
|
10
|
+
*
|
|
11
|
+
* This is a PIPELINE plugin, not a server plugin. It handles:
|
|
12
|
+
* - AWS-specific deployment orchestration
|
|
13
|
+
* - ECR image management
|
|
14
|
+
* - AWS service provisioning
|
|
15
|
+
*
|
|
16
|
+
* Server OS plugins (ubuntu, amazon-linux) handle the actual OS-level commands.
|
|
17
|
+
*
|
|
18
|
+
* ============================================================
|
|
19
|
+
* PLUGIN STRUCTURE STANDARD
|
|
20
|
+
* ============================================================
|
|
21
|
+
*
|
|
22
|
+
* **scanfix/** - Scan/fix operations organized by concern
|
|
23
|
+
* - Each file exports an array of Fix[] objects
|
|
24
|
+
* - Files group related fixes together (aws-cli, config)
|
|
25
|
+
* - All fixes are combined in the main plugin class
|
|
26
|
+
*
|
|
27
|
+
* **Environment-specific files** - Operations for each environment
|
|
28
|
+
* - dev.ts - Dev environment operations (deployDev)
|
|
29
|
+
* - prod.ts - Production operations (deployProd, ensureServerReady)
|
|
30
|
+
*
|
|
31
|
+
* **configs/** - AWS configuration types
|
|
32
|
+
* - types.ts - Standardized AWSConfigDef interface
|
|
33
|
+
* - ec2.ts - EC2 config implementation
|
|
34
|
+
* - free-tier.ts - Free tier config implementation
|
|
35
|
+
* - index.ts - Exports all configs
|
|
36
|
+
*
|
|
37
|
+
* **index.ts** - Main plugin class
|
|
38
|
+
* - Static metadata (id, name, category, version)
|
|
39
|
+
* - compatibleServers - Which OS types this pipeline supports
|
|
40
|
+
* - canReach() - Pipeline routing logic
|
|
41
|
+
* - Imports and combines all scanfix arrays
|
|
42
|
+
* ============================================================
|
|
43
|
+
*/
|
|
44
|
+
import type { FactiiiConfig, EnvironmentConfig, DeployResult, EnsureServerReadyOptions, Stage, Reachability, ServerOS } from '../../../types/index.js';
|
|
45
|
+
import type { AWSConfigDef } from './configs/types.js';
|
|
46
|
+
declare class AWSPipeline {
|
|
47
|
+
static readonly id = "aws";
|
|
48
|
+
static readonly name = "AWS Pipeline";
|
|
49
|
+
static readonly category: 'pipeline';
|
|
50
|
+
static readonly version = "1.0.0";
|
|
51
|
+
/**
|
|
52
|
+
* Server OS types this pipeline is compatible with
|
|
53
|
+
* AWS typically runs Ubuntu or Amazon Linux on EC2
|
|
54
|
+
*/
|
|
55
|
+
static readonly compatibleServers: ServerOS[];
|
|
56
|
+
/**
|
|
57
|
+
* Default server OS for this pipeline
|
|
58
|
+
*/
|
|
59
|
+
static readonly defaultServer: ServerOS;
|
|
60
|
+
static readonly requiredEnvVars: string[];
|
|
61
|
+
static readonly configSchema: Record<string, unknown>;
|
|
62
|
+
static readonly autoConfigSchema: Record<string, string>;
|
|
63
|
+
/**
|
|
64
|
+
* Determine if this plugin should be loaded for this project
|
|
65
|
+
* Loads if config has AWS settings, prod environment uses AWS, or on init
|
|
66
|
+
*/
|
|
67
|
+
static shouldLoad(_rootDir: string, config: FactiiiConfig): Promise<boolean>;
|
|
68
|
+
static configs: Record<string, AWSConfigDef>;
|
|
69
|
+
static helpText: Record<string, string>;
|
|
70
|
+
/**
|
|
71
|
+
* Check how this pipeline can reach a given stage
|
|
72
|
+
* This is the core routing logic for the pipeline
|
|
73
|
+
*/
|
|
74
|
+
static canReach(stage: Stage, config: FactiiiConfig): Reachability;
|
|
75
|
+
/**
|
|
76
|
+
* Whether this pipeline requires full repo on server
|
|
77
|
+
* - staging: true (builds from source)
|
|
78
|
+
* - prod: false (pulls pre-built images from ECR)
|
|
79
|
+
*/
|
|
80
|
+
static requiresFullRepo(environment: string): boolean;
|
|
81
|
+
static readonly fixes: import("../../../types/plugin.js").Fix[];
|
|
82
|
+
/**
|
|
83
|
+
* Auto-detect AWS configuration
|
|
84
|
+
*/
|
|
85
|
+
static detectConfig(_rootDir: string): Promise<{
|
|
86
|
+
aws_cli_installed: boolean;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* Execute a command on a remote server via SSH
|
|
90
|
+
*/
|
|
91
|
+
static sshExec(envConfig: EnvironmentConfig, command: string): Promise<string>;
|
|
92
|
+
private _config;
|
|
93
|
+
private _awsConfig;
|
|
94
|
+
constructor(config: FactiiiConfig);
|
|
95
|
+
/**
|
|
96
|
+
* Deploy to a stage - handles routing based on canReach()
|
|
97
|
+
*/
|
|
98
|
+
deployStage(stage: Stage, options?: {
|
|
99
|
+
branch?: string;
|
|
100
|
+
commit?: string;
|
|
101
|
+
}): Promise<DeployResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Ensure server is ready for deployment
|
|
104
|
+
* Installs Node.js, git, clones repo, checks out commit
|
|
105
|
+
* Note: Production doesn't install dependencies (pulls pre-built images)
|
|
106
|
+
*/
|
|
107
|
+
ensureServerReady(config: FactiiiConfig, environment: string, options?: EnsureServerReadyOptions): Promise<DeployResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Deploy to an environment
|
|
110
|
+
*/
|
|
111
|
+
deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Undeploy from an environment
|
|
114
|
+
*/
|
|
115
|
+
undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
|
|
116
|
+
}
|
|
117
|
+
export default AWSPipeline;
|
|
118
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,KAAK,EACL,YAAY,EACZ,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAqBjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,cAAM,WAAW;IAKf,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS;IAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAc;IAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAElC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAA8B;IAE3E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAY;IAGnD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAG/C,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMnD;IAGF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;IAEF;;;OAGG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BlF,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAG1C;IAEF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrC;IAMF;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY;IA2BlE;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAWrD,MAAM,CAAC,QAAQ,CAAC,KAAK,2CAanB;IAMF;;OAEG;WACU,YAAY,CACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IAS1C;;OAEG;WACU,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpF,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAA2B;gBAEjC,MAAM,EAAE,aAAa;IAQjC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAuB1G;;;;OAIG;IACG,iBAAiB,CACrB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC;IAIxB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAU/E;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAuClF;AAED,eAAe,WAAW,CAAC"}
|