@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,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Staging Build Utilities
|
|
4
|
+
*
|
|
5
|
+
* Functions for building Docker images for staging environment:
|
|
6
|
+
* - Builds linux/arm64 images on staging server (no ECR push)
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.getDockerfilePath = getDockerfilePath;
|
|
46
|
+
exports.ensureDockerRunning = ensureDockerRunning;
|
|
47
|
+
exports.buildStagingImage = buildStagingImage;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
const child_process_1 = require("child_process");
|
|
51
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
52
|
+
const ssh_helper_js_1 = require("../../../utils/ssh-helper.js");
|
|
53
|
+
/**
|
|
54
|
+
* Get dockerfile path from factiiiAuto.yml or use default
|
|
55
|
+
*/
|
|
56
|
+
function getDockerfilePath(repoDir) {
|
|
57
|
+
const autoConfigPath = path.join(repoDir, 'factiiiAuto.yml');
|
|
58
|
+
if (fs.existsSync(autoConfigPath)) {
|
|
59
|
+
try {
|
|
60
|
+
const autoConfig = js_yaml_1.default.load(fs.readFileSync(autoConfigPath, 'utf8'));
|
|
61
|
+
if (autoConfig?.dockerfile) {
|
|
62
|
+
// Remove OVERRIDE if present
|
|
63
|
+
return autoConfig.dockerfile.split(' ')[0] ?? 'apps/server/Dockerfile';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Ignore errors
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return 'apps/server/Dockerfile';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Ensure Docker is running before deployment
|
|
74
|
+
* Starts Docker Desktop if not running and waits for it to be ready
|
|
75
|
+
*/
|
|
76
|
+
async function ensureDockerRunning(envConfig, isOnServer) {
|
|
77
|
+
const checkCmd = 'export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" && docker info > /dev/null 2>&1 && echo "running" || echo "stopped"';
|
|
78
|
+
// Start Docker and wait up to 60 seconds for it to be ready
|
|
79
|
+
const startCmd = `
|
|
80
|
+
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" && \
|
|
81
|
+
if ! docker info > /dev/null 2>&1; then
|
|
82
|
+
echo "Starting Docker Desktop..." && \
|
|
83
|
+
open -a Docker && \
|
|
84
|
+
for i in {1..60}; do
|
|
85
|
+
sleep 1
|
|
86
|
+
if docker info > /dev/null 2>&1; then
|
|
87
|
+
echo "Docker is ready"
|
|
88
|
+
exit 0
|
|
89
|
+
fi
|
|
90
|
+
done
|
|
91
|
+
echo "Docker failed to start within 60 seconds"
|
|
92
|
+
exit 1
|
|
93
|
+
else
|
|
94
|
+
echo "Docker is already running"
|
|
95
|
+
fi
|
|
96
|
+
`;
|
|
97
|
+
if (isOnServer) {
|
|
98
|
+
// We're on the server - run commands directly
|
|
99
|
+
try {
|
|
100
|
+
const result = (0, child_process_1.execSync)(checkCmd, {
|
|
101
|
+
encoding: 'utf8',
|
|
102
|
+
shell: '/bin/bash',
|
|
103
|
+
env: {
|
|
104
|
+
...process.env,
|
|
105
|
+
PATH: `/opt/homebrew/bin:/usr/local/bin:${process.env.PATH}`,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
if (result.includes('stopped')) {
|
|
109
|
+
console.log(' 🐳 Starting Docker Desktop...');
|
|
110
|
+
(0, child_process_1.execSync)(startCmd, {
|
|
111
|
+
stdio: 'inherit',
|
|
112
|
+
shell: '/bin/bash',
|
|
113
|
+
env: {
|
|
114
|
+
...process.env,
|
|
115
|
+
PATH: `/opt/homebrew/bin:/usr/local/bin:${process.env.PATH}`,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
console.log(' ✅ Docker Desktop started');
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.log(' ✅ Docker is already running');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
// Docker not running, try to start it
|
|
126
|
+
console.log(' 🐳 Starting Docker Desktop...');
|
|
127
|
+
try {
|
|
128
|
+
(0, child_process_1.execSync)(startCmd, {
|
|
129
|
+
stdio: 'inherit',
|
|
130
|
+
shell: '/bin/bash',
|
|
131
|
+
env: {
|
|
132
|
+
...process.env,
|
|
133
|
+
PATH: `/opt/homebrew/bin:/usr/local/bin:${process.env.PATH}`,
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
console.log(' ✅ Docker Desktop started');
|
|
137
|
+
}
|
|
138
|
+
catch (startError) {
|
|
139
|
+
throw new Error('Failed to start Docker Desktop. Please start it manually.');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// We're remote - run via SSH
|
|
145
|
+
try {
|
|
146
|
+
const result = await (0, ssh_helper_js_1.sshExec)(envConfig, checkCmd);
|
|
147
|
+
if (result.includes('stopped')) {
|
|
148
|
+
console.log(' 🐳 Starting Docker Desktop on staging server...');
|
|
149
|
+
await (0, ssh_helper_js_1.sshExec)(envConfig, startCmd);
|
|
150
|
+
console.log(' ✅ Docker Desktop started');
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
console.log(' ✅ Docker is already running');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
console.log(' 🐳 Starting Docker Desktop on staging server...');
|
|
158
|
+
try {
|
|
159
|
+
await (0, ssh_helper_js_1.sshExec)(envConfig, startCmd);
|
|
160
|
+
console.log(' ✅ Docker Desktop started');
|
|
161
|
+
}
|
|
162
|
+
catch (startError) {
|
|
163
|
+
throw new Error('Failed to start Docker Desktop on staging server. Please start it manually.');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Build staging Docker image (linux/arm64) on staging server
|
|
170
|
+
* No ECR push - builds locally and uses image tag
|
|
171
|
+
*
|
|
172
|
+
* CRITICAL: This function MUST always build on the staging server, never locally.
|
|
173
|
+
* When running from a local machine, it SSHs to staging and builds there.
|
|
174
|
+
*/
|
|
175
|
+
async function buildStagingImage(config, envConfig) {
|
|
176
|
+
const repoName = config.name ?? 'app';
|
|
177
|
+
const repoDir = `~/.factiii/${repoName}`;
|
|
178
|
+
const isOnServer = process.env.GITHUB_ACTIONS === 'true';
|
|
179
|
+
try {
|
|
180
|
+
// Ensure Docker is running
|
|
181
|
+
console.log(' 🐳 Checking Docker status...');
|
|
182
|
+
await ensureDockerRunning(envConfig, isOnServer);
|
|
183
|
+
if (isOnServer) {
|
|
184
|
+
// We're on the server - run commands directly
|
|
185
|
+
const expandedRepoDir = repoDir.replace('~', process.env.HOME ?? '');
|
|
186
|
+
const dockerfile = getDockerfilePath(expandedRepoDir);
|
|
187
|
+
const imageTag = `${repoName}:staging`;
|
|
188
|
+
// Build Docker image explicitly with arm64 platform
|
|
189
|
+
console.log(` 🔨 Building Docker image (arm64): ${imageTag}...`);
|
|
190
|
+
(0, child_process_1.execSync)(`cd ${expandedRepoDir} && docker build --platform linux/arm64 -t ${imageTag} -f ${dockerfile} .`, {
|
|
191
|
+
stdio: 'inherit',
|
|
192
|
+
shell: '/bin/bash',
|
|
193
|
+
env: {
|
|
194
|
+
...process.env,
|
|
195
|
+
PATH: `/opt/homebrew/bin:/usr/local/bin:${process.env.PATH}`,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
// We're remote - SSH to the server and build there
|
|
201
|
+
// CRITICAL: Build must happen on staging server, never locally
|
|
202
|
+
const dockerfile = getDockerfilePath(path.join(process.env.HOME ?? '/Users/jon', '.factiii', repoName));
|
|
203
|
+
const imageTag = `${repoName}:staging`;
|
|
204
|
+
// Build Docker image explicitly with arm64 platform on remote staging server
|
|
205
|
+
console.log(` 🔨 Building Docker image (arm64) on staging server: ${imageTag}...`);
|
|
206
|
+
console.log(` 📍 Building on: ${envConfig.domain}`);
|
|
207
|
+
await (0, ssh_helper_js_1.sshExec)(envConfig, `export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" && \
|
|
208
|
+
cd ${repoDir} && \
|
|
209
|
+
docker build --platform linux/arm64 -t ${imageTag} -f ${dockerfile} .`);
|
|
210
|
+
console.log(` ✅ Image built successfully on staging server: ${imageTag}`);
|
|
211
|
+
}
|
|
212
|
+
return { success: true, message: 'Staging image built successfully' };
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
216
|
+
console.error(` ❌ Failed to build staging image: ${errorMessage}`);
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
error: `Failed to build staging image: ${errorMessage}`,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=staging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staging.js","sourceRoot":"","sources":["../../../../src/plugins/pipelines/factiii/staging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Detection Utilities
|
|
3
|
+
*
|
|
4
|
+
* Static methods for detecting project configuration:
|
|
5
|
+
* - Package manager (pnpm, yarn, npm)
|
|
6
|
+
* - Node.js version
|
|
7
|
+
* - pnpm version
|
|
8
|
+
* - Dockerfile location
|
|
9
|
+
*/
|
|
10
|
+
export interface DetectedConfig {
|
|
11
|
+
package_manager: string;
|
|
12
|
+
node_version: string | null;
|
|
13
|
+
pnpm_version: string | null;
|
|
14
|
+
dockerfile: string | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Auto-detect pipeline configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectConfig(rootDir: string): DetectedConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Detect package manager
|
|
22
|
+
*/
|
|
23
|
+
export declare function detectPackageManager(rootDir: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Detect Node.js version from package.json
|
|
26
|
+
*/
|
|
27
|
+
export declare function detectNodeVersion(rootDir: string): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Detect pnpm version from package.json
|
|
30
|
+
*/
|
|
31
|
+
export declare function detectPnpmVersion(rootDir: string): string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Find Dockerfile
|
|
34
|
+
*/
|
|
35
|
+
export declare function findDockerfile(rootDir: string): string | null;
|
|
36
|
+
//# sourceMappingURL=detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/utils/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAO5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB7D"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration Detection Utilities
|
|
4
|
+
*
|
|
5
|
+
* Static methods for detecting project configuration:
|
|
6
|
+
* - Package manager (pnpm, yarn, npm)
|
|
7
|
+
* - Node.js version
|
|
8
|
+
* - pnpm version
|
|
9
|
+
* - Dockerfile location
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.detectConfig = detectConfig;
|
|
46
|
+
exports.detectPackageManager = detectPackageManager;
|
|
47
|
+
exports.detectNodeVersion = detectNodeVersion;
|
|
48
|
+
exports.detectPnpmVersion = detectPnpmVersion;
|
|
49
|
+
exports.findDockerfile = findDockerfile;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
/**
|
|
53
|
+
* Auto-detect pipeline configuration
|
|
54
|
+
*/
|
|
55
|
+
function detectConfig(rootDir) {
|
|
56
|
+
return {
|
|
57
|
+
package_manager: detectPackageManager(rootDir),
|
|
58
|
+
node_version: detectNodeVersion(rootDir),
|
|
59
|
+
pnpm_version: detectPnpmVersion(rootDir),
|
|
60
|
+
dockerfile: findDockerfile(rootDir),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Detect package manager
|
|
65
|
+
*/
|
|
66
|
+
function detectPackageManager(rootDir) {
|
|
67
|
+
if (fs.existsSync(path.join(rootDir, 'pnpm-lock.yaml'))) {
|
|
68
|
+
return 'pnpm';
|
|
69
|
+
}
|
|
70
|
+
if (fs.existsSync(path.join(rootDir, 'yarn.lock'))) {
|
|
71
|
+
return 'yarn';
|
|
72
|
+
}
|
|
73
|
+
if (fs.existsSync(path.join(rootDir, 'package-lock.json'))) {
|
|
74
|
+
return 'npm';
|
|
75
|
+
}
|
|
76
|
+
return 'npm';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Detect Node.js version from package.json
|
|
80
|
+
*/
|
|
81
|
+
function detectNodeVersion(rootDir) {
|
|
82
|
+
const packageJsonPath = path.join(rootDir, 'package.json');
|
|
83
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
88
|
+
if (pkg?.engines?.node) {
|
|
89
|
+
const cleaned = pkg.engines.node.replace(/[^0-9.]/g, '');
|
|
90
|
+
return cleaned || null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Ignore errors
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Detect pnpm version from package.json
|
|
100
|
+
*/
|
|
101
|
+
function detectPnpmVersion(rootDir) {
|
|
102
|
+
const packageJsonPath = path.join(rootDir, 'package.json');
|
|
103
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
108
|
+
if (pkg?.packageManager?.startsWith('pnpm@')) {
|
|
109
|
+
const version = pkg.packageManager.split('@')[1];
|
|
110
|
+
return version?.split('.')[0] ?? null;
|
|
111
|
+
}
|
|
112
|
+
if (pkg?.engines?.pnpm) {
|
|
113
|
+
const cleaned = pkg.engines.pnpm.replace(/[^0-9.]/g, '');
|
|
114
|
+
return cleaned.split('.')[0] ?? null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// Ignore errors
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Find Dockerfile
|
|
124
|
+
*/
|
|
125
|
+
function findDockerfile(rootDir) {
|
|
126
|
+
const commonPaths = [
|
|
127
|
+
'Dockerfile',
|
|
128
|
+
'apps/server/Dockerfile',
|
|
129
|
+
'packages/server/Dockerfile',
|
|
130
|
+
'backend/Dockerfile',
|
|
131
|
+
'server/Dockerfile',
|
|
132
|
+
];
|
|
133
|
+
for (const relativePath of commonPaths) {
|
|
134
|
+
if (fs.existsSync(path.join(rootDir, relativePath))) {
|
|
135
|
+
return relativePath;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/utils/detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Generation and Triggering Utilities
|
|
3
|
+
*
|
|
4
|
+
* Static methods for managing GitHub Actions workflows:
|
|
5
|
+
* - Generate workflow files from templates
|
|
6
|
+
* - Trigger workflows via GitHub API
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generate GitHub workflow files in the target repository
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateWorkflows(rootDir: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Trigger a GitHub Actions workflow
|
|
14
|
+
*/
|
|
15
|
+
export declare function triggerWorkflow(workflowName: string, inputs?: Record<string, string>): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/utils/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDtE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Workflow Generation and Triggering Utilities
|
|
4
|
+
*
|
|
5
|
+
* Static methods for managing GitHub Actions workflows:
|
|
6
|
+
* - Generate workflow files from templates
|
|
7
|
+
* - Trigger workflows via GitHub API
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.generateWorkflows = generateWorkflows;
|
|
44
|
+
exports.triggerWorkflow = triggerWorkflow;
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const child_process_1 = require("child_process");
|
|
48
|
+
const rest_1 = require("@octokit/rest");
|
|
49
|
+
const github_secrets_store_js_1 = require("../github-secrets-store.js");
|
|
50
|
+
const version_check_js_1 = require("../../../../utils/version-check.js");
|
|
51
|
+
/**
|
|
52
|
+
* Generate GitHub workflow files in the target repository
|
|
53
|
+
*/
|
|
54
|
+
async function generateWorkflows(rootDir) {
|
|
55
|
+
const workflowsDir = path.join(rootDir, '.github', 'workflows');
|
|
56
|
+
const sourceDir = path.join(__dirname, '../workflows');
|
|
57
|
+
// Get package version
|
|
58
|
+
const version = (0, version_check_js_1.getFactiiiVersion)();
|
|
59
|
+
// Create .github/workflows if it doesn't exist
|
|
60
|
+
if (!fs.existsSync(workflowsDir)) {
|
|
61
|
+
fs.mkdirSync(workflowsDir, { recursive: true });
|
|
62
|
+
}
|
|
63
|
+
// Copy workflow files and inject version
|
|
64
|
+
// Infrastructure management (manual dispatch):
|
|
65
|
+
// - factiii-deploy.yml: Manual deploy with --staging or --prod
|
|
66
|
+
// - factiii-fix.yml: Manual fix with matrix for all configured envs
|
|
67
|
+
// - factiii-scan.yml: Manual scan with matrix for all configured envs
|
|
68
|
+
// - factiii-undeploy.yml: Manual cleanup
|
|
69
|
+
// CI/CD (auto on push):
|
|
70
|
+
// - factiii-cicd-staging.yml: Auto-deploy on push to main
|
|
71
|
+
// - factiii-cicd-prod.yml: Auto-deploy on push to prod
|
|
72
|
+
const workflows = [
|
|
73
|
+
'factiii-deploy.yml',
|
|
74
|
+
'factiii-fix.yml',
|
|
75
|
+
'factiii-scan.yml',
|
|
76
|
+
'factiii-undeploy.yml',
|
|
77
|
+
'factiii-cicd-staging.yml',
|
|
78
|
+
'factiii-cicd-prod.yml',
|
|
79
|
+
'factiii-command.yml',
|
|
80
|
+
];
|
|
81
|
+
// Only add dev-sync workflow in dev mode
|
|
82
|
+
if (process.env.DEV_MODE === 'true') {
|
|
83
|
+
workflows.push('factiii-dev-sync.yml');
|
|
84
|
+
}
|
|
85
|
+
for (const workflow of workflows) {
|
|
86
|
+
const sourcePath = path.join(sourceDir, workflow);
|
|
87
|
+
const destPath = path.join(workflowsDir, workflow);
|
|
88
|
+
if (fs.existsSync(sourcePath)) {
|
|
89
|
+
let content = fs.readFileSync(sourcePath, 'utf8');
|
|
90
|
+
// Replace version placeholder with actual version
|
|
91
|
+
content = content.replace(/v\{VERSION\}/g, `v${version}`);
|
|
92
|
+
fs.writeFileSync(destPath, content);
|
|
93
|
+
console.log(` ✅ Generated ${workflow}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Trigger a GitHub Actions workflow
|
|
99
|
+
*/
|
|
100
|
+
async function triggerWorkflow(workflowName, inputs = {}) {
|
|
101
|
+
const repoInfo = github_secrets_store_js_1.GitHubSecretsStore.getRepoInfo();
|
|
102
|
+
if (!repoInfo) {
|
|
103
|
+
throw new Error('Could not determine GitHub repository');
|
|
104
|
+
}
|
|
105
|
+
const token = process.env.GITHUB_TOKEN;
|
|
106
|
+
if (!token) {
|
|
107
|
+
throw new Error('GITHUB_TOKEN required to trigger workflows');
|
|
108
|
+
}
|
|
109
|
+
// Get current branch
|
|
110
|
+
let ref = 'main';
|
|
111
|
+
try {
|
|
112
|
+
ref = (0, child_process_1.execSync)('git rev-parse --abbrev-ref HEAD', {
|
|
113
|
+
encoding: 'utf8',
|
|
114
|
+
stdio: ['pipe', 'pipe', 'ignore'],
|
|
115
|
+
}).trim();
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// Fall back to main if we can't detect the branch
|
|
119
|
+
}
|
|
120
|
+
const octokit = new rest_1.Octokit({ auth: token });
|
|
121
|
+
await octokit.rest.actions.createWorkflowDispatch({
|
|
122
|
+
owner: repoInfo.owner,
|
|
123
|
+
repo: repoInfo.repo,
|
|
124
|
+
workflow_id: workflowName,
|
|
125
|
+
ref,
|
|
126
|
+
inputs,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/utils/workflows.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,8CAkDC;AAKD,0CAmCC;AApGD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AACzC,wCAAwC;AACxC,wEAAgE;AAChE,yEAAuE;AAEvE;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEvD,sBAAsB;IACtB,MAAM,OAAO,GAAG,IAAA,oCAAiB,GAAE,CAAC;IAEpC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,yCAAyC;IACzC,+CAA+C;IAC/C,iEAAiE;IACjE,sEAAsE;IACtE,wEAAwE;IACxE,2CAA2C;IAC3C,wBAAwB;IACxB,4DAA4D;IAC5D,yDAAyD;IACzD,MAAM,SAAS,GAAG;QAChB,oBAAoB;QACpB,iBAAiB;QACjB,kBAAkB;QAClB,sBAAsB;QACtB,0BAA0B;QAC1B,uBAAuB;QACvB,qBAAqB;KACtB,CAAC;IAEF,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAElD,kDAAkD;YAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;YAE1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,SAAiC,EAAE;IAEnC,MAAM,QAAQ,GAAG,4CAAkB,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE;YAChD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7C,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAChD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,YAAY;QACzB,GAAG;QACH,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|