@vaharoni/devops 1.2.13 → 1.2.14
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/dist/chunk-N7EX3HJH.js +139 -0
- package/dist/chunk-RZ46YYZZ.js +420 -0
- package/dist/chunk-WKP7EQNU.js +421 -0
- package/dist/devops.d.ts +0 -2
- package/dist/devops.js +3235 -91
- package/dist/index.d.ts +972 -4
- package/dist/index.js +67 -3
- package/dist/plugins.d.ts +95 -4
- package/dist/plugins.js +20 -6
- package/dist/src/target-templates/README.md +1 -0
- package/dist/src/target-templates/cluster-resource-options/README.md +2 -0
- package/dist/src/target-templates/cluster-resource-options/dns-test/dns-test.yaml +60 -0
- package/dist/src/target-templates/cluster-resource-options/milvus/production/milvus-values.yaml +2 -0
- package/dist/src/target-templates/cluster-resource-options/milvus/staging/milvus-values.yaml +2 -0
- package/dist/src/target-templates/cluster-resource-options/monitoring-ingress/monitoring-ingress.yaml +62 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/daily-operator-restart.yaml +54 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/PodDisruptionBudget.yaml +27 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/SGCluster.yaml +47 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/StackGres-alerts.yaml +191 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/06-SGDistributedLogs.yaml +11 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/07-SGObjectStorage.yaml +18 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/08-SGScript.yaml +12 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/stackgres-ui-ingress.yaml +35 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/staging/cluster/SGCluster.yaml +42 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/staging/configurations/07-SGObjectStorage.yaml +18 -0
- package/dist/src/target-templates/cluster-resource-options/postgres/staging/configurations/08-SGScript.yaml +12 -0
- package/dist/src/target-templates/cluster-resource-options/prefect/production/prefect-values.yaml +14 -0
- package/dist/src/target-templates/cluster-resource-options/prefect/staging/prefect-values.yaml +14 -0
- package/dist/src/target-templates/cluster-resource-options/redis/production/redis-values.yaml +20 -0
- package/dist/src/target-templates/cluster-resource-options/redis/staging/redis-values.yaml +8 -0
- package/dist/src/target-templates/infra-variants/README.md +2 -0
- package/dist/src/target-templates/infra-variants/digitalocean/.devops/config/constants.yaml +18 -0
- package/dist/src/target-templates/infra-variants/digitalocean/.github/workflows/k8s-build.yaml +91 -0
- package/dist/src/target-templates/infra-variants/gcloud/.devops/config/constants.yaml +15 -0
- package/dist/src/target-templates/infra-variants/gcloud/.devops/manifests/ingress.yaml.hb +22 -0
- package/dist/src/target-templates/infra-variants/gcloud/.github/workflows/k8s-build.yaml +95 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/config/constants.yaml +18 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/abandoned/harbor-values.yaml +30 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/abandoned/hcloud-config.yaml +134 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/cert-manager.yaml +25 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/harbor-cert.yaml +13 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/harbor-values.yaml +76 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/hcloud-config.yaml +113 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/ingress-nginx-annotations.yaml +49 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/ingress-nginx-configmap.yaml +8 -0
- package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/retain-storage-class.yaml +8 -0
- package/dist/src/target-templates/infra-variants/hetzner/.github/workflows/k8s-build.yaml +93 -0
- package/dist/src/target-templates/lang-variants-common/README.md +4 -0
- package/dist/src/target-templates/lang-variants-common/python/.cursor/rules/monorepo-python.mdc +56 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/config/images.yaml +89 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services/python-exec.sh +8 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services/python-run.sh +8 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services.Dockerfile +29 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/manifests/_index.yaml +21 -0
- package/dist/src/target-templates/lang-variants-common/python/.devops/manifests/prefect.yaml.hb +63 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-data-pipeline/pyproject.toml +14 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-data-pipeline/src/example_data_pipeline/main.py +38 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-python/pyproject.toml +20 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/__init__.py +0 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/main.py +13 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/scripts.py +17 -0
- package/dist/src/target-templates/lang-variants-common/python/applications/example-python/tests/__init__.py +0 -0
- package/dist/src/target-templates/lang-variants-common/python/devopspy +3 -0
- package/dist/src/target-templates/lang-variants-common/python/libs/example-python-lib/pyproject.toml +11 -0
- package/dist/src/target-templates/lang-variants-common/python/libs/example-python-lib/src/example_python_lib/__init__.py +2 -0
- package/dist/src/target-templates/lang-variants-common/python/pyproject.toml +16 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.cursor/rules/monorepo-typescript.mdc +51 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/config/images.yaml +69 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/cloudrun.Dockerfile +31 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/common/docker-common.sh +23 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services/node-exec.sh +8 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services/node-run.sh +8 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services.Dockerfile +31 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/env.example.yaml +23 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/_index.yaml +19 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/cron-jobs.yaml.hb +56 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/db-migrate-job.yaml.hb +43 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-debug.yaml.hb +42 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-process.yaml.hb +48 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-web.yaml.hb +54 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/ingress.yaml.hb +21 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/service.yaml.hb +15 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.envrc +5 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/build-image@v1/action.yaml +81 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-digital-ocean@v1/action.yaml +29 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-gke@v1/action.yaml +43 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-hetzner@v1/action.yaml +31 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/db-migrate@v1/action.yaml +23 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/deploy-image-cloudrun@v1/action.yaml +71 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/deploy-image-k8s@v1/action.yaml +37 -0
- package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/setup-prereq@v1/action.yaml +24 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/index.ts +30 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/package.json +26 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/tsconfig.json +3 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/README.md +68 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/index.ts +1 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/package.json +30 -0
- package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/tsconfig.json +3 -0
- package/dist/src/target-templates/lang-variants-common/typescript/config/.env.development +1 -0
- package/dist/src/target-templates/lang-variants-common/typescript/config/.env.global +4 -0
- package/dist/src/target-templates/lang-variants-common/typescript/config/.env.test +1 -0
- package/dist/src/target-templates/lang-variants-common/typescript/devops +3 -0
- package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/index.ts +3 -0
- package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/package.json +12 -0
- package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/tsconfig.json +3 -0
- package/dist/src/target-templates/lang-variants-common/typescript/tmp/.gitkeep +0 -0
- package/dist/src/target-templates/lang-variants-common/typescript/tsconfig.json +27 -0
- package/dist/src/target-templates/lang-variants-prisma/README.md +3 -0
- package/dist/src/target-templates/lang-variants-prisma/python/.cursor/rules/prisma-python.mdc +55 -0
- package/dist/src/target-templates/lang-variants-prisma/python/.cursor/rules/testing-python.mdc +89 -0
- package/dist/src/target-templates/lang-variants-prisma/python/db/db/__init__.py +0 -0
- package/dist/src/target-templates/lang-variants-prisma/python/db/db/db_client_test.py +46 -0
- package/dist/src/target-templates/lang-variants-prisma/python/db/pyproject.toml +14 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/.cursor/rules/prisma-typescript.mdc +54 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/.cursor/rules/testing-typescript.mdc +103 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/db-client-test.ts +142 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/db-client.ts +19 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/env.yaml +4 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/package.json +17 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/prisma/schema.prisma +24 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/prisma-setup-vitest.ts +27 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/db/tsconfig.json +3 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/dml/package.json +7 -0
- package/dist/src/target-templates/lang-variants-prisma/typescript/dml/tsconfig.json +3 -0
- package/package.json +3 -2
- package/src/cli/core/exec.ts +2 -4
- package/src/cli/core/run.ts +2 -4
- package/src/cli/extensions/prisma.ts +2 -4
- package/src/libs/init-generator.ts +2 -4
- package/src/pkg-root.ts +14 -0
- package/src/plugins.ts +2 -4
- package/dist/app-support/crypto/aes.d.ts +0 -15
- package/dist/app-support/crypto/aes.d.ts.map +0 -1
- package/dist/app-support/crypto/aes.js +0 -56
- package/dist/app-support/crypto/aes.spec.d.ts +0 -2
- package/dist/app-support/crypto/aes.spec.d.ts.map +0 -1
- package/dist/app-support/crypto/aes.spec.js +0 -58
- package/dist/app-support/crypto/index.d.ts +0 -16
- package/dist/app-support/crypto/index.d.ts.map +0 -1
- package/dist/app-support/crypto/index.js +0 -31
- package/dist/app-support/crypto/internal-token.d.ts +0 -20
- package/dist/app-support/crypto/internal-token.d.ts.map +0 -1
- package/dist/app-support/crypto/internal-token.js +0 -42
- package/dist/app-support/crypto/internal-token.spec.d.ts +0 -2
- package/dist/app-support/crypto/internal-token.spec.d.ts.map +0 -1
- package/dist/app-support/crypto/internal-token.spec.js +0 -45
- package/dist/app-support/crypto/secret.d.ts +0 -3
- package/dist/app-support/crypto/secret.d.ts.map +0 -1
- package/dist/app-support/crypto/secret.js +0 -12
- package/dist/app-support/crypto/secret.spec.d.ts +0 -2
- package/dist/app-support/crypto/secret.spec.d.ts.map +0 -1
- package/dist/app-support/crypto/secret.spec.js +0 -15
- package/dist/app-support/discovery/dev-discovery-loader.d.ts +0 -2
- package/dist/app-support/discovery/dev-discovery-loader.d.ts.map +0 -1
- package/dist/app-support/discovery/dev-discovery-loader.js +0 -30
- package/dist/app-support/discovery/service-endpoint.d.ts +0 -2
- package/dist/app-support/discovery/service-endpoint.d.ts.map +0 -1
- package/dist/app-support/discovery/service-endpoint.js +0 -10
- package/dist/cli/common.d.ts +0 -89
- package/dist/cli/common.d.ts.map +0 -1
- package/dist/cli/common.js +0 -246
- package/dist/cli/common.spec.d.ts +0 -2
- package/dist/cli/common.spec.d.ts.map +0 -1
- package/dist/cli/common.spec.js +0 -64
- package/dist/cli/core/affected.d.ts +0 -9
- package/dist/cli/core/affected.d.ts.map +0 -1
- package/dist/cli/core/affected.js +0 -101
- package/dist/cli/core/cloudrun.d.ts +0 -9
- package/dist/cli/core/cloudrun.d.ts.map +0 -1
- package/dist/cli/core/cloudrun.js +0 -119
- package/dist/cli/core/console.d.ts +0 -10
- package/dist/cli/core/console.d.ts.map +0 -1
- package/dist/cli/core/console.js +0 -50
- package/dist/cli/core/constant.d.ts +0 -9
- package/dist/cli/core/constant.d.ts.map +0 -1
- package/dist/cli/core/constant.js +0 -20
- package/dist/cli/core/env.d.ts +0 -9
- package/dist/cli/core/env.d.ts.map +0 -1
- package/dist/cli/core/env.js +0 -65
- package/dist/cli/core/exec.d.ts +0 -9
- package/dist/cli/core/exec.d.ts.map +0 -1
- package/dist/cli/core/exec.js +0 -48
- package/dist/cli/core/image.d.ts +0 -9
- package/dist/cli/core/image.d.ts.map +0 -1
- package/dist/cli/core/image.js +0 -153
- package/dist/cli/core/index.d.ts +0 -16
- package/dist/cli/core/index.d.ts.map +0 -1
- package/dist/cli/core/index.js +0 -15
- package/dist/cli/core/init.d.ts +0 -9
- package/dist/cli/core/init.d.ts.map +0 -1
- package/dist/cli/core/init.js +0 -219
- package/dist/cli/core/job.d.ts +0 -9
- package/dist/cli/core/job.d.ts.map +0 -1
- package/dist/cli/core/job.js +0 -65
- package/dist/cli/core/namespace.d.ts +0 -9
- package/dist/cli/core/namespace.d.ts.map +0 -1
- package/dist/cli/core/namespace.js +0 -67
- package/dist/cli/core/prep-build.d.ts +0 -10
- package/dist/cli/core/prep-build.d.ts.map +0 -1
- package/dist/cli/core/prep-build.js +0 -109
- package/dist/cli/core/registry.d.ts +0 -9
- package/dist/cli/core/registry.d.ts.map +0 -1
- package/dist/cli/core/registry.js +0 -66
- package/dist/cli/core/run-many.d.ts +0 -10
- package/dist/cli/core/run-many.d.ts.map +0 -1
- package/dist/cli/core/run-many.js +0 -48
- package/dist/cli/core/run.d.ts +0 -9
- package/dist/cli/core/run.d.ts.map +0 -1
- package/dist/cli/core/run.js +0 -35
- package/dist/cli/core/test.d.ts +0 -9
- package/dist/cli/core/test.d.ts.map +0 -1
- package/dist/cli/core/test.js +0 -26
- package/dist/cli/extensions/dml.d.ts +0 -9
- package/dist/cli/extensions/dml.d.ts.map +0 -1
- package/dist/cli/extensions/dml.js +0 -114
- package/dist/cli/extensions/index.d.ts +0 -9
- package/dist/cli/extensions/index.d.ts.map +0 -1
- package/dist/cli/extensions/index.js +0 -8
- package/dist/cli/extensions/internal-curl.d.ts +0 -10
- package/dist/cli/extensions/internal-curl.d.ts.map +0 -1
- package/dist/cli/extensions/internal-curl.js +0 -41
- package/dist/cli/extensions/jwt.d.ts +0 -9
- package/dist/cli/extensions/jwt.d.ts.map +0 -1
- package/dist/cli/extensions/jwt.js +0 -25
- package/dist/cli/extensions/prisma.d.ts +0 -9
- package/dist/cli/extensions/prisma.d.ts.map +0 -1
- package/dist/cli/extensions/prisma.js +0 -23
- package/dist/cli/extensions/redis-bitnami.d.ts +0 -11
- package/dist/cli/extensions/redis-bitnami.d.ts.map +0 -1
- package/dist/cli/extensions/redis-bitnami.js +0 -74
- package/dist/cli/extensions/redis-ha.d.ts +0 -11
- package/dist/cli/extensions/redis-ha.d.ts.map +0 -1
- package/dist/cli/extensions/redis-ha.js +0 -51
- package/dist/cli/extensions/stackgres.d.ts +0 -10
- package/dist/cli/extensions/stackgres.d.ts.map +0 -1
- package/dist/cli/extensions/stackgres.js +0 -117
- package/dist/cli/extensions/template.d.ts +0 -9
- package/dist/cli/extensions/template.d.ts.map +0 -1
- package/dist/cli/extensions/template.js +0 -121
- package/dist/devops.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/libs/affected-entities.d.ts +0 -15
- package/dist/libs/affected-entities.d.ts.map +0 -1
- package/dist/libs/affected-entities.js +0 -52
- package/dist/libs/cloudrun-helpers.d.ts +0 -16
- package/dist/libs/cloudrun-helpers.d.ts.map +0 -1
- package/dist/libs/cloudrun-helpers.js +0 -81
- package/dist/libs/config.d.ts +0 -7
- package/dist/libs/config.d.ts.map +0 -1
- package/dist/libs/config.js +0 -102
- package/dist/libs/digital-ocean/container-reg.d.ts +0 -6
- package/dist/libs/digital-ocean/container-reg.d.ts.map +0 -1
- package/dist/libs/digital-ocean/container-reg.js +0 -74
- package/dist/libs/discovery/dependencies.d.ts +0 -19
- package/dist/libs/discovery/dependencies.d.ts.map +0 -1
- package/dist/libs/discovery/dependencies.js +0 -62
- package/dist/libs/discovery/dependencies.spec.d.ts +0 -2
- package/dist/libs/discovery/dependencies.spec.d.ts.map +0 -1
- package/dist/libs/discovery/dependencies.spec.js +0 -21
- package/dist/libs/discovery/images.d.ts +0 -5
- package/dist/libs/discovery/images.d.ts.map +0 -1
- package/dist/libs/discovery/images.js +0 -45
- package/dist/libs/discovery/index.d.ts +0 -6
- package/dist/libs/discovery/index.d.ts.map +0 -1
- package/dist/libs/discovery/index.js +0 -67
- package/dist/libs/discovery/process-common.d.ts +0 -25
- package/dist/libs/discovery/process-common.d.ts.map +0 -1
- package/dist/libs/discovery/process-common.js +0 -40
- package/dist/libs/discovery/process-package-json.d.ts +0 -3
- package/dist/libs/discovery/process-package-json.d.ts.map +0 -1
- package/dist/libs/discovery/process-package-json.js +0 -40
- package/dist/libs/discovery/process-pyproject-toml.d.ts +0 -3
- package/dist/libs/discovery/process-pyproject-toml.d.ts.map +0 -1
- package/dist/libs/discovery/process-pyproject-toml.js +0 -49
- package/dist/libs/git-helpers.d.ts +0 -8
- package/dist/libs/git-helpers.d.ts.map +0 -1
- package/dist/libs/git-helpers.js +0 -20
- package/dist/libs/hetzner/reg-secret.d.ts +0 -3
- package/dist/libs/hetzner/reg-secret.d.ts.map +0 -1
- package/dist/libs/hetzner/reg-secret.js +0 -39
- package/dist/libs/init-generator.d.ts +0 -41
- package/dist/libs/init-generator.d.ts.map +0 -1
- package/dist/libs/init-generator.js +0 -123
- package/dist/libs/k8s-constants.d.ts +0 -13
- package/dist/libs/k8s-constants.d.ts.map +0 -1
- package/dist/libs/k8s-constants.js +0 -91
- package/dist/libs/k8s-db.d.ts +0 -18
- package/dist/libs/k8s-db.d.ts.map +0 -1
- package/dist/libs/k8s-db.js +0 -73
- package/dist/libs/k8s-generate.d.ts +0 -17
- package/dist/libs/k8s-generate.d.ts.map +0 -1
- package/dist/libs/k8s-generate.js +0 -193
- package/dist/libs/k8s-helpers.d.ts +0 -11
- package/dist/libs/k8s-helpers.d.ts.map +0 -1
- package/dist/libs/k8s-helpers.js +0 -42
- package/dist/libs/k8s-image-config.d.ts +0 -8
- package/dist/libs/k8s-image-config.d.ts.map +0 -1
- package/dist/libs/k8s-image-config.js +0 -113
- package/dist/libs/k8s-job-waiter.d.ts +0 -8
- package/dist/libs/k8s-job-waiter.d.ts.map +0 -1
- package/dist/libs/k8s-job-waiter.js +0 -84
- package/dist/libs/k8s-namespace.d.ts +0 -7
- package/dist/libs/k8s-namespace.d.ts.map +0 -1
- package/dist/libs/k8s-namespace.js +0 -27
- package/dist/libs/k8s-redis-bitnami.d.ts +0 -6
- package/dist/libs/k8s-redis-bitnami.d.ts.map +0 -1
- package/dist/libs/k8s-redis-bitnami.js +0 -31
- package/dist/libs/k8s-redis-ha.d.ts +0 -3
- package/dist/libs/k8s-redis-ha.d.ts.map +0 -1
- package/dist/libs/k8s-redis-ha.js +0 -15
- package/dist/libs/k8s-secrets-manager.d.ts +0 -6
- package/dist/libs/k8s-secrets-manager.d.ts.map +0 -1
- package/dist/libs/k8s-secrets-manager.js +0 -64
- package/dist/libs/validate-env.d.ts +0 -56
- package/dist/libs/validate-env.d.ts.map +0 -1
- package/dist/libs/validate-env.js +0 -214
- package/dist/libs/validate-env.spec.d.ts +0 -2
- package/dist/libs/validate-env.spec.d.ts.map +0 -1
- package/dist/libs/validate-env.spec.js +0 -168
- package/dist/plugins.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -939
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -82
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
apiVersion: stackgres.io/v1beta1
|
|
2
|
+
kind: SGObjectStorage
|
|
3
|
+
metadata:
|
|
4
|
+
namespace: db-production
|
|
5
|
+
name: backupconfig
|
|
6
|
+
spec:
|
|
7
|
+
type: s3Compatible
|
|
8
|
+
s3Compatible:
|
|
9
|
+
bucket: $PROJECT_NAME-backups
|
|
10
|
+
endpoint: https://hel1.your-objectstorage.com
|
|
11
|
+
awsCredentials:
|
|
12
|
+
secretKeySelectors:
|
|
13
|
+
accessKeyId:
|
|
14
|
+
name: s3-backup-bucket-secret
|
|
15
|
+
key: accessKey
|
|
16
|
+
secretAccessKey:
|
|
17
|
+
name: s3-backup-bucket-secret
|
|
18
|
+
key: secretKey
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
apiVersion: stackgres.io/v1
|
|
2
|
+
kind: SGScript
|
|
3
|
+
metadata:
|
|
4
|
+
name: create-db-script
|
|
5
|
+
namespace: db-production
|
|
6
|
+
spec:
|
|
7
|
+
managedVersions: true
|
|
8
|
+
continueOnError: false
|
|
9
|
+
scripts:
|
|
10
|
+
- name: create-database
|
|
11
|
+
script: |
|
|
12
|
+
CREATE DATABASE $PROJECT_NAME WITH OWNER postgres;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Service
|
|
3
|
+
metadata:
|
|
4
|
+
name: stackgres-ui-workaround-svc
|
|
5
|
+
labels:
|
|
6
|
+
app: stackgres
|
|
7
|
+
namespace: stackgres
|
|
8
|
+
spec:
|
|
9
|
+
selector:
|
|
10
|
+
stackgres.io/restapi: "true"
|
|
11
|
+
ports:
|
|
12
|
+
- protocol: TCP
|
|
13
|
+
port: 80
|
|
14
|
+
targetPort: 9080
|
|
15
|
+
---
|
|
16
|
+
apiVersion: networking.k8s.io/v1
|
|
17
|
+
kind: Ingress
|
|
18
|
+
metadata:
|
|
19
|
+
name: stackgres-ui
|
|
20
|
+
namespace: stackgres
|
|
21
|
+
labels:
|
|
22
|
+
app: stackgres
|
|
23
|
+
spec:
|
|
24
|
+
ingressClassName: nginx
|
|
25
|
+
rules:
|
|
26
|
+
- host: db.$APEX_DOMAIN
|
|
27
|
+
http:
|
|
28
|
+
paths:
|
|
29
|
+
- path: /
|
|
30
|
+
pathType: Prefix
|
|
31
|
+
backend:
|
|
32
|
+
service:
|
|
33
|
+
name: stackgres-ui-workaround-svc
|
|
34
|
+
port:
|
|
35
|
+
number: 80
|
package/dist/src/target-templates/cluster-resource-options/postgres/staging/cluster/SGCluster.yaml
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
apiVersion: stackgres.io/v1
|
|
2
|
+
kind: SGCluster
|
|
3
|
+
metadata:
|
|
4
|
+
namespace: db-staging
|
|
5
|
+
name: db-staging
|
|
6
|
+
spec:
|
|
7
|
+
postgres:
|
|
8
|
+
version: '17.4'
|
|
9
|
+
extensions:
|
|
10
|
+
# - name: 'pg_repack'
|
|
11
|
+
- name: 'pg_trgm' # required for prefect
|
|
12
|
+
instances: 1
|
|
13
|
+
# sgInstanceProfile: 'size-m'
|
|
14
|
+
profile: 'testing'
|
|
15
|
+
pods:
|
|
16
|
+
persistentVolume:
|
|
17
|
+
size: '10Gi'
|
|
18
|
+
storageClass: 'hcloud-volumes-retain'
|
|
19
|
+
scheduling:
|
|
20
|
+
tolerations:
|
|
21
|
+
- key: "stackgres"
|
|
22
|
+
operator: "Exists"
|
|
23
|
+
effect: "NoSchedule"
|
|
24
|
+
configurations:
|
|
25
|
+
# sgPostgresConfig: 'pgconfig'
|
|
26
|
+
# sgPoolingConfig: 'poolconfig'
|
|
27
|
+
backups:
|
|
28
|
+
- sgObjectStorage: 'backupconfig'
|
|
29
|
+
# cronSchedule: '30 02 */4 * *'
|
|
30
|
+
cronSchedule: '30 02 * * *'
|
|
31
|
+
retention: 4
|
|
32
|
+
# distributedLogs:
|
|
33
|
+
# sgDistributedLogs: 'distributedlogs'
|
|
34
|
+
managedSql:
|
|
35
|
+
scripts:
|
|
36
|
+
- sgScript: create-db-script
|
|
37
|
+
postgresServices:
|
|
38
|
+
primary:
|
|
39
|
+
type: ClusterIP
|
|
40
|
+
replicas:
|
|
41
|
+
type: ClusterIP
|
|
42
|
+
prometheusAutobind: true
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
apiVersion: stackgres.io/v1beta1
|
|
2
|
+
kind: SGObjectStorage
|
|
3
|
+
metadata:
|
|
4
|
+
namespace: db-staging
|
|
5
|
+
name: backupconfig
|
|
6
|
+
spec:
|
|
7
|
+
type: s3Compatible
|
|
8
|
+
s3Compatible:
|
|
9
|
+
bucket: $PROJECT_NAME-backups
|
|
10
|
+
endpoint: https://hel1.your-objectstorage.com
|
|
11
|
+
awsCredentials:
|
|
12
|
+
secretKeySelectors:
|
|
13
|
+
accessKeyId:
|
|
14
|
+
name: s3-backup-bucket-secret
|
|
15
|
+
key: accessKey
|
|
16
|
+
secretAccessKey:
|
|
17
|
+
name: s3-backup-bucket-secret
|
|
18
|
+
key: secretKey
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
apiVersion: stackgres.io/v1
|
|
2
|
+
kind: SGScript
|
|
3
|
+
metadata:
|
|
4
|
+
name: create-db-script
|
|
5
|
+
namespace: db-staging
|
|
6
|
+
spec:
|
|
7
|
+
managedVersions: true
|
|
8
|
+
continueOnError: false
|
|
9
|
+
scripts:
|
|
10
|
+
- name: create-database
|
|
11
|
+
script: |
|
|
12
|
+
CREATE DATABASE $PROJECT_NAME WITH OWNER postgres;
|
package/dist/src/target-templates/cluster-resource-options/prefect/production/prefect-values.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ingress:
|
|
2
|
+
enabled: true
|
|
3
|
+
host:
|
|
4
|
+
hostname: "prefect-production.staging.com"
|
|
5
|
+
server:
|
|
6
|
+
uiConfig:
|
|
7
|
+
prefectUiApiUrl: "https://prefect-production.staging.com/api"
|
|
8
|
+
|
|
9
|
+
# We use the environment's stackgres postgres instance
|
|
10
|
+
postgresql:
|
|
11
|
+
enabled: false
|
|
12
|
+
secret:
|
|
13
|
+
create: false
|
|
14
|
+
name: prefect-server-postgresql-connection
|
package/dist/src/target-templates/cluster-resource-options/prefect/staging/prefect-values.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ingress:
|
|
2
|
+
enabled: true
|
|
3
|
+
host:
|
|
4
|
+
hostname: "prefect-staging.staging.com"
|
|
5
|
+
server:
|
|
6
|
+
uiConfig:
|
|
7
|
+
prefectUiApiUrl: "https://prefect-staging.staging.com/api"
|
|
8
|
+
|
|
9
|
+
# We use the environment's stackgres postgres instance
|
|
10
|
+
postgresql:
|
|
11
|
+
enabled: false
|
|
12
|
+
secret:
|
|
13
|
+
create: false
|
|
14
|
+
name: prefect-server-postgresql-connection
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
architecture: replication
|
|
2
|
+
global:
|
|
3
|
+
defaultStorageClass: hcloud-volumes-retain
|
|
4
|
+
master:
|
|
5
|
+
resources:
|
|
6
|
+
requests:
|
|
7
|
+
cpu: 1
|
|
8
|
+
memory: 256Mi
|
|
9
|
+
limits:
|
|
10
|
+
cpu: 3
|
|
11
|
+
memory: 1024Mi
|
|
12
|
+
replica:
|
|
13
|
+
replicaCount: 1
|
|
14
|
+
resources:
|
|
15
|
+
requests:
|
|
16
|
+
cpu: 1
|
|
17
|
+
memory: 256Mi
|
|
18
|
+
limits:
|
|
19
|
+
cpu: 3
|
|
20
|
+
memory: 1024Mi
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# These will be used when generating kubernetes entities
|
|
2
|
+
project-name: $PROJECT_NAME
|
|
3
|
+
|
|
4
|
+
# Supported: hetzner, digitalocean, or gcloud
|
|
5
|
+
infra: digitalocean
|
|
6
|
+
|
|
7
|
+
# Only relevant for Digital Ocean. Determines the number of versions to keep for each docker image.
|
|
8
|
+
image-versions-to-keep: 5
|
|
9
|
+
|
|
10
|
+
registry-base-url: registry.digitalocean.com
|
|
11
|
+
# What comes before <image-name>:<tag>. Can be empty.
|
|
12
|
+
registry-image-path-prefix: $REGISTRY_IMAGE_PATH_PREFIX
|
|
13
|
+
|
|
14
|
+
# production and staging are supported by default
|
|
15
|
+
extra-remote-environments: []
|
|
16
|
+
|
|
17
|
+
# development and test are supported by default
|
|
18
|
+
extra-local-environments: []
|
package/dist/src/target-templates/infra-variants/digitalocean/.github/workflows/k8s-build.yaml
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
name: "Monorepo Build and Deploy"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- staging
|
|
7
|
+
- production
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
packages: read
|
|
12
|
+
# For deploying images to Cloud Run
|
|
13
|
+
# id-token: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
build_images:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
include:
|
|
21
|
+
- image_name: main-node
|
|
22
|
+
- image_name: main-python
|
|
23
|
+
cache_path: /root/.cache/uv
|
|
24
|
+
steps:
|
|
25
|
+
# Fetch the last 50 commits so that devops affected works
|
|
26
|
+
- name: Checkout repo and history
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
fetch-depth: 50
|
|
30
|
+
|
|
31
|
+
- name: Setup prerequesites
|
|
32
|
+
uses: ./.github/actions/setup-prereq@v1
|
|
33
|
+
|
|
34
|
+
- name: Connect to Digital Ocean
|
|
35
|
+
uses: ./.github/actions/connect-to-digital-ocean@v1
|
|
36
|
+
with:
|
|
37
|
+
access_token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
|
|
38
|
+
cluster_name: ${{ secrets.DIGITALOCEAN_CLUSTER_NAME }}
|
|
39
|
+
|
|
40
|
+
# For deploying images to Cloud Run
|
|
41
|
+
# - name: Connect to Cloud Run
|
|
42
|
+
# uses: ./.github/actions/connect-to-cloud-run@v1
|
|
43
|
+
# with:
|
|
44
|
+
# project_id: ${{ vars.GCP_PROJECT_ID }}
|
|
45
|
+
# project_number: ${{ vars.GCP_PROJECT_NUMBER }}
|
|
46
|
+
# region: ${{ vars.GCP_ARTIFACT_REGISTRY_REGION }}
|
|
47
|
+
|
|
48
|
+
- name: Build image
|
|
49
|
+
uses: ./.github/actions/build-image@v1
|
|
50
|
+
with:
|
|
51
|
+
image_name: ${{ matrix.image_name }}
|
|
52
|
+
cache_path: ${{ matrix.cache_path || '/root/.bun/install/cache' }}
|
|
53
|
+
|
|
54
|
+
db_migrate_and_deploy:
|
|
55
|
+
needs: [build_images]
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
steps:
|
|
58
|
+
# Fetch the last 50 commits so that devops affected works
|
|
59
|
+
- name: Checkout repo and history
|
|
60
|
+
uses: actions/checkout@v4
|
|
61
|
+
with:
|
|
62
|
+
fetch-depth: 50
|
|
63
|
+
|
|
64
|
+
- name: Setup prerequesites
|
|
65
|
+
uses: ./.github/actions/setup-prereq@v1
|
|
66
|
+
|
|
67
|
+
- name: Connect to Digital Ocean
|
|
68
|
+
uses: ./.github/actions/connect-to-digital-ocean@v1
|
|
69
|
+
with:
|
|
70
|
+
access_token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
|
|
71
|
+
cluster_name: ${{ secrets.DIGITALOCEAN_CLUSTER_NAME }}
|
|
72
|
+
|
|
73
|
+
# For deploying images to Cloud Run
|
|
74
|
+
# - name: Connect to Cloud Run
|
|
75
|
+
# uses: ./.github/actions/connect-to-cloud-run@v1
|
|
76
|
+
# with:
|
|
77
|
+
# project_id: ${{ vars.GCP_PROJECT_ID }}
|
|
78
|
+
# project_number: ${{ vars.GCP_PROJECT_NUMBER }}
|
|
79
|
+
# region: ${{ vars.GCP_ARTIFACT_REGISTRY_REGION }}
|
|
80
|
+
|
|
81
|
+
- name: Run DB Migrate
|
|
82
|
+
uses: ./.github/actions/db-migrate@v1
|
|
83
|
+
|
|
84
|
+
# Repeat per image (it checks if the image is affected and deploys it if it is)
|
|
85
|
+
- name: Deploy main node
|
|
86
|
+
uses: ./.github/actions/deploy-image-k8s@v1
|
|
87
|
+
with: { "image_name": "main-node" }
|
|
88
|
+
|
|
89
|
+
- name: Deploy main python
|
|
90
|
+
uses: ./.github/actions/deploy-image-k8s@v1
|
|
91
|
+
with: { "image_name": "main-python" }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# These will be used when generating kubernetes entities
|
|
2
|
+
project-name: $PROJECT_NAME
|
|
3
|
+
|
|
4
|
+
# Supported: hetzner, digitalocean, or gcloud
|
|
5
|
+
infra: gcloud
|
|
6
|
+
|
|
7
|
+
registry-base-url: gcr.io
|
|
8
|
+
# What comes before <image-name>:<tag>. Can be empty.
|
|
9
|
+
registry-image-path-prefix: $GCLOUD_PROJECT_ID
|
|
10
|
+
|
|
11
|
+
# production and staging are supported by default
|
|
12
|
+
extra-remote-environments: []
|
|
13
|
+
|
|
14
|
+
# development and test are supported by default
|
|
15
|
+
extra-local-environments: []
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
apiVersion: networking.k8s.io/v1
|
|
2
|
+
kind: Ingress
|
|
3
|
+
metadata:
|
|
4
|
+
name: {{app_name}}
|
|
5
|
+
namespace: {{namespace}}
|
|
6
|
+
labels:
|
|
7
|
+
app: {{app_name}}
|
|
8
|
+
env: {{monorepo_env}}
|
|
9
|
+
annotations:
|
|
10
|
+
kubernetes.io/ingress.class: "gce"
|
|
11
|
+
spec:
|
|
12
|
+
rules:
|
|
13
|
+
- host: {{subdomain}}.{{domain_name}}
|
|
14
|
+
http:
|
|
15
|
+
paths:
|
|
16
|
+
- path: /
|
|
17
|
+
pathType: Prefix
|
|
18
|
+
backend:
|
|
19
|
+
service:
|
|
20
|
+
name: {{service_name}}
|
|
21
|
+
port:
|
|
22
|
+
number: 80
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
name: "Monorepo Build and Deploy"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- staging
|
|
7
|
+
- production
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
packages: read
|
|
12
|
+
# For deploying images to Cloud Run
|
|
13
|
+
# id-token: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
build_images:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
include:
|
|
21
|
+
- image_name: main-node
|
|
22
|
+
- image_name: main-python
|
|
23
|
+
cache_path: /root/.cache/uv
|
|
24
|
+
steps:
|
|
25
|
+
# Fetch the last 50 commits so that devops affected works
|
|
26
|
+
- name: Checkout repo and history
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
fetch-depth: 50
|
|
30
|
+
|
|
31
|
+
- name: Setup prerequesites
|
|
32
|
+
uses: ./.github/actions/setup-prereq@v1
|
|
33
|
+
|
|
34
|
+
- name: Connect to Google Cloud GKE
|
|
35
|
+
uses: ./.github/actions/connect-to-gke@v1
|
|
36
|
+
with:
|
|
37
|
+
project_id: ${{ secrets.GCLOUD_PROJECT_ID }}
|
|
38
|
+
zone: ${{ secrets.GCLOUD_ZONE }}
|
|
39
|
+
cluster_name: ${{ secrets.GCLOUD_CLUSTER_NAME }}
|
|
40
|
+
service_account_key: ${{ secrets.GCLOUD_SA_KEY }}
|
|
41
|
+
|
|
42
|
+
# For deploying images to Cloud Run
|
|
43
|
+
# - name: Connect to Cloud Run
|
|
44
|
+
# uses: ./.github/actions/connect-to-cloud-run@v1
|
|
45
|
+
# with:
|
|
46
|
+
# project_id: ${{ vars.GCP_PROJECT_ID }}
|
|
47
|
+
# project_number: ${{ vars.GCP_PROJECT_NUMBER }}
|
|
48
|
+
# region: ${{ vars.GCP_ARTIFACT_REGISTRY_REGION }}
|
|
49
|
+
|
|
50
|
+
- name: Build image
|
|
51
|
+
uses: ./.github/actions/build-image@v1
|
|
52
|
+
with:
|
|
53
|
+
image_name: ${{ matrix.image_name }}
|
|
54
|
+
cache_path: ${{ matrix.cache_path || '/root/.bun/install/cache' }}
|
|
55
|
+
|
|
56
|
+
db_migrate_and_deploy:
|
|
57
|
+
needs: [build_images]
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
steps:
|
|
60
|
+
# Fetch the last 50 commits so that devops affected works
|
|
61
|
+
- name: Checkout repo and history
|
|
62
|
+
uses: actions/checkout@v4
|
|
63
|
+
with:
|
|
64
|
+
fetch-depth: 50
|
|
65
|
+
|
|
66
|
+
- name: Setup prerequesites
|
|
67
|
+
uses: ./.github/actions/setup-prereq@v1
|
|
68
|
+
|
|
69
|
+
- name: Connect to Google Cloud GKE
|
|
70
|
+
uses: ./.github/actions/connect-to-gke@v1
|
|
71
|
+
with:
|
|
72
|
+
project_id: ${{ secrets.GCLOUD_PROJECT_ID }}
|
|
73
|
+
zone: ${{ secrets.GCLOUD_ZONE }}
|
|
74
|
+
cluster_name: ${{ secrets.GCLOUD_CLUSTER_NAME }}
|
|
75
|
+
service_account_key: ${{ secrets.GCLOUD_SA_KEY }}
|
|
76
|
+
|
|
77
|
+
# For deploying images to Cloud Run
|
|
78
|
+
# - name: Connect to Cloud Run
|
|
79
|
+
# uses: ./.github/actions/connect-to-cloud-run@v1
|
|
80
|
+
# with:
|
|
81
|
+
# project_id: ${{ vars.GCP_PROJECT_ID }}
|
|
82
|
+
# project_number: ${{ vars.GCP_PROJECT_NUMBER }}
|
|
83
|
+
# region: ${{ vars.GCP_ARTIFACT_REGISTRY_REGION }}
|
|
84
|
+
|
|
85
|
+
- name: Run DB Migrate
|
|
86
|
+
uses: ./.github/actions/db-migrate@v1
|
|
87
|
+
|
|
88
|
+
# Repeat per image (it checks if the image is affected and deploys it if it is)
|
|
89
|
+
- name: Deploy main node
|
|
90
|
+
uses: ./.github/actions/deploy-image-k8s@v1
|
|
91
|
+
with: { "image_name": "main-node" }
|
|
92
|
+
|
|
93
|
+
- name: Deploy main python
|
|
94
|
+
uses: ./.github/actions/deploy-image-k8s@v1
|
|
95
|
+
with: { "image_name": "main-python" }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# These will be used when generating kubernetes entities
|
|
2
|
+
project-name: $PROJECT_NAME
|
|
3
|
+
|
|
4
|
+
# Supported: hetzner, digitalocean, or gcloud
|
|
5
|
+
infra: hetzner
|
|
6
|
+
|
|
7
|
+
# Only relevant for Digital Ocean. Determines the number of versions to keep for each docker image.
|
|
8
|
+
image-versions-to-keep: 5
|
|
9
|
+
|
|
10
|
+
registry-base-url: $REGISTRY_BASE_URL
|
|
11
|
+
# What comes before <image-name>:<tag>. Can be empty.
|
|
12
|
+
registry-image-path-prefix: $PROJECT_NAME
|
|
13
|
+
|
|
14
|
+
# production and staging are supported by default
|
|
15
|
+
extra-remote-environments: []
|
|
16
|
+
|
|
17
|
+
# development and test are supported by default
|
|
18
|
+
extra-local-environments: []
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# While this works when setting Cloudflare TLS encryption mode to "full", it fails when too big layers are attempted to be pushed
|
|
2
|
+
expose:
|
|
3
|
+
type: ingress
|
|
4
|
+
ingress:
|
|
5
|
+
hosts:
|
|
6
|
+
core: $REGISTRY_BASE_URL
|
|
7
|
+
className: "nginx"
|
|
8
|
+
annotations:
|
|
9
|
+
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
10
|
+
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
|
11
|
+
ingress.kubernetes.io/ssl-redirect: "false"
|
|
12
|
+
ingress.kubernetes.io/proxy-body-size: "0"
|
|
13
|
+
tls:
|
|
14
|
+
enabled: false
|
|
15
|
+
externalURL: https://$REGISTRY_BASE_URL
|
|
16
|
+
persistence:
|
|
17
|
+
enabled: true
|
|
18
|
+
persistentVolumeClaim:
|
|
19
|
+
registry:
|
|
20
|
+
storageClass: "hcloud-volumes"
|
|
21
|
+
accessMode: ReadWriteOnce
|
|
22
|
+
size: 20Gi
|
|
23
|
+
jobservice:
|
|
24
|
+
storageClass: "hcloud-volumes"
|
|
25
|
+
accessMode: ReadWriteOnce
|
|
26
|
+
size: 5Gi
|
|
27
|
+
chartmuseum:
|
|
28
|
+
storageClass: "hcloud-volumes"
|
|
29
|
+
accessMode: ReadWriteOnce
|
|
30
|
+
size: 5Gi
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
cluster_name: $PROJECT_NAME
|
|
3
|
+
kubeconfig_path: "./kubeconfig"
|
|
4
|
+
k3s_version: v1.32.2+k3s1
|
|
5
|
+
|
|
6
|
+
networking:
|
|
7
|
+
ssh:
|
|
8
|
+
port: 22
|
|
9
|
+
use_agent: false # set to true if your key has a passphrase
|
|
10
|
+
public_key_path: "~/.ssh/id_hcloud.pub"
|
|
11
|
+
private_key_path: "~/.ssh/id_hcloud"
|
|
12
|
+
allowed_networks:
|
|
13
|
+
ssh:
|
|
14
|
+
- 0.0.0.0/0
|
|
15
|
+
api: # this will firewall port 6443 on the nodes
|
|
16
|
+
- 0.0.0.0/0
|
|
17
|
+
public_network:
|
|
18
|
+
ipv4: false
|
|
19
|
+
ipv6: false
|
|
20
|
+
private_network:
|
|
21
|
+
enabled: true
|
|
22
|
+
subnet: 10.0.0.0/16
|
|
23
|
+
existing_network_name: "cluster-network"
|
|
24
|
+
cni:
|
|
25
|
+
enabled: true
|
|
26
|
+
encryption: false
|
|
27
|
+
mode: flannel
|
|
28
|
+
|
|
29
|
+
# cluster_cidr: 10.244.0.0/16 # optional: a custom IPv4/IPv6 network CIDR to use for pod IPs
|
|
30
|
+
# service_cidr: 10.43.0.0/16 # optional: a custom IPv4/IPv6 network CIDR to use for service IPs. Warning, if you change this, you should also change cluster_dns!
|
|
31
|
+
# cluster_dns: 10.43.0.10 # optional: IPv4 Cluster IP for coredns service. Needs to be an address from the service_cidr range
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# manifests:
|
|
35
|
+
# cloud_controller_manager_manifest_url: "https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/download/v1.23.0/ccm-networks.yaml"
|
|
36
|
+
# csi_driver_manifest_url: "https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.12.0/deploy/kubernetes/hcloud-csi.yml"
|
|
37
|
+
# system_upgrade_controller_deployment_manifest_url: "https://github.com/rancher/system-upgrade-controller/releases/download/v0.14.2/system-upgrade-controller.yaml"
|
|
38
|
+
# system_upgrade_controller_crd_manifest_url: "https://github.com/rancher/system-upgrade-controller/releases/download/v0.14.2/crd.yaml"
|
|
39
|
+
# cluster_autoscaler_manifest_url: "https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/hetzner/examples/cluster-autoscaler-run-on-master.yaml"
|
|
40
|
+
# cluster_autoscaler_container_image_tag: "v1.32.0"
|
|
41
|
+
|
|
42
|
+
# datastore:
|
|
43
|
+
# mode: etcd # etcd (default) or external
|
|
44
|
+
# external_datastore_endpoint: postgres://....
|
|
45
|
+
|
|
46
|
+
schedule_workloads_on_masters: false
|
|
47
|
+
|
|
48
|
+
# image: rocky-9 # optional: default is ubuntu-24.04
|
|
49
|
+
# autoscaling_image: 103908130 # optional, defaults to the `image` setting
|
|
50
|
+
# snapshot_os: microos # optional: specified the os type when using a custom snapshot
|
|
51
|
+
|
|
52
|
+
masters_pool:
|
|
53
|
+
instance_type: cpx21
|
|
54
|
+
instance_count: 1 # for HA; you can also create a single master cluster for dev and testing (not recommended for production)
|
|
55
|
+
locations: # You can choose a single location for single master clusters or if you prefer to have all masters in the same location. For regional clusters (which are only available in the eu-central network zone), each master needs to be placed in a separate location.
|
|
56
|
+
# - fsn1
|
|
57
|
+
# - hel1
|
|
58
|
+
- nbg1
|
|
59
|
+
|
|
60
|
+
worker_node_pools:
|
|
61
|
+
- name: small-static
|
|
62
|
+
instance_type: cpx21
|
|
63
|
+
instance_count: 2
|
|
64
|
+
location: nbg1
|
|
65
|
+
# image: debian-11
|
|
66
|
+
# labels:
|
|
67
|
+
# - key: purpose
|
|
68
|
+
# value: blah
|
|
69
|
+
# taints:
|
|
70
|
+
# - key: something
|
|
71
|
+
# value: value1:NoSchedule
|
|
72
|
+
# - name: medium-autoscaled
|
|
73
|
+
# instance_type: cpx31
|
|
74
|
+
# location: fsn1
|
|
75
|
+
# autoscaling:
|
|
76
|
+
# enabled: true
|
|
77
|
+
# min_instances: 0
|
|
78
|
+
# max_instances: 3
|
|
79
|
+
|
|
80
|
+
embedded_registry_mirror:
|
|
81
|
+
enabled: false # Enables fast p2p distribution of container images between nodes for faster pod startup. Check if your k3s version is compatible before enabling this option. You can find more information at https://docs.k3s.io/installation/registry-mirror
|
|
82
|
+
|
|
83
|
+
protect_against_deletion: true
|
|
84
|
+
|
|
85
|
+
create_load_balancer_for_the_kubernetes_api: false # Just a heads up: right now, we can’t limit access to the load balancer by IP through the firewall. This feature hasn’t been added by Hetzner yet.
|
|
86
|
+
|
|
87
|
+
# See https://github.com/vitobotta/hetzner-k3s/blob/main/docs/Private_clusters_with_public_network_interface_disabled.md
|
|
88
|
+
post_create_commands:
|
|
89
|
+
- apt update
|
|
90
|
+
- apt upgrade -y
|
|
91
|
+
- apt install ifupdown resolvconf -y
|
|
92
|
+
- apt autoremove -y hc-utils
|
|
93
|
+
- apt purge -y hc-utils
|
|
94
|
+
- echo "auto enp7s0" > /etc/network/interfaces.d/60-private
|
|
95
|
+
- echo "iface enp7s0 inet dhcp" >> /etc/network/interfaces.d/60-private
|
|
96
|
+
- echo " post-up ip route add default via 10.0.0.1" >> /etc/network/interfaces.d/60-private
|
|
97
|
+
- echo "[Resolve]" > /etc/systemd/resolved.conf
|
|
98
|
+
- echo "DNS=1.1.1.1 1.0.0.1" >> /etc/systemd/resolved.conf
|
|
99
|
+
- ifdown enp7s0
|
|
100
|
+
- ifup enp7s0
|
|
101
|
+
- systemctl start resolvconf
|
|
102
|
+
- systemctl enable resolvconf
|
|
103
|
+
- echo "nameserver 1.1.1.1" >> /etc/resolvconf/resolv.conf.d/head
|
|
104
|
+
- echo "nameserver 1.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
|
|
105
|
+
- resolvconf --enable-updates
|
|
106
|
+
- resolvconf -u
|
|
107
|
+
|
|
108
|
+
# additional_packages:
|
|
109
|
+
# - somepackage
|
|
110
|
+
|
|
111
|
+
# post_create_commands:
|
|
112
|
+
# - apt update
|
|
113
|
+
# - apt upgrade -y
|
|
114
|
+
# - apt autoremove -y
|
|
115
|
+
|
|
116
|
+
# kube_api_server_args:
|
|
117
|
+
# - arg1
|
|
118
|
+
# - ...
|
|
119
|
+
# kube_scheduler_args:
|
|
120
|
+
# - arg1
|
|
121
|
+
# - ...
|
|
122
|
+
# kube_controller_manager_args:
|
|
123
|
+
# - arg1
|
|
124
|
+
# - ...
|
|
125
|
+
# kube_cloud_controller_manager_args:
|
|
126
|
+
# - arg1
|
|
127
|
+
# - ...
|
|
128
|
+
# kubelet_args:
|
|
129
|
+
# - arg1
|
|
130
|
+
# - ...
|
|
131
|
+
# kube_proxy_args:
|
|
132
|
+
# - arg1
|
|
133
|
+
# - ...
|
|
134
|
+
# api_server_hostname: k8s.example.com # optional: DNS for the k8s API LoadBalancer. After the script has run, create a DNS record with the address of the API LoadBalancer.
|
package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/cert-manager.yaml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Secret
|
|
3
|
+
metadata:
|
|
4
|
+
name: cloudflare-api-token-secret
|
|
5
|
+
namespace: cert-manager
|
|
6
|
+
type: Opaque
|
|
7
|
+
stringData:
|
|
8
|
+
api-token: $CLOUDFLARE_API_TOKEN
|
|
9
|
+
---
|
|
10
|
+
apiVersion: cert-manager.io/v1
|
|
11
|
+
kind: ClusterIssuer
|
|
12
|
+
metadata:
|
|
13
|
+
name: letsencrypt-dns01
|
|
14
|
+
spec:
|
|
15
|
+
acme:
|
|
16
|
+
server: https://acme-v02.api.letsencrypt.org/directory
|
|
17
|
+
email: $EMAIL_ADDRESS
|
|
18
|
+
privateKeySecretRef:
|
|
19
|
+
name: letsencrypt-dns01-private-key
|
|
20
|
+
solvers:
|
|
21
|
+
- dns01:
|
|
22
|
+
cloudflare:
|
|
23
|
+
apiTokenSecretRef:
|
|
24
|
+
name: cloudflare-api-token-secret
|
|
25
|
+
key: api-token
|
package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/harbor-cert.yaml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
apiVersion: cert-manager.io/v1
|
|
2
|
+
kind: Certificate
|
|
3
|
+
metadata:
|
|
4
|
+
name: tls-secret
|
|
5
|
+
namespace: harbor
|
|
6
|
+
spec:
|
|
7
|
+
secretName: tls-secret
|
|
8
|
+
issuerRef:
|
|
9
|
+
name: letsencrypt-dns01
|
|
10
|
+
kind: ClusterIssuer
|
|
11
|
+
commonName: $REGISTRY_BASE_URL
|
|
12
|
+
dnsNames:
|
|
13
|
+
- $REGISTRY_BASE_URL
|