@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.
Files changed (323) hide show
  1. package/dist/chunk-N7EX3HJH.js +139 -0
  2. package/dist/chunk-RZ46YYZZ.js +420 -0
  3. package/dist/chunk-WKP7EQNU.js +421 -0
  4. package/dist/devops.d.ts +0 -2
  5. package/dist/devops.js +3235 -91
  6. package/dist/index.d.ts +972 -4
  7. package/dist/index.js +67 -3
  8. package/dist/plugins.d.ts +95 -4
  9. package/dist/plugins.js +20 -6
  10. package/dist/src/target-templates/README.md +1 -0
  11. package/dist/src/target-templates/cluster-resource-options/README.md +2 -0
  12. package/dist/src/target-templates/cluster-resource-options/dns-test/dns-test.yaml +60 -0
  13. package/dist/src/target-templates/cluster-resource-options/milvus/production/milvus-values.yaml +2 -0
  14. package/dist/src/target-templates/cluster-resource-options/milvus/staging/milvus-values.yaml +2 -0
  15. package/dist/src/target-templates/cluster-resource-options/monitoring-ingress/monitoring-ingress.yaml +62 -0
  16. package/dist/src/target-templates/cluster-resource-options/postgres/daily-operator-restart.yaml +54 -0
  17. package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/PodDisruptionBudget.yaml +27 -0
  18. package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/SGCluster.yaml +47 -0
  19. package/dist/src/target-templates/cluster-resource-options/postgres/production/cluster/StackGres-alerts.yaml +191 -0
  20. package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/06-SGDistributedLogs.yaml +11 -0
  21. package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/07-SGObjectStorage.yaml +18 -0
  22. package/dist/src/target-templates/cluster-resource-options/postgres/production/configurations/08-SGScript.yaml +12 -0
  23. package/dist/src/target-templates/cluster-resource-options/postgres/stackgres-ui-ingress.yaml +35 -0
  24. package/dist/src/target-templates/cluster-resource-options/postgres/staging/cluster/SGCluster.yaml +42 -0
  25. package/dist/src/target-templates/cluster-resource-options/postgres/staging/configurations/07-SGObjectStorage.yaml +18 -0
  26. package/dist/src/target-templates/cluster-resource-options/postgres/staging/configurations/08-SGScript.yaml +12 -0
  27. package/dist/src/target-templates/cluster-resource-options/prefect/production/prefect-values.yaml +14 -0
  28. package/dist/src/target-templates/cluster-resource-options/prefect/staging/prefect-values.yaml +14 -0
  29. package/dist/src/target-templates/cluster-resource-options/redis/production/redis-values.yaml +20 -0
  30. package/dist/src/target-templates/cluster-resource-options/redis/staging/redis-values.yaml +8 -0
  31. package/dist/src/target-templates/infra-variants/README.md +2 -0
  32. package/dist/src/target-templates/infra-variants/digitalocean/.devops/config/constants.yaml +18 -0
  33. package/dist/src/target-templates/infra-variants/digitalocean/.github/workflows/k8s-build.yaml +91 -0
  34. package/dist/src/target-templates/infra-variants/gcloud/.devops/config/constants.yaml +15 -0
  35. package/dist/src/target-templates/infra-variants/gcloud/.devops/manifests/ingress.yaml.hb +22 -0
  36. package/dist/src/target-templates/infra-variants/gcloud/.github/workflows/k8s-build.yaml +95 -0
  37. package/dist/src/target-templates/infra-variants/hetzner/.devops/config/constants.yaml +18 -0
  38. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/abandoned/harbor-values.yaml +30 -0
  39. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/abandoned/hcloud-config.yaml +134 -0
  40. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/cert-manager.yaml +25 -0
  41. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/harbor-cert.yaml +13 -0
  42. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/harbor-values.yaml +76 -0
  43. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/hcloud-config.yaml +113 -0
  44. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/ingress-nginx-annotations.yaml +49 -0
  45. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/ingress-nginx-configmap.yaml +8 -0
  46. package/dist/src/target-templates/infra-variants/hetzner/.devops/infra/hetzner/retain-storage-class.yaml +8 -0
  47. package/dist/src/target-templates/infra-variants/hetzner/.github/workflows/k8s-build.yaml +93 -0
  48. package/dist/src/target-templates/lang-variants-common/README.md +4 -0
  49. package/dist/src/target-templates/lang-variants-common/python/.cursor/rules/monorepo-python.mdc +56 -0
  50. package/dist/src/target-templates/lang-variants-common/python/.devops/config/images.yaml +89 -0
  51. package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services/python-exec.sh +8 -0
  52. package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services/python-run.sh +8 -0
  53. package/dist/src/target-templates/lang-variants-common/python/.devops/docker-images/python-services.Dockerfile +29 -0
  54. package/dist/src/target-templates/lang-variants-common/python/.devops/manifests/_index.yaml +21 -0
  55. package/dist/src/target-templates/lang-variants-common/python/.devops/manifests/prefect.yaml.hb +63 -0
  56. package/dist/src/target-templates/lang-variants-common/python/applications/example-data-pipeline/pyproject.toml +14 -0
  57. package/dist/src/target-templates/lang-variants-common/python/applications/example-data-pipeline/src/example_data_pipeline/main.py +38 -0
  58. package/dist/src/target-templates/lang-variants-common/python/applications/example-python/pyproject.toml +20 -0
  59. package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/__init__.py +0 -0
  60. package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/main.py +13 -0
  61. package/dist/src/target-templates/lang-variants-common/python/applications/example-python/src/example_python/scripts.py +17 -0
  62. package/dist/src/target-templates/lang-variants-common/python/applications/example-python/tests/__init__.py +0 -0
  63. package/dist/src/target-templates/lang-variants-common/python/devopspy +3 -0
  64. package/dist/src/target-templates/lang-variants-common/python/libs/example-python-lib/pyproject.toml +11 -0
  65. package/dist/src/target-templates/lang-variants-common/python/libs/example-python-lib/src/example_python_lib/__init__.py +2 -0
  66. package/dist/src/target-templates/lang-variants-common/python/pyproject.toml +16 -0
  67. package/dist/src/target-templates/lang-variants-common/typescript/.cursor/rules/monorepo-typescript.mdc +51 -0
  68. package/dist/src/target-templates/lang-variants-common/typescript/.devops/config/images.yaml +69 -0
  69. package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/cloudrun.Dockerfile +31 -0
  70. package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/common/docker-common.sh +23 -0
  71. package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services/node-exec.sh +8 -0
  72. package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services/node-run.sh +8 -0
  73. package/dist/src/target-templates/lang-variants-common/typescript/.devops/docker-images/node-services.Dockerfile +31 -0
  74. package/dist/src/target-templates/lang-variants-common/typescript/.devops/env.example.yaml +23 -0
  75. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/_index.yaml +19 -0
  76. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/cron-jobs.yaml.hb +56 -0
  77. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/db-migrate-job.yaml.hb +43 -0
  78. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-debug.yaml.hb +42 -0
  79. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-process.yaml.hb +48 -0
  80. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/deployment-web.yaml.hb +54 -0
  81. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/ingress.yaml.hb +21 -0
  82. package/dist/src/target-templates/lang-variants-common/typescript/.devops/manifests/service.yaml.hb +15 -0
  83. package/dist/src/target-templates/lang-variants-common/typescript/.envrc +5 -0
  84. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/build-image@v1/action.yaml +81 -0
  85. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-digital-ocean@v1/action.yaml +29 -0
  86. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-gke@v1/action.yaml +43 -0
  87. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/connect-to-hetzner@v1/action.yaml +31 -0
  88. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/db-migrate@v1/action.yaml +23 -0
  89. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/deploy-image-cloudrun@v1/action.yaml +71 -0
  90. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/deploy-image-k8s@v1/action.yaml +37 -0
  91. package/dist/src/target-templates/lang-variants-common/typescript/.github/actions/setup-prereq@v1/action.yaml +24 -0
  92. package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/index.ts +30 -0
  93. package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/package.json +26 -0
  94. package/dist/src/target-templates/lang-variants-common/typescript/applications/example-node/tsconfig.json +3 -0
  95. package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/README.md +68 -0
  96. package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/index.ts +1 -0
  97. package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/package.json +30 -0
  98. package/dist/src/target-templates/lang-variants-common/typescript/applications/jobs/tsconfig.json +3 -0
  99. package/dist/src/target-templates/lang-variants-common/typescript/config/.env.development +1 -0
  100. package/dist/src/target-templates/lang-variants-common/typescript/config/.env.global +4 -0
  101. package/dist/src/target-templates/lang-variants-common/typescript/config/.env.test +1 -0
  102. package/dist/src/target-templates/lang-variants-common/typescript/devops +3 -0
  103. package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/index.ts +3 -0
  104. package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/package.json +12 -0
  105. package/dist/src/target-templates/lang-variants-common/typescript/libs/example-node-lib/tsconfig.json +3 -0
  106. package/dist/src/target-templates/lang-variants-common/typescript/tmp/.gitkeep +0 -0
  107. package/dist/src/target-templates/lang-variants-common/typescript/tsconfig.json +27 -0
  108. package/dist/src/target-templates/lang-variants-prisma/README.md +3 -0
  109. package/dist/src/target-templates/lang-variants-prisma/python/.cursor/rules/prisma-python.mdc +55 -0
  110. package/dist/src/target-templates/lang-variants-prisma/python/.cursor/rules/testing-python.mdc +89 -0
  111. package/dist/src/target-templates/lang-variants-prisma/python/db/db/__init__.py +0 -0
  112. package/dist/src/target-templates/lang-variants-prisma/python/db/db/db_client_test.py +46 -0
  113. package/dist/src/target-templates/lang-variants-prisma/python/db/pyproject.toml +14 -0
  114. package/dist/src/target-templates/lang-variants-prisma/typescript/.cursor/rules/prisma-typescript.mdc +54 -0
  115. package/dist/src/target-templates/lang-variants-prisma/typescript/.cursor/rules/testing-typescript.mdc +103 -0
  116. package/dist/src/target-templates/lang-variants-prisma/typescript/db/db-client-test.ts +142 -0
  117. package/dist/src/target-templates/lang-variants-prisma/typescript/db/db-client.ts +19 -0
  118. package/dist/src/target-templates/lang-variants-prisma/typescript/db/env.yaml +4 -0
  119. package/dist/src/target-templates/lang-variants-prisma/typescript/db/package.json +17 -0
  120. package/dist/src/target-templates/lang-variants-prisma/typescript/db/prisma/schema.prisma +24 -0
  121. package/dist/src/target-templates/lang-variants-prisma/typescript/db/prisma-setup-vitest.ts +27 -0
  122. package/dist/src/target-templates/lang-variants-prisma/typescript/db/tsconfig.json +3 -0
  123. package/dist/src/target-templates/lang-variants-prisma/typescript/dml/package.json +7 -0
  124. package/dist/src/target-templates/lang-variants-prisma/typescript/dml/tsconfig.json +3 -0
  125. package/package.json +3 -2
  126. package/src/cli/core/exec.ts +2 -4
  127. package/src/cli/core/run.ts +2 -4
  128. package/src/cli/extensions/prisma.ts +2 -4
  129. package/src/libs/init-generator.ts +2 -4
  130. package/src/pkg-root.ts +14 -0
  131. package/src/plugins.ts +2 -4
  132. package/dist/app-support/crypto/aes.d.ts +0 -15
  133. package/dist/app-support/crypto/aes.d.ts.map +0 -1
  134. package/dist/app-support/crypto/aes.js +0 -56
  135. package/dist/app-support/crypto/aes.spec.d.ts +0 -2
  136. package/dist/app-support/crypto/aes.spec.d.ts.map +0 -1
  137. package/dist/app-support/crypto/aes.spec.js +0 -58
  138. package/dist/app-support/crypto/index.d.ts +0 -16
  139. package/dist/app-support/crypto/index.d.ts.map +0 -1
  140. package/dist/app-support/crypto/index.js +0 -31
  141. package/dist/app-support/crypto/internal-token.d.ts +0 -20
  142. package/dist/app-support/crypto/internal-token.d.ts.map +0 -1
  143. package/dist/app-support/crypto/internal-token.js +0 -42
  144. package/dist/app-support/crypto/internal-token.spec.d.ts +0 -2
  145. package/dist/app-support/crypto/internal-token.spec.d.ts.map +0 -1
  146. package/dist/app-support/crypto/internal-token.spec.js +0 -45
  147. package/dist/app-support/crypto/secret.d.ts +0 -3
  148. package/dist/app-support/crypto/secret.d.ts.map +0 -1
  149. package/dist/app-support/crypto/secret.js +0 -12
  150. package/dist/app-support/crypto/secret.spec.d.ts +0 -2
  151. package/dist/app-support/crypto/secret.spec.d.ts.map +0 -1
  152. package/dist/app-support/crypto/secret.spec.js +0 -15
  153. package/dist/app-support/discovery/dev-discovery-loader.d.ts +0 -2
  154. package/dist/app-support/discovery/dev-discovery-loader.d.ts.map +0 -1
  155. package/dist/app-support/discovery/dev-discovery-loader.js +0 -30
  156. package/dist/app-support/discovery/service-endpoint.d.ts +0 -2
  157. package/dist/app-support/discovery/service-endpoint.d.ts.map +0 -1
  158. package/dist/app-support/discovery/service-endpoint.js +0 -10
  159. package/dist/cli/common.d.ts +0 -89
  160. package/dist/cli/common.d.ts.map +0 -1
  161. package/dist/cli/common.js +0 -246
  162. package/dist/cli/common.spec.d.ts +0 -2
  163. package/dist/cli/common.spec.d.ts.map +0 -1
  164. package/dist/cli/common.spec.js +0 -64
  165. package/dist/cli/core/affected.d.ts +0 -9
  166. package/dist/cli/core/affected.d.ts.map +0 -1
  167. package/dist/cli/core/affected.js +0 -101
  168. package/dist/cli/core/cloudrun.d.ts +0 -9
  169. package/dist/cli/core/cloudrun.d.ts.map +0 -1
  170. package/dist/cli/core/cloudrun.js +0 -119
  171. package/dist/cli/core/console.d.ts +0 -10
  172. package/dist/cli/core/console.d.ts.map +0 -1
  173. package/dist/cli/core/console.js +0 -50
  174. package/dist/cli/core/constant.d.ts +0 -9
  175. package/dist/cli/core/constant.d.ts.map +0 -1
  176. package/dist/cli/core/constant.js +0 -20
  177. package/dist/cli/core/env.d.ts +0 -9
  178. package/dist/cli/core/env.d.ts.map +0 -1
  179. package/dist/cli/core/env.js +0 -65
  180. package/dist/cli/core/exec.d.ts +0 -9
  181. package/dist/cli/core/exec.d.ts.map +0 -1
  182. package/dist/cli/core/exec.js +0 -48
  183. package/dist/cli/core/image.d.ts +0 -9
  184. package/dist/cli/core/image.d.ts.map +0 -1
  185. package/dist/cli/core/image.js +0 -153
  186. package/dist/cli/core/index.d.ts +0 -16
  187. package/dist/cli/core/index.d.ts.map +0 -1
  188. package/dist/cli/core/index.js +0 -15
  189. package/dist/cli/core/init.d.ts +0 -9
  190. package/dist/cli/core/init.d.ts.map +0 -1
  191. package/dist/cli/core/init.js +0 -219
  192. package/dist/cli/core/job.d.ts +0 -9
  193. package/dist/cli/core/job.d.ts.map +0 -1
  194. package/dist/cli/core/job.js +0 -65
  195. package/dist/cli/core/namespace.d.ts +0 -9
  196. package/dist/cli/core/namespace.d.ts.map +0 -1
  197. package/dist/cli/core/namespace.js +0 -67
  198. package/dist/cli/core/prep-build.d.ts +0 -10
  199. package/dist/cli/core/prep-build.d.ts.map +0 -1
  200. package/dist/cli/core/prep-build.js +0 -109
  201. package/dist/cli/core/registry.d.ts +0 -9
  202. package/dist/cli/core/registry.d.ts.map +0 -1
  203. package/dist/cli/core/registry.js +0 -66
  204. package/dist/cli/core/run-many.d.ts +0 -10
  205. package/dist/cli/core/run-many.d.ts.map +0 -1
  206. package/dist/cli/core/run-many.js +0 -48
  207. package/dist/cli/core/run.d.ts +0 -9
  208. package/dist/cli/core/run.d.ts.map +0 -1
  209. package/dist/cli/core/run.js +0 -35
  210. package/dist/cli/core/test.d.ts +0 -9
  211. package/dist/cli/core/test.d.ts.map +0 -1
  212. package/dist/cli/core/test.js +0 -26
  213. package/dist/cli/extensions/dml.d.ts +0 -9
  214. package/dist/cli/extensions/dml.d.ts.map +0 -1
  215. package/dist/cli/extensions/dml.js +0 -114
  216. package/dist/cli/extensions/index.d.ts +0 -9
  217. package/dist/cli/extensions/index.d.ts.map +0 -1
  218. package/dist/cli/extensions/index.js +0 -8
  219. package/dist/cli/extensions/internal-curl.d.ts +0 -10
  220. package/dist/cli/extensions/internal-curl.d.ts.map +0 -1
  221. package/dist/cli/extensions/internal-curl.js +0 -41
  222. package/dist/cli/extensions/jwt.d.ts +0 -9
  223. package/dist/cli/extensions/jwt.d.ts.map +0 -1
  224. package/dist/cli/extensions/jwt.js +0 -25
  225. package/dist/cli/extensions/prisma.d.ts +0 -9
  226. package/dist/cli/extensions/prisma.d.ts.map +0 -1
  227. package/dist/cli/extensions/prisma.js +0 -23
  228. package/dist/cli/extensions/redis-bitnami.d.ts +0 -11
  229. package/dist/cli/extensions/redis-bitnami.d.ts.map +0 -1
  230. package/dist/cli/extensions/redis-bitnami.js +0 -74
  231. package/dist/cli/extensions/redis-ha.d.ts +0 -11
  232. package/dist/cli/extensions/redis-ha.d.ts.map +0 -1
  233. package/dist/cli/extensions/redis-ha.js +0 -51
  234. package/dist/cli/extensions/stackgres.d.ts +0 -10
  235. package/dist/cli/extensions/stackgres.d.ts.map +0 -1
  236. package/dist/cli/extensions/stackgres.js +0 -117
  237. package/dist/cli/extensions/template.d.ts +0 -9
  238. package/dist/cli/extensions/template.d.ts.map +0 -1
  239. package/dist/cli/extensions/template.js +0 -121
  240. package/dist/devops.d.ts.map +0 -1
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/libs/affected-entities.d.ts +0 -15
  243. package/dist/libs/affected-entities.d.ts.map +0 -1
  244. package/dist/libs/affected-entities.js +0 -52
  245. package/dist/libs/cloudrun-helpers.d.ts +0 -16
  246. package/dist/libs/cloudrun-helpers.d.ts.map +0 -1
  247. package/dist/libs/cloudrun-helpers.js +0 -81
  248. package/dist/libs/config.d.ts +0 -7
  249. package/dist/libs/config.d.ts.map +0 -1
  250. package/dist/libs/config.js +0 -102
  251. package/dist/libs/digital-ocean/container-reg.d.ts +0 -6
  252. package/dist/libs/digital-ocean/container-reg.d.ts.map +0 -1
  253. package/dist/libs/digital-ocean/container-reg.js +0 -74
  254. package/dist/libs/discovery/dependencies.d.ts +0 -19
  255. package/dist/libs/discovery/dependencies.d.ts.map +0 -1
  256. package/dist/libs/discovery/dependencies.js +0 -62
  257. package/dist/libs/discovery/dependencies.spec.d.ts +0 -2
  258. package/dist/libs/discovery/dependencies.spec.d.ts.map +0 -1
  259. package/dist/libs/discovery/dependencies.spec.js +0 -21
  260. package/dist/libs/discovery/images.d.ts +0 -5
  261. package/dist/libs/discovery/images.d.ts.map +0 -1
  262. package/dist/libs/discovery/images.js +0 -45
  263. package/dist/libs/discovery/index.d.ts +0 -6
  264. package/dist/libs/discovery/index.d.ts.map +0 -1
  265. package/dist/libs/discovery/index.js +0 -67
  266. package/dist/libs/discovery/process-common.d.ts +0 -25
  267. package/dist/libs/discovery/process-common.d.ts.map +0 -1
  268. package/dist/libs/discovery/process-common.js +0 -40
  269. package/dist/libs/discovery/process-package-json.d.ts +0 -3
  270. package/dist/libs/discovery/process-package-json.d.ts.map +0 -1
  271. package/dist/libs/discovery/process-package-json.js +0 -40
  272. package/dist/libs/discovery/process-pyproject-toml.d.ts +0 -3
  273. package/dist/libs/discovery/process-pyproject-toml.d.ts.map +0 -1
  274. package/dist/libs/discovery/process-pyproject-toml.js +0 -49
  275. package/dist/libs/git-helpers.d.ts +0 -8
  276. package/dist/libs/git-helpers.d.ts.map +0 -1
  277. package/dist/libs/git-helpers.js +0 -20
  278. package/dist/libs/hetzner/reg-secret.d.ts +0 -3
  279. package/dist/libs/hetzner/reg-secret.d.ts.map +0 -1
  280. package/dist/libs/hetzner/reg-secret.js +0 -39
  281. package/dist/libs/init-generator.d.ts +0 -41
  282. package/dist/libs/init-generator.d.ts.map +0 -1
  283. package/dist/libs/init-generator.js +0 -123
  284. package/dist/libs/k8s-constants.d.ts +0 -13
  285. package/dist/libs/k8s-constants.d.ts.map +0 -1
  286. package/dist/libs/k8s-constants.js +0 -91
  287. package/dist/libs/k8s-db.d.ts +0 -18
  288. package/dist/libs/k8s-db.d.ts.map +0 -1
  289. package/dist/libs/k8s-db.js +0 -73
  290. package/dist/libs/k8s-generate.d.ts +0 -17
  291. package/dist/libs/k8s-generate.d.ts.map +0 -1
  292. package/dist/libs/k8s-generate.js +0 -193
  293. package/dist/libs/k8s-helpers.d.ts +0 -11
  294. package/dist/libs/k8s-helpers.d.ts.map +0 -1
  295. package/dist/libs/k8s-helpers.js +0 -42
  296. package/dist/libs/k8s-image-config.d.ts +0 -8
  297. package/dist/libs/k8s-image-config.d.ts.map +0 -1
  298. package/dist/libs/k8s-image-config.js +0 -113
  299. package/dist/libs/k8s-job-waiter.d.ts +0 -8
  300. package/dist/libs/k8s-job-waiter.d.ts.map +0 -1
  301. package/dist/libs/k8s-job-waiter.js +0 -84
  302. package/dist/libs/k8s-namespace.d.ts +0 -7
  303. package/dist/libs/k8s-namespace.d.ts.map +0 -1
  304. package/dist/libs/k8s-namespace.js +0 -27
  305. package/dist/libs/k8s-redis-bitnami.d.ts +0 -6
  306. package/dist/libs/k8s-redis-bitnami.d.ts.map +0 -1
  307. package/dist/libs/k8s-redis-bitnami.js +0 -31
  308. package/dist/libs/k8s-redis-ha.d.ts +0 -3
  309. package/dist/libs/k8s-redis-ha.d.ts.map +0 -1
  310. package/dist/libs/k8s-redis-ha.js +0 -15
  311. package/dist/libs/k8s-secrets-manager.d.ts +0 -6
  312. package/dist/libs/k8s-secrets-manager.d.ts.map +0 -1
  313. package/dist/libs/k8s-secrets-manager.js +0 -64
  314. package/dist/libs/validate-env.d.ts +0 -56
  315. package/dist/libs/validate-env.d.ts.map +0 -1
  316. package/dist/libs/validate-env.js +0 -214
  317. package/dist/libs/validate-env.spec.d.ts +0 -2
  318. package/dist/libs/validate-env.spec.d.ts.map +0 -1
  319. package/dist/libs/validate-env.spec.js +0 -168
  320. package/dist/plugins.d.ts.map +0 -1
  321. package/dist/types/index.d.ts +0 -939
  322. package/dist/types/index.d.ts.map +0 -1
  323. package/dist/types/index.js +0 -82
package/dist/index.d.ts CHANGED
@@ -1,4 +1,972 @@
1
- export * from "./types/index";
2
- export * from "./app-support/discovery/service-endpoint";
3
- export * from "./app-support/crypto";
4
- //# sourceMappingURL=index.d.ts.map
1
+ import { z } from 'zod';
2
+
3
+ declare const SUPPORTED_LANGUAGES: readonly ["python", "node"];
4
+ type SupportedLanguages = typeof SUPPORTED_LANGUAGES[number];
5
+ declare const constFileSchema: z.ZodObject<{
6
+ "project-name": z.ZodString;
7
+ infra: z.ZodEnum<["hetzner", "digitalocean", "gcloud"]>;
8
+ "image-versions-to-keep": z.ZodOptional<z.ZodNumber>;
9
+ "registry-base-url": z.ZodString;
10
+ "registry-image-path-prefix": z.ZodOptional<z.ZodString>;
11
+ "cloudrun-artifact-registry-repo-path": z.ZodOptional<z.ZodString>;
12
+ "extra-remote-environments": z.ZodArray<z.ZodString, "many">;
13
+ "extra-local-environments": z.ZodArray<z.ZodString, "many">;
14
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ "project-name": string;
17
+ infra: "hetzner" | "digitalocean" | "gcloud";
18
+ "registry-base-url": string;
19
+ "extra-remote-environments": string[];
20
+ "extra-local-environments": string[];
21
+ "image-versions-to-keep"?: number | undefined;
22
+ "registry-image-path-prefix"?: string | undefined;
23
+ "cloudrun-artifact-registry-repo-path"?: string | undefined;
24
+ extensions?: string[] | undefined;
25
+ }, {
26
+ "project-name": string;
27
+ infra: "hetzner" | "digitalocean" | "gcloud";
28
+ "registry-base-url": string;
29
+ "extra-remote-environments": string[];
30
+ "extra-local-environments": string[];
31
+ "image-versions-to-keep"?: number | undefined;
32
+ "registry-image-path-prefix"?: string | undefined;
33
+ "cloudrun-artifact-registry-repo-path"?: string | undefined;
34
+ extensions?: string[] | undefined;
35
+ }>;
36
+ type ConstFileSchema = z.infer<typeof constFileSchema>;
37
+ declare const singleTemplateSchema: z.ZodObject<{
38
+ "copy-common": z.ZodOptional<z.ZodBoolean>;
39
+ "extra-content": z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ "copy-common"?: boolean | undefined;
42
+ "extra-content"?: string[] | undefined;
43
+ }, {
44
+ "copy-common"?: boolean | undefined;
45
+ "extra-content"?: string[] | undefined;
46
+ }>;
47
+ type SingleTemplateSchema = z.infer<typeof singleTemplateSchema>;
48
+ declare const singleImageSchema: z.ZodObject<{
49
+ "image-template": z.ZodString;
50
+ language: z.ZodEnum<["python", "node"]>;
51
+ domains: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
52
+ "debug-template": z.ZodOptional<z.ZodString>;
53
+ cloudrun: z.ZodOptional<z.ZodBoolean>;
54
+ "can-db-migrate": z.ZodOptional<z.ZodBoolean>;
55
+ applications: z.ZodArray<z.ZodString, "many">;
56
+ }, "strip", z.ZodTypeAny, {
57
+ "image-template": string;
58
+ language: "python" | "node";
59
+ applications: string[];
60
+ domains?: Record<string, string> | undefined;
61
+ "debug-template"?: string | undefined;
62
+ cloudrun?: boolean | undefined;
63
+ "can-db-migrate"?: boolean | undefined;
64
+ }, {
65
+ "image-template": string;
66
+ language: "python" | "node";
67
+ applications: string[];
68
+ domains?: Record<string, string> | undefined;
69
+ "debug-template"?: string | undefined;
70
+ cloudrun?: boolean | undefined;
71
+ "can-db-migrate"?: boolean | undefined;
72
+ }>;
73
+ type SingleImageSchema = z.infer<typeof singleImageSchema>;
74
+ declare const imageFileSchema: z.ZodObject<{
75
+ templates: z.ZodRecord<z.ZodString, z.ZodObject<{
76
+ "copy-common": z.ZodOptional<z.ZodBoolean>;
77
+ "extra-content": z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ "copy-common"?: boolean | undefined;
80
+ "extra-content"?: string[] | undefined;
81
+ }, {
82
+ "copy-common"?: boolean | undefined;
83
+ "extra-content"?: string[] | undefined;
84
+ }>>;
85
+ images: z.ZodRecord<z.ZodString, z.ZodObject<{
86
+ "image-template": z.ZodString;
87
+ language: z.ZodEnum<["python", "node"]>;
88
+ domains: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ "debug-template": z.ZodOptional<z.ZodString>;
90
+ cloudrun: z.ZodOptional<z.ZodBoolean>;
91
+ "can-db-migrate": z.ZodOptional<z.ZodBoolean>;
92
+ applications: z.ZodArray<z.ZodString, "many">;
93
+ }, "strip", z.ZodTypeAny, {
94
+ "image-template": string;
95
+ language: "python" | "node";
96
+ applications: string[];
97
+ domains?: Record<string, string> | undefined;
98
+ "debug-template"?: string | undefined;
99
+ cloudrun?: boolean | undefined;
100
+ "can-db-migrate"?: boolean | undefined;
101
+ }, {
102
+ "image-template": string;
103
+ language: "python" | "node";
104
+ applications: string[];
105
+ domains?: Record<string, string> | undefined;
106
+ "debug-template"?: string | undefined;
107
+ cloudrun?: boolean | undefined;
108
+ "can-db-migrate"?: boolean | undefined;
109
+ }>>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ templates: Record<string, {
112
+ "copy-common"?: boolean | undefined;
113
+ "extra-content"?: string[] | undefined;
114
+ }>;
115
+ images: Record<string, {
116
+ "image-template": string;
117
+ language: "python" | "node";
118
+ applications: string[];
119
+ domains?: Record<string, string> | undefined;
120
+ "debug-template"?: string | undefined;
121
+ cloudrun?: boolean | undefined;
122
+ "can-db-migrate"?: boolean | undefined;
123
+ }>;
124
+ }, {
125
+ templates: Record<string, {
126
+ "copy-common"?: boolean | undefined;
127
+ "extra-content"?: string[] | undefined;
128
+ }>;
129
+ images: Record<string, {
130
+ "image-template": string;
131
+ language: "python" | "node";
132
+ applications: string[];
133
+ domains?: Record<string, string> | undefined;
134
+ "debug-template"?: string | undefined;
135
+ cloudrun?: boolean | undefined;
136
+ "can-db-migrate"?: boolean | undefined;
137
+ }>;
138
+ }>;
139
+ type ImageFileSchema = z.infer<typeof imageFileSchema>;
140
+ type WorkspaceIndex = Record<string, WorkspaceIndexEntry>;
141
+ type WorkspaceIndexEntry = {
142
+ rootPath: string;
143
+ packageDataEntries: PackageData[];
144
+ };
145
+ type PackageData = Omit<PackageFileNode, 'dependencies'> & {
146
+ rootPath: string;
147
+ language: SupportedLanguages;
148
+ /** The list of monorepo-internal packages this project depends on */
149
+ dependencyNames: string[];
150
+ };
151
+ declare const deploymentSchema: z.ZodObject<{
152
+ /** The name of the composite template to build in order to support this deployment */
153
+ template: z.ZodString;
154
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
155
+ app_name: z.ZodOptional<z.ZodString>;
156
+ /** This will be the name of the internal service used for intra-cluster communication */
157
+ service_name: z.ZodOptional<z.ZodString>;
158
+ /** For services, the port to expose */
159
+ port: z.ZodOptional<z.ZodNumber>;
160
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
161
+ subdomain: z.ZodOptional<z.ZodString>;
162
+ /** For cron jobs */
163
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
164
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
165
+ name: z.ZodOptional<z.ZodString>;
166
+ /** The cron schedule */
167
+ cron: z.ZodOptional<z.ZodString>;
168
+ /** The curl command to invoke. Must be an array. */
169
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ name?: string | undefined;
172
+ cron?: string | undefined;
173
+ curl?: string[] | undefined;
174
+ }, {
175
+ name?: string | undefined;
176
+ cron?: string | undefined;
177
+ curl?: string[] | undefined;
178
+ }>, "many">>;
179
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
180
+ /** The name of the container inside the prefect pod */
181
+ flow_name: z.ZodString;
182
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
183
+ script_path: z.ZodString;
184
+ }, "strip", z.ZodTypeAny, {
185
+ flow_name: string;
186
+ script_path: string;
187
+ }, {
188
+ flow_name: string;
189
+ script_path: string;
190
+ }>, "many">>;
191
+ }, "strip", z.ZodAny, z.objectOutputType<{
192
+ /** The name of the composite template to build in order to support this deployment */
193
+ template: z.ZodString;
194
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
195
+ app_name: z.ZodOptional<z.ZodString>;
196
+ /** This will be the name of the internal service used for intra-cluster communication */
197
+ service_name: z.ZodOptional<z.ZodString>;
198
+ /** For services, the port to expose */
199
+ port: z.ZodOptional<z.ZodNumber>;
200
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
201
+ subdomain: z.ZodOptional<z.ZodString>;
202
+ /** For cron jobs */
203
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
204
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
205
+ name: z.ZodOptional<z.ZodString>;
206
+ /** The cron schedule */
207
+ cron: z.ZodOptional<z.ZodString>;
208
+ /** The curl command to invoke. Must be an array. */
209
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ name?: string | undefined;
212
+ cron?: string | undefined;
213
+ curl?: string[] | undefined;
214
+ }, {
215
+ name?: string | undefined;
216
+ cron?: string | undefined;
217
+ curl?: string[] | undefined;
218
+ }>, "many">>;
219
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ /** The name of the container inside the prefect pod */
221
+ flow_name: z.ZodString;
222
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
223
+ script_path: z.ZodString;
224
+ }, "strip", z.ZodTypeAny, {
225
+ flow_name: string;
226
+ script_path: string;
227
+ }, {
228
+ flow_name: string;
229
+ script_path: string;
230
+ }>, "many">>;
231
+ }, z.ZodAny, "strip">, z.objectInputType<{
232
+ /** The name of the composite template to build in order to support this deployment */
233
+ template: z.ZodString;
234
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
235
+ app_name: z.ZodOptional<z.ZodString>;
236
+ /** This will be the name of the internal service used for intra-cluster communication */
237
+ service_name: z.ZodOptional<z.ZodString>;
238
+ /** For services, the port to expose */
239
+ port: z.ZodOptional<z.ZodNumber>;
240
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
241
+ subdomain: z.ZodOptional<z.ZodString>;
242
+ /** For cron jobs */
243
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
244
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
245
+ name: z.ZodOptional<z.ZodString>;
246
+ /** The cron schedule */
247
+ cron: z.ZodOptional<z.ZodString>;
248
+ /** The curl command to invoke. Must be an array. */
249
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
250
+ }, "strip", z.ZodTypeAny, {
251
+ name?: string | undefined;
252
+ cron?: string | undefined;
253
+ curl?: string[] | undefined;
254
+ }, {
255
+ name?: string | undefined;
256
+ cron?: string | undefined;
257
+ curl?: string[] | undefined;
258
+ }>, "many">>;
259
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
260
+ /** The name of the container inside the prefect pod */
261
+ flow_name: z.ZodString;
262
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
263
+ script_path: z.ZodString;
264
+ }, "strip", z.ZodTypeAny, {
265
+ flow_name: string;
266
+ script_path: string;
267
+ }, {
268
+ flow_name: string;
269
+ script_path: string;
270
+ }>, "many">>;
271
+ }, z.ZodAny, "strip">>;
272
+ type Deployment = z.infer<typeof deploymentSchema>;
273
+ declare const packageFileNodeSchema: z.ZodObject<{
274
+ /** This is considered the project name */
275
+ name: z.ZodString;
276
+ /** Scripts exposed by this project. */
277
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
278
+ /** The dependencies of the project */
279
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
280
+ /** When a deployment data is available, a k8s deployment is created */
281
+ deployment: z.ZodOptional<z.ZodObject<{
282
+ /** The name of the composite template to build in order to support this deployment */
283
+ template: z.ZodString;
284
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
285
+ app_name: z.ZodOptional<z.ZodString>;
286
+ /** This will be the name of the internal service used for intra-cluster communication */
287
+ service_name: z.ZodOptional<z.ZodString>;
288
+ /** For services, the port to expose */
289
+ port: z.ZodOptional<z.ZodNumber>;
290
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
291
+ subdomain: z.ZodOptional<z.ZodString>;
292
+ /** For cron jobs */
293
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
294
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
295
+ name: z.ZodOptional<z.ZodString>;
296
+ /** The cron schedule */
297
+ cron: z.ZodOptional<z.ZodString>;
298
+ /** The curl command to invoke. Must be an array. */
299
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
300
+ }, "strip", z.ZodTypeAny, {
301
+ name?: string | undefined;
302
+ cron?: string | undefined;
303
+ curl?: string[] | undefined;
304
+ }, {
305
+ name?: string | undefined;
306
+ cron?: string | undefined;
307
+ curl?: string[] | undefined;
308
+ }>, "many">>;
309
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
310
+ /** The name of the container inside the prefect pod */
311
+ flow_name: z.ZodString;
312
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
313
+ script_path: z.ZodString;
314
+ }, "strip", z.ZodTypeAny, {
315
+ flow_name: string;
316
+ script_path: string;
317
+ }, {
318
+ flow_name: string;
319
+ script_path: string;
320
+ }>, "many">>;
321
+ }, "strip", z.ZodAny, z.objectOutputType<{
322
+ /** The name of the composite template to build in order to support this deployment */
323
+ template: z.ZodString;
324
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
325
+ app_name: z.ZodOptional<z.ZodString>;
326
+ /** This will be the name of the internal service used for intra-cluster communication */
327
+ service_name: z.ZodOptional<z.ZodString>;
328
+ /** For services, the port to expose */
329
+ port: z.ZodOptional<z.ZodNumber>;
330
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
331
+ subdomain: z.ZodOptional<z.ZodString>;
332
+ /** For cron jobs */
333
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
334
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
335
+ name: z.ZodOptional<z.ZodString>;
336
+ /** The cron schedule */
337
+ cron: z.ZodOptional<z.ZodString>;
338
+ /** The curl command to invoke. Must be an array. */
339
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
340
+ }, "strip", z.ZodTypeAny, {
341
+ name?: string | undefined;
342
+ cron?: string | undefined;
343
+ curl?: string[] | undefined;
344
+ }, {
345
+ name?: string | undefined;
346
+ cron?: string | undefined;
347
+ curl?: string[] | undefined;
348
+ }>, "many">>;
349
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
350
+ /** The name of the container inside the prefect pod */
351
+ flow_name: z.ZodString;
352
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
353
+ script_path: z.ZodString;
354
+ }, "strip", z.ZodTypeAny, {
355
+ flow_name: string;
356
+ script_path: string;
357
+ }, {
358
+ flow_name: string;
359
+ script_path: string;
360
+ }>, "many">>;
361
+ }, z.ZodAny, "strip">, z.objectInputType<{
362
+ /** The name of the composite template to build in order to support this deployment */
363
+ template: z.ZodString;
364
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
365
+ app_name: z.ZodOptional<z.ZodString>;
366
+ /** This will be the name of the internal service used for intra-cluster communication */
367
+ service_name: z.ZodOptional<z.ZodString>;
368
+ /** For services, the port to expose */
369
+ port: z.ZodOptional<z.ZodNumber>;
370
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
371
+ subdomain: z.ZodOptional<z.ZodString>;
372
+ /** For cron jobs */
373
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
374
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
375
+ name: z.ZodOptional<z.ZodString>;
376
+ /** The cron schedule */
377
+ cron: z.ZodOptional<z.ZodString>;
378
+ /** The curl command to invoke. Must be an array. */
379
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
380
+ }, "strip", z.ZodTypeAny, {
381
+ name?: string | undefined;
382
+ cron?: string | undefined;
383
+ curl?: string[] | undefined;
384
+ }, {
385
+ name?: string | undefined;
386
+ cron?: string | undefined;
387
+ curl?: string[] | undefined;
388
+ }>, "many">>;
389
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
390
+ /** The name of the container inside the prefect pod */
391
+ flow_name: z.ZodString;
392
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
393
+ script_path: z.ZodString;
394
+ }, "strip", z.ZodTypeAny, {
395
+ flow_name: string;
396
+ script_path: string;
397
+ }, {
398
+ flow_name: string;
399
+ script_path: string;
400
+ }>, "many">>;
401
+ }, z.ZodAny, "strip">>>;
402
+ }, "strip", z.ZodTypeAny, {
403
+ name: string;
404
+ scripts?: Record<string, string> | undefined;
405
+ dependencies?: Record<string, string> | undefined;
406
+ deployment?: z.objectOutputType<{
407
+ /** The name of the composite template to build in order to support this deployment */
408
+ template: z.ZodString;
409
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
410
+ app_name: z.ZodOptional<z.ZodString>;
411
+ /** This will be the name of the internal service used for intra-cluster communication */
412
+ service_name: z.ZodOptional<z.ZodString>;
413
+ /** For services, the port to expose */
414
+ port: z.ZodOptional<z.ZodNumber>;
415
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
416
+ subdomain: z.ZodOptional<z.ZodString>;
417
+ /** For cron jobs */
418
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
419
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
420
+ name: z.ZodOptional<z.ZodString>;
421
+ /** The cron schedule */
422
+ cron: z.ZodOptional<z.ZodString>;
423
+ /** The curl command to invoke. Must be an array. */
424
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
425
+ }, "strip", z.ZodTypeAny, {
426
+ name?: string | undefined;
427
+ cron?: string | undefined;
428
+ curl?: string[] | undefined;
429
+ }, {
430
+ name?: string | undefined;
431
+ cron?: string | undefined;
432
+ curl?: string[] | undefined;
433
+ }>, "many">>;
434
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
435
+ /** The name of the container inside the prefect pod */
436
+ flow_name: z.ZodString;
437
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
438
+ script_path: z.ZodString;
439
+ }, "strip", z.ZodTypeAny, {
440
+ flow_name: string;
441
+ script_path: string;
442
+ }, {
443
+ flow_name: string;
444
+ script_path: string;
445
+ }>, "many">>;
446
+ }, z.ZodAny, "strip"> | undefined;
447
+ }, {
448
+ name: string;
449
+ scripts?: Record<string, string> | undefined;
450
+ dependencies?: Record<string, string> | undefined;
451
+ deployment?: z.objectInputType<{
452
+ /** The name of the composite template to build in order to support this deployment */
453
+ template: z.ZodString;
454
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
455
+ app_name: z.ZodOptional<z.ZodString>;
456
+ /** This will be the name of the internal service used for intra-cluster communication */
457
+ service_name: z.ZodOptional<z.ZodString>;
458
+ /** For services, the port to expose */
459
+ port: z.ZodOptional<z.ZodNumber>;
460
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
461
+ subdomain: z.ZodOptional<z.ZodString>;
462
+ /** For cron jobs */
463
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
464
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
465
+ name: z.ZodOptional<z.ZodString>;
466
+ /** The cron schedule */
467
+ cron: z.ZodOptional<z.ZodString>;
468
+ /** The curl command to invoke. Must be an array. */
469
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ name?: string | undefined;
472
+ cron?: string | undefined;
473
+ curl?: string[] | undefined;
474
+ }, {
475
+ name?: string | undefined;
476
+ cron?: string | undefined;
477
+ curl?: string[] | undefined;
478
+ }>, "many">>;
479
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
480
+ /** The name of the container inside the prefect pod */
481
+ flow_name: z.ZodString;
482
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
483
+ script_path: z.ZodString;
484
+ }, "strip", z.ZodTypeAny, {
485
+ flow_name: string;
486
+ script_path: string;
487
+ }, {
488
+ flow_name: string;
489
+ script_path: string;
490
+ }>, "many">>;
491
+ }, z.ZodAny, "strip"> | undefined;
492
+ }>;
493
+ type PackageFileNode = z.infer<typeof packageFileNodeSchema>;
494
+ declare const packageFilePythonSchema: z.ZodObject<{
495
+ project: z.ZodObject<{
496
+ name: z.ZodString;
497
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
498
+ }, "strip", z.ZodTypeAny, {
499
+ name: string;
500
+ dependencies?: string[] | undefined;
501
+ }, {
502
+ name: string;
503
+ dependencies?: string[] | undefined;
504
+ }>;
505
+ tool: z.ZodOptional<z.ZodObject<{
506
+ devops: z.ZodOptional<z.ZodObject<{
507
+ deployment: z.ZodOptional<z.ZodObject<{
508
+ /** The name of the composite template to build in order to support this deployment */
509
+ template: z.ZodString;
510
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
511
+ app_name: z.ZodOptional<z.ZodString>;
512
+ /** This will be the name of the internal service used for intra-cluster communication */
513
+ service_name: z.ZodOptional<z.ZodString>;
514
+ /** For services, the port to expose */
515
+ port: z.ZodOptional<z.ZodNumber>;
516
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
517
+ subdomain: z.ZodOptional<z.ZodString>;
518
+ /** For cron jobs */
519
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
520
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
521
+ name: z.ZodOptional<z.ZodString>;
522
+ /** The cron schedule */
523
+ cron: z.ZodOptional<z.ZodString>;
524
+ /** The curl command to invoke. Must be an array. */
525
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
526
+ }, "strip", z.ZodTypeAny, {
527
+ name?: string | undefined;
528
+ cron?: string | undefined;
529
+ curl?: string[] | undefined;
530
+ }, {
531
+ name?: string | undefined;
532
+ cron?: string | undefined;
533
+ curl?: string[] | undefined;
534
+ }>, "many">>;
535
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
536
+ /** The name of the container inside the prefect pod */
537
+ flow_name: z.ZodString;
538
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
539
+ script_path: z.ZodString;
540
+ }, "strip", z.ZodTypeAny, {
541
+ flow_name: string;
542
+ script_path: string;
543
+ }, {
544
+ flow_name: string;
545
+ script_path: string;
546
+ }>, "many">>;
547
+ }, "strip", z.ZodAny, z.objectOutputType<{
548
+ /** The name of the composite template to build in order to support this deployment */
549
+ template: z.ZodString;
550
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
551
+ app_name: z.ZodOptional<z.ZodString>;
552
+ /** This will be the name of the internal service used for intra-cluster communication */
553
+ service_name: z.ZodOptional<z.ZodString>;
554
+ /** For services, the port to expose */
555
+ port: z.ZodOptional<z.ZodNumber>;
556
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
557
+ subdomain: z.ZodOptional<z.ZodString>;
558
+ /** For cron jobs */
559
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
560
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
561
+ name: z.ZodOptional<z.ZodString>;
562
+ /** The cron schedule */
563
+ cron: z.ZodOptional<z.ZodString>;
564
+ /** The curl command to invoke. Must be an array. */
565
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ name?: string | undefined;
568
+ cron?: string | undefined;
569
+ curl?: string[] | undefined;
570
+ }, {
571
+ name?: string | undefined;
572
+ cron?: string | undefined;
573
+ curl?: string[] | undefined;
574
+ }>, "many">>;
575
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
576
+ /** The name of the container inside the prefect pod */
577
+ flow_name: z.ZodString;
578
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
579
+ script_path: z.ZodString;
580
+ }, "strip", z.ZodTypeAny, {
581
+ flow_name: string;
582
+ script_path: string;
583
+ }, {
584
+ flow_name: string;
585
+ script_path: string;
586
+ }>, "many">>;
587
+ }, z.ZodAny, "strip">, z.objectInputType<{
588
+ /** The name of the composite template to build in order to support this deployment */
589
+ template: z.ZodString;
590
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
591
+ app_name: z.ZodOptional<z.ZodString>;
592
+ /** This will be the name of the internal service used for intra-cluster communication */
593
+ service_name: z.ZodOptional<z.ZodString>;
594
+ /** For services, the port to expose */
595
+ port: z.ZodOptional<z.ZodNumber>;
596
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
597
+ subdomain: z.ZodOptional<z.ZodString>;
598
+ /** For cron jobs */
599
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
600
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
601
+ name: z.ZodOptional<z.ZodString>;
602
+ /** The cron schedule */
603
+ cron: z.ZodOptional<z.ZodString>;
604
+ /** The curl command to invoke. Must be an array. */
605
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ name?: string | undefined;
608
+ cron?: string | undefined;
609
+ curl?: string[] | undefined;
610
+ }, {
611
+ name?: string | undefined;
612
+ cron?: string | undefined;
613
+ curl?: string[] | undefined;
614
+ }>, "many">>;
615
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
616
+ /** The name of the container inside the prefect pod */
617
+ flow_name: z.ZodString;
618
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
619
+ script_path: z.ZodString;
620
+ }, "strip", z.ZodTypeAny, {
621
+ flow_name: string;
622
+ script_path: string;
623
+ }, {
624
+ flow_name: string;
625
+ script_path: string;
626
+ }>, "many">>;
627
+ }, z.ZodAny, "strip">>>;
628
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
629
+ }, "strip", z.ZodTypeAny, {
630
+ scripts?: Record<string, string> | undefined;
631
+ deployment?: z.objectOutputType<{
632
+ /** The name of the composite template to build in order to support this deployment */
633
+ template: z.ZodString;
634
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
635
+ app_name: z.ZodOptional<z.ZodString>;
636
+ /** This will be the name of the internal service used for intra-cluster communication */
637
+ service_name: z.ZodOptional<z.ZodString>;
638
+ /** For services, the port to expose */
639
+ port: z.ZodOptional<z.ZodNumber>;
640
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
641
+ subdomain: z.ZodOptional<z.ZodString>;
642
+ /** For cron jobs */
643
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
644
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
645
+ name: z.ZodOptional<z.ZodString>;
646
+ /** The cron schedule */
647
+ cron: z.ZodOptional<z.ZodString>;
648
+ /** The curl command to invoke. Must be an array. */
649
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
650
+ }, "strip", z.ZodTypeAny, {
651
+ name?: string | undefined;
652
+ cron?: string | undefined;
653
+ curl?: string[] | undefined;
654
+ }, {
655
+ name?: string | undefined;
656
+ cron?: string | undefined;
657
+ curl?: string[] | undefined;
658
+ }>, "many">>;
659
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
660
+ /** The name of the container inside the prefect pod */
661
+ flow_name: z.ZodString;
662
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
663
+ script_path: z.ZodString;
664
+ }, "strip", z.ZodTypeAny, {
665
+ flow_name: string;
666
+ script_path: string;
667
+ }, {
668
+ flow_name: string;
669
+ script_path: string;
670
+ }>, "many">>;
671
+ }, z.ZodAny, "strip"> | undefined;
672
+ }, {
673
+ scripts?: Record<string, string> | undefined;
674
+ deployment?: z.objectInputType<{
675
+ /** The name of the composite template to build in order to support this deployment */
676
+ template: z.ZodString;
677
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
678
+ app_name: z.ZodOptional<z.ZodString>;
679
+ /** This will be the name of the internal service used for intra-cluster communication */
680
+ service_name: z.ZodOptional<z.ZodString>;
681
+ /** For services, the port to expose */
682
+ port: z.ZodOptional<z.ZodNumber>;
683
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
684
+ subdomain: z.ZodOptional<z.ZodString>;
685
+ /** For cron jobs */
686
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
687
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
688
+ name: z.ZodOptional<z.ZodString>;
689
+ /** The cron schedule */
690
+ cron: z.ZodOptional<z.ZodString>;
691
+ /** The curl command to invoke. Must be an array. */
692
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
693
+ }, "strip", z.ZodTypeAny, {
694
+ name?: string | undefined;
695
+ cron?: string | undefined;
696
+ curl?: string[] | undefined;
697
+ }, {
698
+ name?: string | undefined;
699
+ cron?: string | undefined;
700
+ curl?: string[] | undefined;
701
+ }>, "many">>;
702
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
703
+ /** The name of the container inside the prefect pod */
704
+ flow_name: z.ZodString;
705
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
706
+ script_path: z.ZodString;
707
+ }, "strip", z.ZodTypeAny, {
708
+ flow_name: string;
709
+ script_path: string;
710
+ }, {
711
+ flow_name: string;
712
+ script_path: string;
713
+ }>, "many">>;
714
+ }, z.ZodAny, "strip"> | undefined;
715
+ }>>;
716
+ }, "strip", z.ZodTypeAny, {
717
+ devops?: {
718
+ scripts?: Record<string, string> | undefined;
719
+ deployment?: z.objectOutputType<{
720
+ /** The name of the composite template to build in order to support this deployment */
721
+ template: z.ZodString;
722
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
723
+ app_name: z.ZodOptional<z.ZodString>;
724
+ /** This will be the name of the internal service used for intra-cluster communication */
725
+ service_name: z.ZodOptional<z.ZodString>;
726
+ /** For services, the port to expose */
727
+ port: z.ZodOptional<z.ZodNumber>;
728
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
729
+ subdomain: z.ZodOptional<z.ZodString>;
730
+ /** For cron jobs */
731
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
732
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
733
+ name: z.ZodOptional<z.ZodString>;
734
+ /** The cron schedule */
735
+ cron: z.ZodOptional<z.ZodString>;
736
+ /** The curl command to invoke. Must be an array. */
737
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
738
+ }, "strip", z.ZodTypeAny, {
739
+ name?: string | undefined;
740
+ cron?: string | undefined;
741
+ curl?: string[] | undefined;
742
+ }, {
743
+ name?: string | undefined;
744
+ cron?: string | undefined;
745
+ curl?: string[] | undefined;
746
+ }>, "many">>;
747
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
748
+ /** The name of the container inside the prefect pod */
749
+ flow_name: z.ZodString;
750
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
751
+ script_path: z.ZodString;
752
+ }, "strip", z.ZodTypeAny, {
753
+ flow_name: string;
754
+ script_path: string;
755
+ }, {
756
+ flow_name: string;
757
+ script_path: string;
758
+ }>, "many">>;
759
+ }, z.ZodAny, "strip"> | undefined;
760
+ } | undefined;
761
+ }, {
762
+ devops?: {
763
+ scripts?: Record<string, string> | undefined;
764
+ deployment?: z.objectInputType<{
765
+ /** The name of the composite template to build in order to support this deployment */
766
+ template: z.ZodString;
767
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
768
+ app_name: z.ZodOptional<z.ZodString>;
769
+ /** This will be the name of the internal service used for intra-cluster communication */
770
+ service_name: z.ZodOptional<z.ZodString>;
771
+ /** For services, the port to expose */
772
+ port: z.ZodOptional<z.ZodNumber>;
773
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
774
+ subdomain: z.ZodOptional<z.ZodString>;
775
+ /** For cron jobs */
776
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
777
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
778
+ name: z.ZodOptional<z.ZodString>;
779
+ /** The cron schedule */
780
+ cron: z.ZodOptional<z.ZodString>;
781
+ /** The curl command to invoke. Must be an array. */
782
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
783
+ }, "strip", z.ZodTypeAny, {
784
+ name?: string | undefined;
785
+ cron?: string | undefined;
786
+ curl?: string[] | undefined;
787
+ }, {
788
+ name?: string | undefined;
789
+ cron?: string | undefined;
790
+ curl?: string[] | undefined;
791
+ }>, "many">>;
792
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
793
+ /** The name of the container inside the prefect pod */
794
+ flow_name: z.ZodString;
795
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
796
+ script_path: z.ZodString;
797
+ }, "strip", z.ZodTypeAny, {
798
+ flow_name: string;
799
+ script_path: string;
800
+ }, {
801
+ flow_name: string;
802
+ script_path: string;
803
+ }>, "many">>;
804
+ }, z.ZodAny, "strip"> | undefined;
805
+ } | undefined;
806
+ }>>;
807
+ }, "strip", z.ZodTypeAny, {
808
+ project: {
809
+ name: string;
810
+ dependencies?: string[] | undefined;
811
+ };
812
+ tool?: {
813
+ devops?: {
814
+ scripts?: Record<string, string> | undefined;
815
+ deployment?: z.objectOutputType<{
816
+ /** The name of the composite template to build in order to support this deployment */
817
+ template: z.ZodString;
818
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
819
+ app_name: z.ZodOptional<z.ZodString>;
820
+ /** This will be the name of the internal service used for intra-cluster communication */
821
+ service_name: z.ZodOptional<z.ZodString>;
822
+ /** For services, the port to expose */
823
+ port: z.ZodOptional<z.ZodNumber>;
824
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
825
+ subdomain: z.ZodOptional<z.ZodString>;
826
+ /** For cron jobs */
827
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
828
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
829
+ name: z.ZodOptional<z.ZodString>;
830
+ /** The cron schedule */
831
+ cron: z.ZodOptional<z.ZodString>;
832
+ /** The curl command to invoke. Must be an array. */
833
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
834
+ }, "strip", z.ZodTypeAny, {
835
+ name?: string | undefined;
836
+ cron?: string | undefined;
837
+ curl?: string[] | undefined;
838
+ }, {
839
+ name?: string | undefined;
840
+ cron?: string | undefined;
841
+ curl?: string[] | undefined;
842
+ }>, "many">>;
843
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
844
+ /** The name of the container inside the prefect pod */
845
+ flow_name: z.ZodString;
846
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
847
+ script_path: z.ZodString;
848
+ }, "strip", z.ZodTypeAny, {
849
+ flow_name: string;
850
+ script_path: string;
851
+ }, {
852
+ flow_name: string;
853
+ script_path: string;
854
+ }>, "many">>;
855
+ }, z.ZodAny, "strip"> | undefined;
856
+ } | undefined;
857
+ } | undefined;
858
+ }, {
859
+ project: {
860
+ name: string;
861
+ dependencies?: string[] | undefined;
862
+ };
863
+ tool?: {
864
+ devops?: {
865
+ scripts?: Record<string, string> | undefined;
866
+ deployment?: z.objectInputType<{
867
+ /** The name of the composite template to build in order to support this deployment */
868
+ template: z.ZodString;
869
+ /** The name used by kubernetes objects. If ommitted, the name field from the enclosing context (e.g. package.json) is used. */
870
+ app_name: z.ZodOptional<z.ZodString>;
871
+ /** This will be the name of the internal service used for intra-cluster communication */
872
+ service_name: z.ZodOptional<z.ZodString>;
873
+ /** For services, the port to expose */
874
+ port: z.ZodOptional<z.ZodNumber>;
875
+ /** This will be the subdomain of the exposed ingress. If not provided, taken from service_name */
876
+ subdomain: z.ZodOptional<z.ZodString>;
877
+ /** For cron jobs */
878
+ cronJobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
879
+ /** The name of the cron job. Used to identify in k8s. Should be unique among all cron jobs. */
880
+ name: z.ZodOptional<z.ZodString>;
881
+ /** The cron schedule */
882
+ cron: z.ZodOptional<z.ZodString>;
883
+ /** The curl command to invoke. Must be an array. */
884
+ curl: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
885
+ }, "strip", z.ZodTypeAny, {
886
+ name?: string | undefined;
887
+ cron?: string | undefined;
888
+ curl?: string[] | undefined;
889
+ }, {
890
+ name?: string | undefined;
891
+ cron?: string | undefined;
892
+ curl?: string[] | undefined;
893
+ }>, "many">>;
894
+ prefectFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
895
+ /** The name of the container inside the prefect pod */
896
+ flow_name: z.ZodString;
897
+ /** The path to the file that runs the flow, relative to the project folder. E.g. src/data_pipeline/main.py */
898
+ script_path: z.ZodString;
899
+ }, "strip", z.ZodTypeAny, {
900
+ flow_name: string;
901
+ script_path: string;
902
+ }, {
903
+ flow_name: string;
904
+ script_path: string;
905
+ }>, "many">>;
906
+ }, z.ZodAny, "strip"> | undefined;
907
+ } | undefined;
908
+ } | undefined;
909
+ }>;
910
+ type PackageFilePython = z.infer<typeof packageFilePythonSchema>;
911
+ type TemplateSharedContext = {
912
+ /** The monorepo environment */
913
+ monorepo_env: string;
914
+ /** The k8s namespace that the monorepo environment is associated with */
915
+ namespace: string;
916
+ /** The domain name associated with the monorepo environment (from constnts.yaml) */
917
+ domain_name: string;
918
+ /** The path to the image in the container registry */
919
+ image_path: string;
920
+ /** The secret name of the monorepo environment */
921
+ env_secret_name: string;
922
+ /** The name of the key inside the environment's secret that contains the base secret (constant) */
923
+ env_base_secret_key: string;
924
+ };
925
+ type TemplateDeploymentObject = TemplateSharedContext & Deployment & {
926
+ /** Same as pkgData.name */
927
+ project_name: string;
928
+ /** The number of replicas as defined by running devops scale */
929
+ replicas: number;
930
+ };
931
+ type TemplateDbMigrateObject = TemplateSharedContext & {
932
+ /** The name of the migration job to create */
933
+ db_migrate_job_name: string;
934
+ };
935
+ type TemplateDebugObject = TemplateSharedContext & {
936
+ /** The name of the debug pod */
937
+ debug_pod_name: string;
938
+ };
939
+
940
+ declare function getServiceEndpoint(serviceName: string): string;
941
+
942
+ /**
943
+ * Encrypts a plaintext string using AES-256-GCM with the given key.
944
+ * @param plaintext
945
+ * @param key - The key to use for encryption. If not provided, the key will be derived from the MONOREPO_BASE_SECRET environment variable.
946
+ * @returns The encrypted ciphertext.
947
+ */
948
+ declare function encryptAes256Gcm(plaintext: string, key?: Buffer): string;
949
+ /**
950
+ * Decrypts a ciphertext string using AES-256-GCM with the given key.
951
+ * @param ciphertext - The ciphertext to decrypt.
952
+ * @param key - The key to use for decryption. If not provided, the key will be derived from the MONOREPO_BASE_SECRET environment variable.
953
+ * @returns The decrypted plaintext.
954
+ */
955
+ declare function decryptAes256Gcm(ciphertext: string, key?: Buffer): string;
956
+
957
+ /**
958
+ * A simple token generation/verification class that relies on the subject field of an internal JWT-like token. It can:
959
+ * - generate a short-lived (60s) token with the given subject
960
+ * - verify that a token has not expired and bears the given subject
961
+ *
962
+ * Relies on the MONOREPO_BASE_SECRET environment variable for signing and verifying the token.
963
+ */
964
+ declare class InternalToken {
965
+ subject: string;
966
+ constructor(subject: string);
967
+ generate(): string;
968
+ verifyOrThrow(token: string): void;
969
+ verifyFromHeaderOrThrow(authorizationHeader?: string | null): void;
970
+ }
971
+
972
+ export { type ConstFileSchema, type Deployment, type ImageFileSchema, InternalToken, type PackageData, type PackageFileNode, type PackageFilePython, SUPPORTED_LANGUAGES, type SingleImageSchema, type SingleTemplateSchema, type SupportedLanguages, type TemplateDbMigrateObject, type TemplateDebugObject, type TemplateDeploymentObject, type TemplateSharedContext, type WorkspaceIndex, type WorkspaceIndexEntry, constFileSchema, decryptAes256Gcm, encryptAes256Gcm, getServiceEndpoint, imageFileSchema, packageFileNodeSchema, packageFilePythonSchema };