@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,352 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Types for the Factiii plugin system.
|
|
5
|
+
*/
|
|
6
|
+
import type { FactiiiConfig } from './config.js';
|
|
7
|
+
import type { DeployOptions } from './cli.js';
|
|
8
|
+
/**
|
|
9
|
+
* Deployment stages
|
|
10
|
+
*/
|
|
11
|
+
export type Stage = 'dev' | 'secrets' | 'staging' | 'prod';
|
|
12
|
+
/**
|
|
13
|
+
* Server OS types
|
|
14
|
+
* Used to identify which operating system a server runs
|
|
15
|
+
*/
|
|
16
|
+
export type ServerOS = 'mac' | 'ubuntu' | 'windows' | 'amazon-linux' | 'alpine';
|
|
17
|
+
/**
|
|
18
|
+
* Package managers by OS
|
|
19
|
+
*/
|
|
20
|
+
export type PackageManager = 'brew' | 'apt' | 'choco' | 'winget' | 'dnf' | 'apk';
|
|
21
|
+
/**
|
|
22
|
+
* Service managers by OS
|
|
23
|
+
*/
|
|
24
|
+
export type ServiceManager = 'launchctl' | 'systemd' | 'windows-service';
|
|
25
|
+
/**
|
|
26
|
+
* Fix severity levels
|
|
27
|
+
*/
|
|
28
|
+
export type Severity = 'critical' | 'warning' | 'info';
|
|
29
|
+
/**
|
|
30
|
+
* How a stage can be reached
|
|
31
|
+
*/
|
|
32
|
+
export type ReachVia = 'local' | 'ssh' | 'workflow' | 'api' | 'github-api';
|
|
33
|
+
/**
|
|
34
|
+
* Reachability check result - discriminated union for type safety
|
|
35
|
+
*/
|
|
36
|
+
export type Reachability = {
|
|
37
|
+
reachable: true;
|
|
38
|
+
via: ReachVia;
|
|
39
|
+
} | {
|
|
40
|
+
reachable: false;
|
|
41
|
+
reason: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Prod safety levels for plugin commands
|
|
45
|
+
*/
|
|
46
|
+
export type ProdSafetyLevel = 'safe' | 'caution' | 'destructive';
|
|
47
|
+
/**
|
|
48
|
+
* Command categories for grouping in help
|
|
49
|
+
*/
|
|
50
|
+
export type CommandCategory = 'db' | 'ops' | 'backup';
|
|
51
|
+
/**
|
|
52
|
+
* Command option definition
|
|
53
|
+
*/
|
|
54
|
+
export interface CommandOption {
|
|
55
|
+
flags: string;
|
|
56
|
+
description: string;
|
|
57
|
+
defaultValue?: string | boolean | string[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Result of a plugin command execution
|
|
61
|
+
*/
|
|
62
|
+
export interface CommandResult {
|
|
63
|
+
success: boolean;
|
|
64
|
+
message?: string;
|
|
65
|
+
error?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Plugin command definition
|
|
69
|
+
*/
|
|
70
|
+
export interface PluginCommand {
|
|
71
|
+
/** Command name (e.g., 'seed', 'migrate') */
|
|
72
|
+
name: string;
|
|
73
|
+
/** Human-readable description */
|
|
74
|
+
description: string;
|
|
75
|
+
/** Category for grouping */
|
|
76
|
+
category: CommandCategory;
|
|
77
|
+
/** Which stages this command supports (default: ['dev', 'staging', 'prod']) */
|
|
78
|
+
stages?: Stage[];
|
|
79
|
+
/** Safety level on prod - 'destructive' requires --force */
|
|
80
|
+
prodSafety: ProdSafetyLevel;
|
|
81
|
+
/** Command-specific options */
|
|
82
|
+
options?: CommandOption[];
|
|
83
|
+
/** Execute the command */
|
|
84
|
+
execute: (stage: Stage, options: Record<string, unknown>, config: FactiiiConfig, rootDir: string) => Promise<CommandResult>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A fix definition that can detect and resolve issues
|
|
88
|
+
*/
|
|
89
|
+
export interface Fix {
|
|
90
|
+
id: string;
|
|
91
|
+
stage: Stage;
|
|
92
|
+
severity: Severity;
|
|
93
|
+
description: string;
|
|
94
|
+
plugin?: string;
|
|
95
|
+
/** Optional: Only run this fix on specific OS types */
|
|
96
|
+
os?: ServerOS | ServerOS[];
|
|
97
|
+
scan: (config: FactiiiConfig, rootDir: string) => Promise<boolean>;
|
|
98
|
+
fix?: ((config: FactiiiConfig, rootDir: string) => Promise<boolean>) | null;
|
|
99
|
+
manualFix: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Plugin categories
|
|
103
|
+
*/
|
|
104
|
+
export type PluginCategory = 'pipeline' | 'server' | 'framework' | 'addon';
|
|
105
|
+
/**
|
|
106
|
+
* Plugin metadata for listing
|
|
107
|
+
*/
|
|
108
|
+
export interface PluginMetadata {
|
|
109
|
+
id: string;
|
|
110
|
+
category: string;
|
|
111
|
+
name: string;
|
|
112
|
+
version: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Result of a deploy/undeploy operation
|
|
116
|
+
*/
|
|
117
|
+
export interface DeployResult {
|
|
118
|
+
success: boolean;
|
|
119
|
+
message?: string;
|
|
120
|
+
error?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Options for ensuring server is ready
|
|
124
|
+
*/
|
|
125
|
+
export interface EnsureServerReadyOptions {
|
|
126
|
+
commitHash?: string;
|
|
127
|
+
branch?: string;
|
|
128
|
+
repoUrl?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* SSH command result
|
|
132
|
+
*/
|
|
133
|
+
export interface SSHResult {
|
|
134
|
+
success: boolean;
|
|
135
|
+
output?: string;
|
|
136
|
+
error?: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Server software check results
|
|
140
|
+
*/
|
|
141
|
+
export interface ServerSoftwareChecks {
|
|
142
|
+
git: boolean;
|
|
143
|
+
docker: boolean;
|
|
144
|
+
dockerCompose: boolean;
|
|
145
|
+
node: boolean;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Server environment detection result
|
|
149
|
+
*/
|
|
150
|
+
export interface ServerEnvironment {
|
|
151
|
+
os: ServerOS | 'unknown';
|
|
152
|
+
packageManager: PackageManager | null;
|
|
153
|
+
hasHomebrew: boolean;
|
|
154
|
+
hasApt: boolean;
|
|
155
|
+
hasYum: boolean;
|
|
156
|
+
hasDnf: boolean;
|
|
157
|
+
hasChoco: boolean;
|
|
158
|
+
hasApk: boolean;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Server dependency installation results
|
|
162
|
+
*/
|
|
163
|
+
export interface DependencyInstallResult {
|
|
164
|
+
needed: boolean;
|
|
165
|
+
installed: boolean;
|
|
166
|
+
error: string | null;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Server dependencies installation results
|
|
170
|
+
*/
|
|
171
|
+
export interface InstallDependenciesResult {
|
|
172
|
+
success: boolean;
|
|
173
|
+
error?: string;
|
|
174
|
+
serverEnv?: ServerEnvironment;
|
|
175
|
+
results: {
|
|
176
|
+
node: DependencyInstallResult;
|
|
177
|
+
git: DependencyInstallResult;
|
|
178
|
+
docker: DependencyInstallResult;
|
|
179
|
+
pnpm: DependencyInstallResult;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Server connectivity check result
|
|
184
|
+
*/
|
|
185
|
+
export interface ConnectivityResult {
|
|
186
|
+
ssh: boolean;
|
|
187
|
+
error?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Repository check result
|
|
191
|
+
*/
|
|
192
|
+
export interface RepoCheckResult {
|
|
193
|
+
exists: boolean;
|
|
194
|
+
branch?: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Config validation result on server
|
|
198
|
+
*/
|
|
199
|
+
export interface ConfigValidationResult {
|
|
200
|
+
expectedServices: number;
|
|
201
|
+
actualServices: number;
|
|
202
|
+
nginxMatches: boolean | null;
|
|
203
|
+
dockerComposeUpToDate: boolean | null;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Comprehensive server scan result
|
|
207
|
+
*/
|
|
208
|
+
export interface ServerScanResult {
|
|
209
|
+
environment: string;
|
|
210
|
+
ssh: boolean;
|
|
211
|
+
git: boolean;
|
|
212
|
+
docker: boolean;
|
|
213
|
+
dockerCompose: boolean;
|
|
214
|
+
node: boolean;
|
|
215
|
+
repo: boolean;
|
|
216
|
+
branch: string | null;
|
|
217
|
+
repoName: string;
|
|
218
|
+
configValidation: ConfigValidationResult | null;
|
|
219
|
+
error?: string;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Server basics setup result
|
|
223
|
+
*/
|
|
224
|
+
export interface ServerBasicsResult {
|
|
225
|
+
gitInstalled: boolean;
|
|
226
|
+
dockerInstalled: boolean;
|
|
227
|
+
repoCloned: boolean;
|
|
228
|
+
repoExists: boolean;
|
|
229
|
+
configMismatch: boolean;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Base interface for all plugin classes (static side)
|
|
233
|
+
*/
|
|
234
|
+
export interface PluginStatic {
|
|
235
|
+
readonly id: string;
|
|
236
|
+
readonly name: string;
|
|
237
|
+
readonly category: PluginCategory;
|
|
238
|
+
readonly version: string;
|
|
239
|
+
readonly fixes: Fix[];
|
|
240
|
+
readonly requiredEnvVars: string[];
|
|
241
|
+
readonly configSchema: Record<string, unknown>;
|
|
242
|
+
readonly autoConfigSchema: Record<string, string>;
|
|
243
|
+
shouldLoad(rootDir: string, config: FactiiiConfig): Promise<boolean>;
|
|
244
|
+
detectConfig?(rootDir: string): Promise<Record<string, unknown>>;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Base interface for plugin instances
|
|
248
|
+
*/
|
|
249
|
+
export interface PluginInstance {
|
|
250
|
+
config: FactiiiConfig;
|
|
251
|
+
deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
|
|
252
|
+
undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Pipeline plugin static interface
|
|
256
|
+
*/
|
|
257
|
+
export interface PipelinePluginStatic extends PluginStatic {
|
|
258
|
+
readonly category: 'pipeline';
|
|
259
|
+
readonly commands?: PluginCommand[];
|
|
260
|
+
canReach(stage: Stage, config: FactiiiConfig): Reachability;
|
|
261
|
+
requiresFullRepo?(environment: string): boolean;
|
|
262
|
+
generateWorkflows?(rootDir: string): Promise<void>;
|
|
263
|
+
triggerWorkflow?(workflowName: string, inputs?: Record<string, string>): Promise<void>;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Pipeline plugin instance interface
|
|
267
|
+
*/
|
|
268
|
+
export interface PipelinePluginInstance extends PluginInstance {
|
|
269
|
+
/**
|
|
270
|
+
* Deploy to a stage - handles routing based on canReach()
|
|
271
|
+
*
|
|
272
|
+
* This is the main entry point for deployments. The pipeline plugin
|
|
273
|
+
* checks canReach() to determine how to reach the stage:
|
|
274
|
+
* - 'local': Execute deployment directly
|
|
275
|
+
* - 'workflow': Trigger a workflow (e.g., GitHub Actions)
|
|
276
|
+
* - Not reachable: Return error with reason
|
|
277
|
+
*/
|
|
278
|
+
deployStage(stage: Stage, options: DeployOptions): Promise<DeployResult>;
|
|
279
|
+
/**
|
|
280
|
+
* Scan a stage - handles routing based on canReach()
|
|
281
|
+
*
|
|
282
|
+
* Returns { handled: true } if pipeline ran scan remotely (via SSH or workflow).
|
|
283
|
+
* Returns { handled: false } if caller should run scan locally.
|
|
284
|
+
*/
|
|
285
|
+
scanStage(stage: Stage, options: Record<string, unknown>): Promise<{
|
|
286
|
+
handled: boolean;
|
|
287
|
+
}>;
|
|
288
|
+
/**
|
|
289
|
+
* Fix a stage - handles routing based on canReach()
|
|
290
|
+
*
|
|
291
|
+
* Returns { handled: true } if pipeline ran fix remotely (via SSH or workflow).
|
|
292
|
+
* Returns { handled: false } if caller should run fix locally.
|
|
293
|
+
*/
|
|
294
|
+
fixStage(stage: Stage, options: Record<string, unknown>): Promise<{
|
|
295
|
+
handled: boolean;
|
|
296
|
+
}>;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Server plugin static interface
|
|
300
|
+
*
|
|
301
|
+
* Server plugins represent OS types (mac, ubuntu, windows, etc.)
|
|
302
|
+
* and handle OS-specific package management and commands.
|
|
303
|
+
*/
|
|
304
|
+
export interface ServerPluginStatic extends PluginStatic {
|
|
305
|
+
readonly category: 'server';
|
|
306
|
+
/** The OS this server plugin handles */
|
|
307
|
+
readonly os: ServerOS;
|
|
308
|
+
/** Package manager for this OS */
|
|
309
|
+
readonly packageManager: PackageManager;
|
|
310
|
+
/** Service manager for this OS */
|
|
311
|
+
readonly serviceManager: ServiceManager;
|
|
312
|
+
sshExec?(envConfig: {
|
|
313
|
+
host: string;
|
|
314
|
+
ssh_user?: string;
|
|
315
|
+
}, command: string): Promise<string>;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Server plugin instance interface
|
|
319
|
+
*/
|
|
320
|
+
export interface ServerPluginInstance extends PluginInstance {
|
|
321
|
+
ensureServerReady(config: FactiiiConfig, environment: string, options?: EnsureServerReadyOptions): Promise<DeployResult>;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Framework plugin static interface
|
|
325
|
+
*/
|
|
326
|
+
export interface FrameworkPluginStatic extends PluginStatic {
|
|
327
|
+
readonly category: 'framework';
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Addon plugin static interface
|
|
331
|
+
*/
|
|
332
|
+
export interface AddonPluginStatic extends PluginStatic {
|
|
333
|
+
readonly category: 'addon';
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Union type for any plugin class
|
|
337
|
+
*/
|
|
338
|
+
export type AnyPluginStatic = PipelinePluginStatic | ServerPluginStatic | FrameworkPluginStatic | AddonPluginStatic;
|
|
339
|
+
/**
|
|
340
|
+
* Constructor type for plugin classes
|
|
341
|
+
*/
|
|
342
|
+
export interface PluginConstructor<T extends PluginInstance = PluginInstance> {
|
|
343
|
+
new (config: FactiiiConfig): T;
|
|
344
|
+
readonly id: string;
|
|
345
|
+
readonly name: string;
|
|
346
|
+
readonly category: PluginCategory;
|
|
347
|
+
readonly version: string;
|
|
348
|
+
readonly fixes: Fix[];
|
|
349
|
+
readonly requiredEnvVars: string[];
|
|
350
|
+
shouldLoad(rootDir: string, config: FactiiiConfig): Promise<boolean>;
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ansible Vault Secrets
|
|
3
|
+
*
|
|
4
|
+
* Read, write, and check secrets stored in an Ansible Vault–encrypted YAML file.
|
|
5
|
+
* Used by the secrets CLI and pipeline secrets stage. Requires ansible-vault on PATH.
|
|
6
|
+
*/
|
|
7
|
+
export interface AnsibleVaultSecretsConfig {
|
|
8
|
+
/** Path to the vault file (relative to rootDir or absolute) */
|
|
9
|
+
vault_path: string;
|
|
10
|
+
/** Optional path to file containing vault password */
|
|
11
|
+
vault_password_file?: string;
|
|
12
|
+
/** Root directory for resolving relative vault_path */
|
|
13
|
+
rootDir?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface SetSecretResult {
|
|
16
|
+
success: boolean;
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CheckSecretsResult {
|
|
20
|
+
status?: Record<string, boolean>;
|
|
21
|
+
missing?: string[];
|
|
22
|
+
error?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Vault content structure supporting nested environment secrets
|
|
26
|
+
*/
|
|
27
|
+
export interface VaultContent {
|
|
28
|
+
STAGING_SSH?: string;
|
|
29
|
+
PROD_SSH?: string;
|
|
30
|
+
AWS_SECRET_ACCESS_KEY?: string;
|
|
31
|
+
staging_envs?: Record<string, string>;
|
|
32
|
+
prod_envs?: Record<string, string>;
|
|
33
|
+
[key: string]: string | Record<string, string> | undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ansible Vault–backed secret operations.
|
|
37
|
+
* Uses ansible-vault view/encrypt; vault password from config or ANSIBLE_VAULT_PASSWORD_FILE / ANSIBLE_VAULT_PASSWORD.
|
|
38
|
+
*/
|
|
39
|
+
export declare class AnsibleVaultSecrets {
|
|
40
|
+
private config;
|
|
41
|
+
constructor(config: AnsibleVaultSecretsConfig);
|
|
42
|
+
/**
|
|
43
|
+
* Ensure vault file exists; if not, create an empty encrypted file
|
|
44
|
+
*/
|
|
45
|
+
private ensureVaultExists;
|
|
46
|
+
/**
|
|
47
|
+
* Get decrypted vault content as key-value object (flat, for backwards compatibility)
|
|
48
|
+
*/
|
|
49
|
+
private getDecrypted;
|
|
50
|
+
/**
|
|
51
|
+
* Get decrypted vault content as full structure (supports nested objects)
|
|
52
|
+
*/
|
|
53
|
+
private getDecryptedFull;
|
|
54
|
+
/**
|
|
55
|
+
* Save vault content (full structure)
|
|
56
|
+
*/
|
|
57
|
+
private saveVault;
|
|
58
|
+
/**
|
|
59
|
+
* Set a secret in the vault file
|
|
60
|
+
*/
|
|
61
|
+
setSecret(name: string, value: string): Promise<SetSecretResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Get a secret value from the vault
|
|
64
|
+
*/
|
|
65
|
+
getSecret(name: string): Promise<string | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Check which of the given secret names exist in the vault
|
|
68
|
+
*/
|
|
69
|
+
checkSecrets(names: string[]): Promise<CheckSecretsResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Get SSH key for a stage
|
|
72
|
+
*/
|
|
73
|
+
getSSHKey(stage: 'staging' | 'prod'): Promise<string | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Get all environment secrets for a stage
|
|
76
|
+
*/
|
|
77
|
+
getEnvironmentSecrets(stage: 'staging' | 'prod'): Promise<Record<string, string>>;
|
|
78
|
+
/**
|
|
79
|
+
* Set an environment secret for a stage
|
|
80
|
+
*/
|
|
81
|
+
setEnvironmentSecret(stage: 'staging' | 'prod', name: string, value: string): Promise<SetSecretResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Set multiple environment secrets for a stage at once
|
|
84
|
+
*/
|
|
85
|
+
setEnvironmentSecrets(stage: 'staging' | 'prod', secrets: Record<string, string>): Promise<SetSecretResult>;
|
|
86
|
+
/**
|
|
87
|
+
* List all environment secret keys for a stage (not values)
|
|
88
|
+
*/
|
|
89
|
+
listEnvironmentSecretKeys(stage: 'staging' | 'prod'): Promise<string[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Check if environment secrets exist for a stage
|
|
92
|
+
*/
|
|
93
|
+
hasEnvironmentSecrets(stage: 'staging' | 'prod'): Promise<boolean>;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ansible-vault-secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansible-vault-secrets.d.ts","sourceRoot":"","sources":["../../src/utils/ansible-vault-secrets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0ID;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5D;AAYD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAO7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;YACW,YAAY;IAO1B;;OAEG;YACW,gBAAgB;IAO9B;;OAEG;YACW,SAAS;IAwBvB;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBtE;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBhE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlE;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAevF;;OAEG;IACG,oBAAoB,CACxB,KAAK,EAAE,SAAS,GAAG,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC;IAqB3B;;OAEG;IACG,qBAAqB,CACzB,KAAK,EAAE,SAAS,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAsB3B;;OAEG;IACG,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7E;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIzE"}
|