@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,346 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AWS Pipeline Plugin
|
|
4
|
+
*
|
|
5
|
+
* Cloud infrastructure pipeline for deploying to AWS.
|
|
6
|
+
* Uses a config-based architecture where different configs bundle AWS services:
|
|
7
|
+
* - ec2: Basic EC2 instance
|
|
8
|
+
* - free-tier: Complete free tier bundle (EC2 + RDS + S3 + ECR)
|
|
9
|
+
* - standard: Production-ready setup
|
|
10
|
+
* - enterprise: HA, multi-AZ, auto-scaling
|
|
11
|
+
*
|
|
12
|
+
* This is a PIPELINE plugin, not a server plugin. It handles:
|
|
13
|
+
* - AWS-specific deployment orchestration
|
|
14
|
+
* - ECR image management
|
|
15
|
+
* - AWS service provisioning
|
|
16
|
+
*
|
|
17
|
+
* Server OS plugins (ubuntu, amazon-linux) handle the actual OS-level commands.
|
|
18
|
+
*
|
|
19
|
+
* ============================================================
|
|
20
|
+
* PLUGIN STRUCTURE STANDARD
|
|
21
|
+
* ============================================================
|
|
22
|
+
*
|
|
23
|
+
* **scanfix/** - Scan/fix operations organized by concern
|
|
24
|
+
* - Each file exports an array of Fix[] objects
|
|
25
|
+
* - Files group related fixes together (aws-cli, config)
|
|
26
|
+
* - All fixes are combined in the main plugin class
|
|
27
|
+
*
|
|
28
|
+
* **Environment-specific files** - Operations for each environment
|
|
29
|
+
* - dev.ts - Dev environment operations (deployDev)
|
|
30
|
+
* - prod.ts - Production operations (deployProd, ensureServerReady)
|
|
31
|
+
*
|
|
32
|
+
* **configs/** - AWS configuration types
|
|
33
|
+
* - types.ts - Standardized AWSConfigDef interface
|
|
34
|
+
* - ec2.ts - EC2 config implementation
|
|
35
|
+
* - free-tier.ts - Free tier config implementation
|
|
36
|
+
* - index.ts - Exports all configs
|
|
37
|
+
*
|
|
38
|
+
* **index.ts** - Main plugin class
|
|
39
|
+
* - Static metadata (id, name, category, version)
|
|
40
|
+
* - compatibleServers - Which OS types this pipeline supports
|
|
41
|
+
* - canReach() - Pipeline routing logic
|
|
42
|
+
* - Imports and combines all scanfix arrays
|
|
43
|
+
* ============================================================
|
|
44
|
+
*/
|
|
45
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
46
|
+
if (k2 === undefined) k2 = k;
|
|
47
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
48
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
49
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
50
|
+
}
|
|
51
|
+
Object.defineProperty(o, k2, desc);
|
|
52
|
+
}) : (function(o, m, k, k2) {
|
|
53
|
+
if (k2 === undefined) k2 = k;
|
|
54
|
+
o[k2] = m[k];
|
|
55
|
+
}));
|
|
56
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
57
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
58
|
+
}) : function(o, v) {
|
|
59
|
+
o["default"] = v;
|
|
60
|
+
});
|
|
61
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
62
|
+
var ownKeys = function(o) {
|
|
63
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
64
|
+
var ar = [];
|
|
65
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
66
|
+
return ar;
|
|
67
|
+
};
|
|
68
|
+
return ownKeys(o);
|
|
69
|
+
};
|
|
70
|
+
return function (mod) {
|
|
71
|
+
if (mod && mod.__esModule) return mod;
|
|
72
|
+
var result = {};
|
|
73
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
74
|
+
__setModuleDefault(result, mod);
|
|
75
|
+
return result;
|
|
76
|
+
};
|
|
77
|
+
})();
|
|
78
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
79
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
80
|
+
};
|
|
81
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82
|
+
const child_process_1 = require("child_process");
|
|
83
|
+
// Import shared scanfix factories
|
|
84
|
+
const index_js_1 = require("../../../scanfix/index.js");
|
|
85
|
+
// Import plugin-specific scanfix arrays
|
|
86
|
+
const aws_cli_js_1 = require("./scanfix/aws-cli.js");
|
|
87
|
+
const config_js_1 = require("./scanfix/config.js");
|
|
88
|
+
// Import environment-specific operations
|
|
89
|
+
const dev_js_1 = require("./dev.js");
|
|
90
|
+
const prod_js_1 = require("./prod.js");
|
|
91
|
+
// Import configs
|
|
92
|
+
const ec2_js_1 = __importDefault(require("./configs/ec2.js"));
|
|
93
|
+
const free_tier_js_1 = __importDefault(require("./configs/free-tier.js"));
|
|
94
|
+
// Import SSH helper
|
|
95
|
+
const ssh_helper_js_1 = require("../../../utils/ssh-helper.js");
|
|
96
|
+
class AWSPipeline {
|
|
97
|
+
// ============================================================
|
|
98
|
+
// STATIC METADATA
|
|
99
|
+
// ============================================================
|
|
100
|
+
static id = 'aws';
|
|
101
|
+
static name = 'AWS Pipeline';
|
|
102
|
+
static category = 'pipeline';
|
|
103
|
+
static version = '1.0.0';
|
|
104
|
+
/**
|
|
105
|
+
* Server OS types this pipeline is compatible with
|
|
106
|
+
* AWS typically runs Ubuntu or Amazon Linux on EC2
|
|
107
|
+
*/
|
|
108
|
+
static compatibleServers = ['ubuntu', 'amazon-linux'];
|
|
109
|
+
/**
|
|
110
|
+
* Default server OS for this pipeline
|
|
111
|
+
*/
|
|
112
|
+
static defaultServer = 'ubuntu';
|
|
113
|
+
// Env vars this plugin requires
|
|
114
|
+
static requiredEnvVars = [];
|
|
115
|
+
// Schema for factiii.yml (user-editable)
|
|
116
|
+
static configSchema = {
|
|
117
|
+
aws: {
|
|
118
|
+
config: 'ec2', // Options: ec2, free-tier, standard, enterprise
|
|
119
|
+
access_key_id: 'EXAMPLE-AKIAXXXXXXXX',
|
|
120
|
+
region: 'us-east-1',
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
// Schema for factiiiAuto.yml (auto-detected)
|
|
124
|
+
static autoConfigSchema = {
|
|
125
|
+
aws_cli_installed: 'boolean',
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Determine if this plugin should be loaded for this project
|
|
129
|
+
* Loads if config has AWS settings, prod environment uses AWS, or on init
|
|
130
|
+
*/
|
|
131
|
+
static async shouldLoad(_rootDir, config) {
|
|
132
|
+
// Dynamic import to avoid circular dependencies
|
|
133
|
+
const { extractEnvironments } = await Promise.resolve().then(() => __importStar(require('../../../utils/config-helpers.js')));
|
|
134
|
+
const environments = extractEnvironments(config);
|
|
135
|
+
for (const env of Object.values(environments)) {
|
|
136
|
+
// Load if environment explicitly uses 'aws' pipeline
|
|
137
|
+
if (env.pipeline === 'aws') {
|
|
138
|
+
// Verify it has real AWS config (not EXAMPLE values)
|
|
139
|
+
if (env.access_key_id && !env.access_key_id.startsWith('EXAMPLE-')) {
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Check if domain looks like AWS (IP or AWS domain)
|
|
144
|
+
if (env.domain && !env.domain.startsWith('EXAMPLE-')) {
|
|
145
|
+
const isAwsDomain = /^(\d{1,3}\.){3}\d{1,3}$/.test(env.domain) ||
|
|
146
|
+
env.domain.includes('.compute.amazonaws.com') ||
|
|
147
|
+
env.domain.includes('.amazonaws.com') ||
|
|
148
|
+
env.domain.includes('.aws');
|
|
149
|
+
if (isAwsDomain)
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// On init (no config or EXAMPLE values), load as default prod option
|
|
154
|
+
return Object.keys(config).length === 0;
|
|
155
|
+
}
|
|
156
|
+
// Available configurations
|
|
157
|
+
static configs = {
|
|
158
|
+
ec2: ec2_js_1.default,
|
|
159
|
+
'free-tier': free_tier_js_1.default,
|
|
160
|
+
};
|
|
161
|
+
static helpText = {
|
|
162
|
+
SSH: `
|
|
163
|
+
SSH private key for accessing the EC2 instance.
|
|
164
|
+
|
|
165
|
+
Option A: Auto-generate via AWS (recommended)
|
|
166
|
+
- Factiii will create an EC2 Key Pair via AWS API
|
|
167
|
+
|
|
168
|
+
Option B: Use existing key
|
|
169
|
+
ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key`,
|
|
170
|
+
AWS_SECRET_ACCESS_KEY: `
|
|
171
|
+
AWS Secret Access Key
|
|
172
|
+
|
|
173
|
+
Get from AWS Console: IAM -> Users -> Security credentials`,
|
|
174
|
+
};
|
|
175
|
+
// ============================================================
|
|
176
|
+
// PIPELINE-SPECIFIC METHODS
|
|
177
|
+
// ============================================================
|
|
178
|
+
/**
|
|
179
|
+
* Check how this pipeline can reach a given stage
|
|
180
|
+
* This is the core routing logic for the pipeline
|
|
181
|
+
*/
|
|
182
|
+
static canReach(stage, config) {
|
|
183
|
+
switch (stage) {
|
|
184
|
+
case 'dev':
|
|
185
|
+
// Dev is always reachable locally
|
|
186
|
+
return { reachable: true, via: 'local' };
|
|
187
|
+
case 'secrets':
|
|
188
|
+
// Secrets require AWS credentials
|
|
189
|
+
if (!process.env.AWS_ACCESS_KEY_ID || !process.env.AWS_SECRET_ACCESS_KEY) {
|
|
190
|
+
return { reachable: false, reason: 'Missing AWS credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)' };
|
|
191
|
+
}
|
|
192
|
+
return { reachable: true, via: 'api' };
|
|
193
|
+
case 'staging':
|
|
194
|
+
case 'prod':
|
|
195
|
+
// On server (in workflow): run locally
|
|
196
|
+
if (process.env.GITHUB_ACTIONS === 'true') {
|
|
197
|
+
return { reachable: true, via: 'local' };
|
|
198
|
+
}
|
|
199
|
+
// On dev machine: need to trigger workflow or SSH directly
|
|
200
|
+
return { reachable: true, via: 'workflow' };
|
|
201
|
+
default:
|
|
202
|
+
return { reachable: false, reason: `Unknown stage: ${stage}` };
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Whether this pipeline requires full repo on server
|
|
207
|
+
* - staging: true (builds from source)
|
|
208
|
+
* - prod: false (pulls pre-built images from ECR)
|
|
209
|
+
*/
|
|
210
|
+
static requiresFullRepo(environment) {
|
|
211
|
+
return environment === 'staging' || environment.startsWith('staging');
|
|
212
|
+
}
|
|
213
|
+
// ============================================================
|
|
214
|
+
// FIXES - All issues this plugin can detect and resolve
|
|
215
|
+
// ============================================================
|
|
216
|
+
// Combined from scanfix/ folder files
|
|
217
|
+
// Config-specific fixes are merged at runtime
|
|
218
|
+
// ============================================================
|
|
219
|
+
static fixes = [
|
|
220
|
+
// Dev stage - shared fixes
|
|
221
|
+
...(0, index_js_1.getDockerFixes)('dev', 'aws'),
|
|
222
|
+
// Prod stage - shared fixes (for ubuntu/amazon-linux servers)
|
|
223
|
+
...(0, index_js_1.getDockerFixes)('prod'),
|
|
224
|
+
...(0, index_js_1.getNodeFixes)('prod'),
|
|
225
|
+
...(0, index_js_1.getGitFixes)('prod'),
|
|
226
|
+
(0, index_js_1.createCertbotFix)('prod', 'prod'),
|
|
227
|
+
// Plugin-specific fixes
|
|
228
|
+
...aws_cli_js_1.awsCliFixes,
|
|
229
|
+
...config_js_1.configFixes,
|
|
230
|
+
];
|
|
231
|
+
// ============================================================
|
|
232
|
+
// STATIC HELPER METHODS
|
|
233
|
+
// ============================================================
|
|
234
|
+
/**
|
|
235
|
+
* Auto-detect AWS configuration
|
|
236
|
+
*/
|
|
237
|
+
static async detectConfig(_rootDir) {
|
|
238
|
+
try {
|
|
239
|
+
(0, child_process_1.execSync)('which aws', { stdio: 'pipe' });
|
|
240
|
+
return { aws_cli_installed: true };
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
return { aws_cli_installed: false };
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Execute a command on a remote server via SSH
|
|
248
|
+
*/
|
|
249
|
+
static async sshExec(envConfig, command) {
|
|
250
|
+
return await (0, ssh_helper_js_1.sshExec)(envConfig, command);
|
|
251
|
+
}
|
|
252
|
+
// ============================================================
|
|
253
|
+
// INSTANCE METHODS
|
|
254
|
+
// ============================================================
|
|
255
|
+
_config;
|
|
256
|
+
_awsConfig;
|
|
257
|
+
constructor(config) {
|
|
258
|
+
this._config = config;
|
|
259
|
+
// Load the appropriate AWS config based on factiii.yml
|
|
260
|
+
const configName = config?.aws?.config ?? 'ec2';
|
|
261
|
+
this._awsConfig = AWSPipeline.configs[configName];
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Deploy to a stage - handles routing based on canReach()
|
|
265
|
+
*/
|
|
266
|
+
async deployStage(stage, options = {}) {
|
|
267
|
+
const reach = AWSPipeline.canReach(stage, this._config);
|
|
268
|
+
if (!reach.reachable) {
|
|
269
|
+
return { success: false, error: reach.reason };
|
|
270
|
+
}
|
|
271
|
+
if (reach.via === 'workflow') {
|
|
272
|
+
// Would trigger GitHub Actions workflow
|
|
273
|
+
// For now, return message about workflow triggering
|
|
274
|
+
return { success: true, message: `Workflow trigger required for ${stage}` };
|
|
275
|
+
}
|
|
276
|
+
// via: 'local' - execute directly
|
|
277
|
+
if (stage === 'dev') {
|
|
278
|
+
return this.deploy(this._config, 'dev');
|
|
279
|
+
}
|
|
280
|
+
else if (stage === 'prod') {
|
|
281
|
+
return this.deploy(this._config, 'prod');
|
|
282
|
+
}
|
|
283
|
+
return { success: false, error: `Unsupported stage: ${stage}` };
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Ensure server is ready for deployment
|
|
287
|
+
* Installs Node.js, git, clones repo, checks out commit
|
|
288
|
+
* Note: Production doesn't install dependencies (pulls pre-built images)
|
|
289
|
+
*/
|
|
290
|
+
async ensureServerReady(config, environment, options = {}) {
|
|
291
|
+
return (0, prod_js_1.ensureServerReady)(config, environment, options);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Deploy to an environment
|
|
295
|
+
*/
|
|
296
|
+
async deploy(config, environment) {
|
|
297
|
+
if (environment === 'dev') {
|
|
298
|
+
return (0, dev_js_1.deployDev)();
|
|
299
|
+
}
|
|
300
|
+
else if (environment === 'prod' || environment === 'production') {
|
|
301
|
+
return (0, prod_js_1.deployProd)(config);
|
|
302
|
+
}
|
|
303
|
+
return { success: false, error: `Unsupported environment: ${environment}` };
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Undeploy from an environment
|
|
307
|
+
*/
|
|
308
|
+
async undeploy(config, environment) {
|
|
309
|
+
if (environment === 'dev') {
|
|
310
|
+
try {
|
|
311
|
+
(0, child_process_1.execSync)('docker compose down', { stdio: 'inherit' });
|
|
312
|
+
return { success: true, message: 'Local containers stopped' };
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
return {
|
|
316
|
+
success: false,
|
|
317
|
+
error: error instanceof Error ? error.message : String(error),
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else if (environment === 'prod' || environment === 'production') {
|
|
322
|
+
const { extractEnvironments } = await Promise.resolve().then(() => __importStar(require('../../../utils/config-helpers.js')));
|
|
323
|
+
const environments = extractEnvironments(config);
|
|
324
|
+
const envConfig = environments.prod ?? environments.production;
|
|
325
|
+
if (!envConfig?.domain) {
|
|
326
|
+
return { success: false, error: 'Production domain not configured' };
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
const repoName = config.name ?? 'app';
|
|
330
|
+
await AWSPipeline.sshExec(envConfig, `
|
|
331
|
+
cd ~/.factiii && docker compose stop ${repoName}-prod
|
|
332
|
+
`);
|
|
333
|
+
return { success: true, message: 'Production containers stopped' };
|
|
334
|
+
}
|
|
335
|
+
catch (error) {
|
|
336
|
+
return {
|
|
337
|
+
success: false,
|
|
338
|
+
error: error instanceof Error ? error.message : String(error),
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return { success: false, error: `Unsupported environment: ${environment}` };
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
exports.default = AWSPipeline;
|
|
346
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production environment operations for AWS plugin
|
|
3
|
+
* Handles production deployment, server preparation, and production-specific helpers
|
|
4
|
+
*/
|
|
5
|
+
import type { FactiiiConfig, DeployResult, EnsureServerReadyOptions } from '../../../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Ensure server is ready for deployment
|
|
8
|
+
* Installs Node.js, git, clones repo, checks out commit
|
|
9
|
+
* Note: Production doesn't install dependencies (pulls pre-built images)
|
|
10
|
+
*/
|
|
11
|
+
export declare function ensureServerReady(config: FactiiiConfig, environment: string, options?: EnsureServerReadyOptions): Promise<DeployResult>;
|
|
12
|
+
/**
|
|
13
|
+
* Deploy to production server (pull from ECR)
|
|
14
|
+
*
|
|
15
|
+
* @param config - Factiii config (supports both v1.x and v2.0.0+)
|
|
16
|
+
* @param environment - Environment name (defaults to 'prod' for backward compatibility)
|
|
17
|
+
*/
|
|
18
|
+
export declare function deployProd(config: FactiiiConfig, environment?: string): Promise<DeployResult>;
|
|
19
|
+
//# sourceMappingURL=prod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prod.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/aws/prod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAsTjC;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAgDvB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,CAwDvB"}
|