@swovohq/fuel 0.2.2-alpha.9 → 0.2.2-alpha.91

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 (232) hide show
  1. package/README.md +173 -69
  2. package/dist/bin/fuel.js +77 -31
  3. package/dist/bin/fuel.js.map +1 -1
  4. package/dist/cleanup/finalize.d.ts.map +1 -1
  5. package/dist/cleanup/finalize.js +11 -3
  6. package/dist/cleanup/finalize.js.map +1 -1
  7. package/dist/commands/config-verify.d.ts.map +1 -1
  8. package/dist/commands/config-verify.js +14 -6
  9. package/dist/commands/config-verify.js.map +1 -1
  10. package/dist/commands/create-app.d.ts.map +1 -1
  11. package/dist/commands/create-app.js +41 -7
  12. package/dist/commands/create-app.js.map +1 -1
  13. package/dist/commands/infra-deploy.d.ts +15 -1
  14. package/dist/commands/infra-deploy.d.ts.map +1 -1
  15. package/dist/commands/infra-deploy.js +164 -18
  16. package/dist/commands/infra-deploy.js.map +1 -1
  17. package/dist/commands/infra-destroy.d.ts.map +1 -1
  18. package/dist/commands/infra-destroy.js +3 -3
  19. package/dist/commands/infra-destroy.js.map +1 -1
  20. package/dist/commands/infra-init.d.ts +91 -0
  21. package/dist/commands/infra-init.d.ts.map +1 -1
  22. package/dist/commands/infra-init.js +644 -113
  23. package/dist/commands/infra-init.js.map +1 -1
  24. package/dist/commands/infra-pull.d.ts +8 -0
  25. package/dist/commands/infra-pull.d.ts.map +1 -0
  26. package/dist/commands/infra-pull.js +81 -0
  27. package/dist/commands/infra-pull.js.map +1 -0
  28. package/dist/commands/list-modules.d.ts.map +1 -1
  29. package/dist/commands/list-modules.js +10 -3
  30. package/dist/commands/list-modules.js.map +1 -1
  31. package/dist/engines/convention.d.ts +2 -2
  32. package/dist/engines/convention.d.ts.map +1 -1
  33. package/dist/engines/convention.js +8 -6
  34. package/dist/engines/convention.js.map +1 -1
  35. package/dist/engines/dependencies.d.ts +2 -0
  36. package/dist/engines/dependencies.d.ts.map +1 -1
  37. package/dist/engines/dependencies.js.map +1 -1
  38. package/dist/engines/monorepo.d.ts.map +1 -1
  39. package/dist/engines/monorepo.js.map +1 -1
  40. package/dist/engines/template-source.d.ts.map +1 -1
  41. package/dist/engines/template-source.js +3 -1
  42. package/dist/engines/template-source.js.map +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/infra/azure-defaults.d.ts +49 -0
  46. package/dist/infra/azure-defaults.d.ts.map +1 -0
  47. package/dist/infra/azure-defaults.js +52 -0
  48. package/dist/infra/azure-defaults.js.map +1 -0
  49. package/dist/infra/azure-keyvault-client.d.ts +4 -0
  50. package/dist/infra/azure-keyvault-client.d.ts.map +1 -0
  51. package/dist/infra/azure-keyvault-client.js +57 -0
  52. package/dist/infra/azure-keyvault-client.js.map +1 -0
  53. package/dist/infra/azure-rbac.d.ts +11 -0
  54. package/dist/infra/azure-rbac.d.ts.map +1 -0
  55. package/dist/infra/azure-rbac.js +49 -0
  56. package/dist/infra/azure-rbac.js.map +1 -0
  57. package/dist/infra/azure-state-storage.d.ts +20 -0
  58. package/dist/infra/azure-state-storage.d.ts.map +1 -0
  59. package/dist/infra/azure-state-storage.js +229 -0
  60. package/dist/infra/azure-state-storage.js.map +1 -0
  61. package/dist/infra/config-loader.d.ts.map +1 -1
  62. package/dist/infra/config-loader.js.map +1 -1
  63. package/dist/infra/config-writer.js +1 -1
  64. package/dist/infra/credentials.d.ts +2 -2
  65. package/dist/infra/credentials.d.ts.map +1 -1
  66. package/dist/infra/credentials.js +8 -4
  67. package/dist/infra/credentials.js.map +1 -1
  68. package/dist/infra/dependency-checker.d.ts.map +1 -1
  69. package/dist/infra/dependency-checker.js.map +1 -1
  70. package/dist/infra/deployment-detect.d.ts +9 -0
  71. package/dist/infra/deployment-detect.d.ts.map +1 -0
  72. package/dist/infra/deployment-detect.js +53 -0
  73. package/dist/infra/deployment-detect.js.map +1 -0
  74. package/dist/infra/git-client.d.ts.map +1 -1
  75. package/dist/infra/git-client.js +6 -10
  76. package/dist/infra/git-client.js.map +1 -1
  77. package/dist/infra/github-client.d.ts +7 -0
  78. package/dist/infra/github-client.d.ts.map +1 -1
  79. package/dist/infra/github-client.js +47 -7
  80. package/dist/infra/github-client.js.map +1 -1
  81. package/dist/infra/github-secrets-client.d.ts.map +1 -1
  82. package/dist/infra/github-secrets-client.js +2 -2
  83. package/dist/infra/github-secrets-client.js.map +1 -1
  84. package/dist/infra/github-token-link.d.ts +4 -0
  85. package/dist/infra/github-token-link.d.ts.map +1 -0
  86. package/dist/infra/github-token-link.js +32 -0
  87. package/dist/infra/github-token-link.js.map +1 -0
  88. package/dist/infra/orchestrator.d.ts +4 -1
  89. package/dist/infra/orchestrator.d.ts.map +1 -1
  90. package/dist/infra/orchestrator.js +218 -63
  91. package/dist/infra/orchestrator.js.map +1 -1
  92. package/dist/infra/port-utils.d.ts.map +1 -1
  93. package/dist/infra/port-utils.js.map +1 -1
  94. package/dist/infra/preflight.d.ts.map +1 -1
  95. package/dist/infra/preflight.js +25 -11
  96. package/dist/infra/preflight.js.map +1 -1
  97. package/dist/infra/remote-secret.d.ts +14 -0
  98. package/dist/infra/remote-secret.d.ts.map +1 -0
  99. package/dist/infra/remote-secret.js +42 -0
  100. package/dist/infra/remote-secret.js.map +1 -0
  101. package/dist/infra/s3-state-bucket.d.ts.map +1 -1
  102. package/dist/infra/s3-state-bucket.js +8 -4
  103. package/dist/infra/s3-state-bucket.js.map +1 -1
  104. package/dist/infra/secrets-manager-client.d.ts.map +1 -1
  105. package/dist/infra/secrets-manager-client.js +8 -5
  106. package/dist/infra/secrets-manager-client.js.map +1 -1
  107. package/dist/infra/subprocess.js +1 -1
  108. package/dist/infra/template-engine.d.ts +14 -5
  109. package/dist/infra/template-engine.d.ts.map +1 -1
  110. package/dist/infra/template-engine.js +157 -39
  111. package/dist/infra/template-engine.js.map +1 -1
  112. package/dist/infra/tofu-runner.d.ts +4 -3
  113. package/dist/infra/tofu-runner.d.ts.map +1 -1
  114. package/dist/infra/tofu-runner.js +40 -34
  115. package/dist/infra/tofu-runner.js.map +1 -1
  116. package/dist/infra/types.d.ts +241 -17
  117. package/dist/infra/types.d.ts.map +1 -1
  118. package/dist/infra/types.js +419 -22
  119. package/dist/infra/types.js.map +1 -1
  120. package/dist/infra-templates/TODO-azure-prod.md +127 -0
  121. package/dist/infra-templates/modules/azure-container-app/main.tf +124 -0
  122. package/dist/infra-templates/modules/azure-container-app/outputs.tf +24 -0
  123. package/dist/infra-templates/modules/azure-container-app/variables.tf +80 -0
  124. package/dist/infra-templates/modules/azure-container-apps-environment/main.tf +18 -0
  125. package/dist/infra-templates/modules/azure-container-apps-environment/outputs.tf +14 -0
  126. package/dist/infra-templates/modules/azure-container-apps-environment/variables.tf +24 -0
  127. package/dist/infra-templates/modules/azure-container-registry/main.tf +10 -0
  128. package/dist/infra-templates/modules/azure-container-registry/outputs.tf +14 -0
  129. package/dist/infra-templates/modules/azure-container-registry/variables.tf +20 -0
  130. package/dist/infra-templates/modules/azure-front-door/main.tf +80 -0
  131. package/dist/infra-templates/modules/azure-front-door/outputs.tf +20 -0
  132. package/dist/infra-templates/modules/azure-front-door/variables.tf +26 -0
  133. package/dist/infra-templates/modules/azure-github-oidc/main.tf +48 -0
  134. package/dist/infra-templates/modules/azure-github-oidc/outputs.tf +9 -0
  135. package/dist/infra-templates/modules/azure-github-oidc/variables.tf +69 -0
  136. package/dist/infra-templates/modules/azure-key-vault/main.tf +21 -0
  137. package/dist/infra-templates/modules/azure-key-vault/outputs.tf +11 -0
  138. package/dist/infra-templates/modules/azure-key-vault/variables.tf +43 -0
  139. package/dist/infra-templates/modules/azure-monitor/main.tf +29 -0
  140. package/dist/infra-templates/modules/azure-monitor/outputs.tf +17 -0
  141. package/dist/infra-templates/modules/azure-monitor/variables.tf +32 -0
  142. package/dist/infra-templates/modules/azure-network/main.tf +134 -0
  143. package/dist/infra-templates/modules/azure-network/outputs.tf +44 -0
  144. package/dist/infra-templates/modules/azure-network/variables.tf +56 -0
  145. package/dist/infra-templates/modules/azure-postgresql-flexible/main.tf +34 -0
  146. package/dist/infra-templates/modules/azure-postgresql-flexible/outputs.tf +20 -0
  147. package/dist/infra-templates/modules/azure-postgresql-flexible/variables.tf +54 -0
  148. package/dist/infra-templates/modules/azure-redis-cache/main.tf +32 -0
  149. package/dist/infra-templates/modules/azure-redis-cache/outputs.tf +15 -0
  150. package/dist/infra-templates/modules/azure-redis-cache/variables.tf +30 -0
  151. package/dist/infra-templates/modules/azure-resource-group/main.tf +5 -0
  152. package/dist/infra-templates/modules/azure-resource-group/outputs.tf +11 -0
  153. package/dist/infra-templates/modules/azure-resource-group/variables.tf +16 -0
  154. package/dist/infra-templates/modules/azure-sql-database/main.tf +63 -0
  155. package/dist/infra-templates/modules/azure-sql-database/outputs.tf +20 -0
  156. package/dist/infra-templates/modules/azure-sql-database/variables.tf +78 -0
  157. package/dist/infra-templates/modules/azure-storage-account/main.tf +13 -0
  158. package/dist/infra-templates/modules/azure-storage-account/outputs.tf +16 -0
  159. package/dist/infra-templates/modules/azure-storage-account/variables.tf +38 -0
  160. package/dist/infra-templates/modules/cloud-watch/event-bridge.tf +15 -0
  161. package/dist/infra-templates/modules/cloud-watch/lambda.tf +84 -0
  162. package/dist/infra-templates/modules/cloud-watch/lambda_function.zip +0 -0
  163. package/dist/infra-templates/modules/cloud-watch/lambda_function_deploy.zip +0 -0
  164. package/dist/infra-templates/modules/cloud-watch/main.tf +156 -0
  165. package/dist/infra-templates/modules/cloud-watch/sns.tf +3 -0
  166. package/dist/infra-templates/modules/cloud-watch/variables.tf +38 -0
  167. package/dist/infra-templates/modules/ecs-core/alb.tf +126 -0
  168. package/dist/infra-templates/modules/ecs-core/cloudwatch.tf +48 -0
  169. package/dist/infra-templates/modules/ecs-core/iam.tf +95 -0
  170. package/dist/infra-templates/modules/ecs-core/main.tf +12 -0
  171. package/dist/infra-templates/modules/ecs-core/outputs.tf +44 -0
  172. package/dist/infra-templates/modules/ecs-core/secrets.tf +9 -0
  173. package/dist/infra-templates/modules/ecs-core/security_groups.tf +73 -0
  174. package/dist/infra-templates/modules/ecs-core/variables.tf +96 -0
  175. package/dist/infra-templates/modules/ecs-service/ecs_autoscaling.tf +51 -0
  176. package/dist/infra-templates/modules/ecs-service/ecs_service.tf +39 -0
  177. package/dist/infra-templates/modules/ecs-service/ecs_task_definition.tf +56 -0
  178. package/dist/infra-templates/modules/ecs-service/variables.tf +170 -0
  179. package/dist/infra-templates/modules/elastic-container-registry/main.tf +32 -0
  180. package/dist/infra-templates/modules/elastic-container-registry/outputs.tf +9 -0
  181. package/dist/infra-templates/modules/elastic-container-registry/variables.tf +25 -0
  182. package/dist/infra-templates/modules/github-oidc-role/main.tf +46 -0
  183. package/dist/infra-templates/modules/github-oidc-role/outputs.tf +4 -0
  184. package/dist/infra-templates/modules/github-oidc-role/variables.tf +11 -0
  185. package/dist/infra-templates/modules/guardduty/main.tf +8 -0
  186. package/dist/infra-templates/modules/iam/main.tf +205 -0
  187. package/dist/infra-templates/modules/iam/outputs.tf +3 -0
  188. package/dist/infra-templates/modules/iam/variables.tf +4 -0
  189. package/dist/infra-templates/modules/random-key/main.tf +11 -0
  190. package/dist/infra-templates/modules/random-key/outputs.tf +4 -0
  191. package/dist/infra-templates/modules/random-key/variables.tf +10 -0
  192. package/dist/infra-templates/modules/redis/main.tf +47 -0
  193. package/dist/infra-templates/modules/redis/outputs.tf +8 -0
  194. package/dist/infra-templates/modules/redis/variables.tf +20 -0
  195. package/dist/infra-templates/modules/relational-database-service/main.tf +44 -0
  196. package/dist/infra-templates/modules/relational-database-service/outputs.tf +13 -0
  197. package/dist/infra-templates/modules/relational-database-service/security-group.tf +15 -0
  198. package/dist/infra-templates/modules/relational-database-service/variables.tf +50 -0
  199. package/dist/infra-templates/modules/secret/main.tf +14 -0
  200. package/dist/infra-templates/modules/secret/outputs.tf +3 -0
  201. package/dist/infra-templates/modules/secret/variables.tf +8 -0
  202. package/dist/infra-templates/modules/simple-storage-service/main.tf +28 -0
  203. package/dist/infra-templates/modules/simple-storage-service/variables.tf +4 -0
  204. package/dist/infra-templates/modules/vpc/data.tf +2 -0
  205. package/dist/infra-templates/modules/vpc/main.tf +76 -0
  206. package/dist/infra-templates/modules/vpc/outputs.tf +23 -0
  207. package/dist/infra-templates/modules/vpc/variables.tf +5 -0
  208. package/dist/infra-templates/package.json +6 -0
  209. package/dist/infra-templates/templates/azure/MANUAL_DEPLOY.md +168 -0
  210. package/dist/infra-templates/templates/azure/backend.tf +8 -0
  211. package/dist/infra-templates/templates/azure/data.tf +21 -0
  212. package/dist/infra-templates/templates/azure/default.tfvars +0 -0
  213. package/dist/infra-templates/templates/azure/locals.tf +116 -0
  214. package/dist/infra-templates/templates/azure/main.tf +421 -0
  215. package/dist/infra-templates/templates/azure/outputs.tf +40 -0
  216. package/dist/infra-templates/templates/azure/providers.tf +65 -0
  217. package/dist/infra-templates/templates/azure/variables.tf +69 -0
  218. package/dist/infra-templates/templates/azure/workflows/build_and_deploy.yml +155 -0
  219. package/dist/infra-templates/templates/azure/workflows/tests.yml +63 -0
  220. package/dist/infra-templates/templates/ecs/README.md +235 -0
  221. package/dist/infra-templates/templates/ecs/backend.tf +7 -0
  222. package/dist/infra-templates/templates/ecs/data.tf +6 -0
  223. package/dist/infra-templates/templates/ecs/default.tfvars +1 -0
  224. package/dist/infra-templates/templates/ecs/locals.tf +97 -0
  225. package/dist/infra-templates/templates/ecs/main.tf +185 -0
  226. package/dist/infra-templates/templates/ecs/outputs.tf +42 -0
  227. package/dist/infra-templates/templates/ecs/providers.tf +21 -0
  228. package/dist/infra-templates/templates/ecs/variables.tf +105 -0
  229. package/dist/infra-templates/templates/ecs/workflows/build_and_deploy.yml +188 -0
  230. package/dist/infra-templates/templates/ecs/workflows/tests.yml +65 -0
  231. package/package.json +10 -2
  232. package/schema/fuel.schema.json +570 -91
@@ -2,13 +2,10 @@ import { z } from 'zod';
2
2
  declare const WorkerSchema: z.ZodObject<{
3
3
  name: z.ZodString;
4
4
  dockerfile: z.ZodString;
5
- }, z.core.$strip>;
5
+ }, z.core.$loose>;
6
6
  export declare const AppSchema: z.ZodObject<{
7
7
  name: z.ZodString;
8
- technology: z.ZodEnum<{
9
- nest: "nest";
10
- react: "react";
11
- }>;
8
+ technology: z.ZodString;
12
9
  dockerfile: z.ZodString;
13
10
  health_check_path: z.ZodString;
14
11
  domain: z.ZodString;
@@ -22,23 +19,22 @@ export declare const AppSchema: z.ZodObject<{
22
19
  workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
23
20
  name: z.ZodString;
24
21
  dockerfile: z.ZodString;
25
- }, z.core.$strip>>>>;
22
+ }, z.core.$loose>>>>;
26
23
  cpu_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
27
24
  memory_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
28
25
  db_instance_type: z.ZodOptional<z.ZodString>;
29
26
  db_allocated_storage: z.ZodOptional<z.ZodNumber>;
30
27
  redis_instance_type: z.ZodOptional<z.ZodString>;
31
- }, z.core.$strip>;
32
- export declare const InfraConfigSchema: z.ZodObject<{
28
+ }, z.core.$loose>;
29
+ export declare const EcsInfraConfigSchema: z.ZodObject<{
33
30
  name: z.ZodString;
31
+ slack_webhook_url: z.ZodOptional<z.ZodString>;
32
+ github_repo_name: z.ZodOptional<z.ZodString>;
34
33
  deployment: z.ZodLiteral<"ecs">;
35
34
  ssl: z.ZodString;
36
35
  apps: z.ZodArray<z.ZodObject<{
37
36
  name: z.ZodString;
38
- technology: z.ZodEnum<{
39
- nest: "nest";
40
- react: "react";
41
- }>;
37
+ technology: z.ZodString;
42
38
  dockerfile: z.ZodString;
43
39
  health_check_path: z.ZodString;
44
40
  domain: z.ZodString;
@@ -52,18 +48,246 @@ export declare const InfraConfigSchema: z.ZodObject<{
52
48
  workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
53
49
  name: z.ZodString;
54
50
  dockerfile: z.ZodString;
55
- }, z.core.$strip>>>>;
51
+ }, z.core.$loose>>>>;
56
52
  cpu_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
57
53
  memory_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
58
54
  db_instance_type: z.ZodOptional<z.ZodString>;
59
55
  db_allocated_storage: z.ZodOptional<z.ZodNumber>;
60
56
  redis_instance_type: z.ZodOptional<z.ZodString>;
61
- }, z.core.$strip>>;
62
- }, z.core.$strip>;
57
+ }, z.core.$loose>>;
58
+ }, z.core.$loose>;
59
+ export declare const AzureAppSchema: z.ZodObject<{
60
+ name: z.ZodString;
61
+ technology: z.ZodString;
62
+ dockerfile: z.ZodString;
63
+ health_check_path: z.ZodString;
64
+ domain: z.ZodString;
65
+ port: z.ZodNumber;
66
+ branch: z.ZodDefault<z.ZodString>;
67
+ template_repo_branch: z.ZodDefault<z.ZodString>;
68
+ variables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
69
+ build_env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
70
+ workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
71
+ name: z.ZodString;
72
+ dockerfile: z.ZodString;
73
+ }, z.core.$loose>>>>;
74
+ database: z.ZodDefault<z.ZodObject<{
75
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
76
+ engine: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
77
+ mssql: "mssql";
78
+ postgres: "postgres";
79
+ }>>>;
80
+ sku_name: z.ZodOptional<z.ZodString>;
81
+ storage_account_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
82
+ Local: "Local";
83
+ Zone: "Zone";
84
+ Geo: "Geo";
85
+ GeoZone: "GeoZone";
86
+ }>>>;
87
+ pitr_retention_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
88
+ ltr_weekly_retention: z.ZodDefault<z.ZodOptional<z.ZodString>>;
89
+ allocated_storage_mb: z.ZodOptional<z.ZodNumber>;
90
+ }, z.core.$loose>>;
91
+ redis: z.ZodDefault<z.ZodObject<{
92
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
93
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
94
+ }, z.core.$loose>>;
95
+ container_app: z.ZodDefault<z.ZodObject<{
96
+ cpu: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
97
+ memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
98
+ concurrent_requests: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
99
+ min_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
100
+ max_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
101
+ }, z.core.$loose>>;
102
+ }, z.core.$loose>;
103
+ export declare const AzureInfraConfigSchema: z.ZodObject<{
104
+ name: z.ZodString;
105
+ slack_webhook_url: z.ZodOptional<z.ZodString>;
106
+ github_repo_name: z.ZodOptional<z.ZodString>;
107
+ deployment: z.ZodLiteral<"azure">;
108
+ location: z.ZodDefault<z.ZodOptional<z.ZodString>>;
109
+ monitor: z.ZodDefault<z.ZodObject<{
110
+ daily_data_cap_gb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
111
+ retention_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
112
+ dashboard_count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
113
+ }, z.core.$loose>>;
114
+ front_door: z.ZodDefault<z.ZodObject<{
115
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Standard_AzureFrontDoor">>>;
116
+ }, z.core.$loose>>;
117
+ storage_account: z.ZodDefault<z.ZodObject<{
118
+ account_kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"BlockBlobStorage">>>;
119
+ account_tier: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Premium">>>;
120
+ account_replication_type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"LRS">>>;
121
+ access_tier: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Hot">>>;
122
+ }, z.core.$loose>>;
123
+ key_vault: z.ZodDefault<z.ZodObject<{
124
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"standard">>>;
125
+ }, z.core.$loose>>;
126
+ github_oidc: z.ZodDefault<z.ZodOptional<z.ZodObject<{
127
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
128
+ existing_client_id: z.ZodOptional<z.ZodString>;
129
+ existing_principal_id: z.ZodOptional<z.ZodString>;
130
+ manage_role_assignment: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
131
+ }, z.core.$loose>>>;
132
+ apps: z.ZodArray<z.ZodObject<{
133
+ name: z.ZodString;
134
+ technology: z.ZodString;
135
+ dockerfile: z.ZodString;
136
+ health_check_path: z.ZodString;
137
+ domain: z.ZodString;
138
+ port: z.ZodNumber;
139
+ branch: z.ZodDefault<z.ZodString>;
140
+ template_repo_branch: z.ZodDefault<z.ZodString>;
141
+ variables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
142
+ build_env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
143
+ workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
144
+ name: z.ZodString;
145
+ dockerfile: z.ZodString;
146
+ }, z.core.$loose>>>>;
147
+ database: z.ZodDefault<z.ZodObject<{
148
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
149
+ engine: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
150
+ mssql: "mssql";
151
+ postgres: "postgres";
152
+ }>>>;
153
+ sku_name: z.ZodOptional<z.ZodString>;
154
+ storage_account_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
155
+ Local: "Local";
156
+ Zone: "Zone";
157
+ Geo: "Geo";
158
+ GeoZone: "GeoZone";
159
+ }>>>;
160
+ pitr_retention_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
161
+ ltr_weekly_retention: z.ZodDefault<z.ZodOptional<z.ZodString>>;
162
+ allocated_storage_mb: z.ZodOptional<z.ZodNumber>;
163
+ }, z.core.$loose>>;
164
+ redis: z.ZodDefault<z.ZodObject<{
165
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
166
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
167
+ }, z.core.$loose>>;
168
+ container_app: z.ZodDefault<z.ZodObject<{
169
+ cpu: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
170
+ memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
171
+ concurrent_requests: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
172
+ min_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
173
+ max_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
174
+ }, z.core.$loose>>;
175
+ }, z.core.$loose>>;
176
+ }, z.core.$loose>;
177
+ export declare const InfraConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
178
+ name: z.ZodString;
179
+ slack_webhook_url: z.ZodOptional<z.ZodString>;
180
+ github_repo_name: z.ZodOptional<z.ZodString>;
181
+ deployment: z.ZodLiteral<"ecs">;
182
+ ssl: z.ZodString;
183
+ apps: z.ZodArray<z.ZodObject<{
184
+ name: z.ZodString;
185
+ technology: z.ZodString;
186
+ dockerfile: z.ZodString;
187
+ health_check_path: z.ZodString;
188
+ domain: z.ZodString;
189
+ port: z.ZodNumber;
190
+ branch: z.ZodDefault<z.ZodString>;
191
+ template_repo_branch: z.ZodDefault<z.ZodString>;
192
+ postgres: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
193
+ redis: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
194
+ variables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
195
+ build_env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
196
+ workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
197
+ name: z.ZodString;
198
+ dockerfile: z.ZodString;
199
+ }, z.core.$loose>>>>;
200
+ cpu_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
201
+ memory_units: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
202
+ db_instance_type: z.ZodOptional<z.ZodString>;
203
+ db_allocated_storage: z.ZodOptional<z.ZodNumber>;
204
+ redis_instance_type: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$loose>>;
206
+ }, z.core.$loose>, z.ZodObject<{
207
+ name: z.ZodString;
208
+ slack_webhook_url: z.ZodOptional<z.ZodString>;
209
+ github_repo_name: z.ZodOptional<z.ZodString>;
210
+ deployment: z.ZodLiteral<"azure">;
211
+ location: z.ZodDefault<z.ZodOptional<z.ZodString>>;
212
+ monitor: z.ZodDefault<z.ZodObject<{
213
+ daily_data_cap_gb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
214
+ retention_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
215
+ dashboard_count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
216
+ }, z.core.$loose>>;
217
+ front_door: z.ZodDefault<z.ZodObject<{
218
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Standard_AzureFrontDoor">>>;
219
+ }, z.core.$loose>>;
220
+ storage_account: z.ZodDefault<z.ZodObject<{
221
+ account_kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"BlockBlobStorage">>>;
222
+ account_tier: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Premium">>>;
223
+ account_replication_type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"LRS">>>;
224
+ access_tier: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"Hot">>>;
225
+ }, z.core.$loose>>;
226
+ key_vault: z.ZodDefault<z.ZodObject<{
227
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"standard">>>;
228
+ }, z.core.$loose>>;
229
+ github_oidc: z.ZodDefault<z.ZodOptional<z.ZodObject<{
230
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
231
+ existing_client_id: z.ZodOptional<z.ZodString>;
232
+ existing_principal_id: z.ZodOptional<z.ZodString>;
233
+ manage_role_assignment: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
234
+ }, z.core.$loose>>>;
235
+ apps: z.ZodArray<z.ZodObject<{
236
+ name: z.ZodString;
237
+ technology: z.ZodString;
238
+ dockerfile: z.ZodString;
239
+ health_check_path: z.ZodString;
240
+ domain: z.ZodString;
241
+ port: z.ZodNumber;
242
+ branch: z.ZodDefault<z.ZodString>;
243
+ template_repo_branch: z.ZodDefault<z.ZodString>;
244
+ variables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
245
+ build_env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
246
+ workers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
247
+ name: z.ZodString;
248
+ dockerfile: z.ZodString;
249
+ }, z.core.$loose>>>>;
250
+ database: z.ZodDefault<z.ZodObject<{
251
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
252
+ engine: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
253
+ mssql: "mssql";
254
+ postgres: "postgres";
255
+ }>>>;
256
+ sku_name: z.ZodOptional<z.ZodString>;
257
+ storage_account_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
258
+ Local: "Local";
259
+ Zone: "Zone";
260
+ Geo: "Geo";
261
+ GeoZone: "GeoZone";
262
+ }>>>;
263
+ pitr_retention_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
264
+ ltr_weekly_retention: z.ZodDefault<z.ZodOptional<z.ZodString>>;
265
+ allocated_storage_mb: z.ZodOptional<z.ZodNumber>;
266
+ }, z.core.$loose>>;
267
+ redis: z.ZodDefault<z.ZodObject<{
268
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
269
+ sku_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
270
+ }, z.core.$loose>>;
271
+ container_app: z.ZodDefault<z.ZodObject<{
272
+ cpu: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
273
+ memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
274
+ concurrent_requests: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
275
+ min_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
276
+ max_replicas: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
277
+ }, z.core.$loose>>;
278
+ }, z.core.$loose>>;
279
+ }, z.core.$loose>], "deployment">;
63
280
  export type AppConfig = z.infer<typeof AppSchema>;
281
+ export type AzureAppConfig = z.infer<typeof AzureAppSchema>;
282
+ export type EcsInfraConfig = z.infer<typeof EcsInfraConfigSchema>;
283
+ export type AzureInfraConfig = z.infer<typeof AzureInfraConfigSchema>;
64
284
  export type InfraConfig = z.infer<typeof InfraConfigSchema>;
285
+ export type Deployment = InfraConfig['deployment'];
65
286
  export { WorkerSchema };
66
- export declare const REQUIRED_CREDENTIAL_KEYS: readonly ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "GITHUB_TOKEN", "GITHUB_USERNAME", "GITHUB_ORGANIZATION"];
67
- export type CredentialKey = typeof REQUIRED_CREDENTIAL_KEYS[number];
287
+ export declare const AWS_REQUIRED_CREDENTIAL_KEYS: readonly ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "GITHUB_TOKEN", "GITHUB_USERNAME", "GITHUB_ORGANIZATION"];
288
+ export declare const AZURE_REQUIRED_CREDENTIAL_KEYS: readonly ["AZURE_SUBSCRIPTION_ID", "AZURE_TENANT_ID", "AZURE_CLIENT_ID", "AZURE_CLIENT_SECRET", "GITHUB_TOKEN", "GITHUB_USERNAME", "GITHUB_ORGANIZATION"];
289
+ export declare const REQUIRED_CREDENTIAL_KEYS: readonly ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "GITHUB_TOKEN", "GITHUB_USERNAME", "GITHUB_ORGANIZATION", "AZURE_SUBSCRIPTION_ID", "AZURE_TENANT_ID", "AZURE_CLIENT_ID", "AZURE_CLIENT_SECRET", "GITHUB_TOKEN", "GITHUB_USERNAME", "GITHUB_ORGANIZATION"];
290
+ export type CredentialKey = (typeof REQUIRED_CREDENTIAL_KEYS)[number];
68
291
  export type Credentials = Record<CredentialKey, string>;
292
+ export declare function requiredCredentialKeysFor(deployment: Deployment): readonly CredentialKey[];
69
293
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/infra/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,QAAA,MAAM,YAAY;;;iBAGhB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBpB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK5B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,eAAO,MAAM,wBAAwB,iIAO3B,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/infra/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAwBvB,QAAA,MAAM,YAAY;;;iBAiBO,CAAA;AAEzB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;iBAuEG,CAAA;AAEzB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0C7B,CAAA;AAsHJ,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyDA,CAAA;AAE3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmJL,CAAA;AAE9B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAG5B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,eAAO,MAAM,4BAA4B,iIAO/B,CAAA;AAEV,eAAO,MAAM,8BAA8B,2JAQjC,CAAA;AAKV,eAAO,MAAM,wBAAwB,iRAG3B,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAEvD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,GACrB,SAAS,aAAa,EAAE,CAI1B"}