@drunk-pulumi/azure 0.0.19

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 (386) hide show
  1. package/Aks/Helper.d.ts +43 -0
  2. package/Aks/Helper.js +72 -0
  3. package/Aks/Identity.d.ts +14 -0
  4. package/Aks/Identity.js +32 -0
  5. package/Aks/VmSetAutoScale/index.d.ts +16 -0
  6. package/Aks/VmSetAutoScale/index.js +132 -0
  7. package/Aks/VmSetMonitor/index.d.ts +12 -0
  8. package/Aks/VmSetMonitor/index.js +67 -0
  9. package/Aks/index.d.ts +100 -0
  10. package/Aks/index.js +558 -0
  11. package/Apim/ApiProduct/Api.d.ts +35 -0
  12. package/Apim/ApiProduct/Api.js +131 -0
  13. package/Apim/ApiProduct/OpenApi.d.ts +85 -0
  14. package/Apim/ApiProduct/OpenApi.js +3 -0
  15. package/Apim/ApiProduct/PolicyBuilder.d.ts +79 -0
  16. package/Apim/ApiProduct/PolicyBuilder.js +361 -0
  17. package/Apim/ApiProduct/Product.d.ts +8 -0
  18. package/Apim/ApiProduct/Product.js +63 -0
  19. package/Apim/ApiProduct/SwaggerHelper.d.ts +6 -0
  20. package/Apim/ApiProduct/SwaggerHelper.js +44 -0
  21. package/Apim/ApiProduct/index.d.ts +9 -0
  22. package/Apim/ApiProduct/index.js +22 -0
  23. package/Apim/Helpers.d.ts +0 -0
  24. package/Apim/Helpers.js +2 -0
  25. package/Apim/HookProxy/index.d.ts +20 -0
  26. package/Apim/HookProxy/index.js +27 -0
  27. package/Apim/index.d.ts +22 -0
  28. package/Apim/index.js +118 -0
  29. package/Apps/LogicApp.d.ts +12 -0
  30. package/Apps/LogicApp.js +19 -0
  31. package/Automation/AutoAccount.d.ts +5 -0
  32. package/Automation/AutoAccount.js +20 -0
  33. package/AzAd/B2C.d.ts +9 -0
  34. package/AzAd/B2C.js +38 -0
  35. package/AzAd/ConditionalPolicies/index.d.ts +0 -0
  36. package/AzAd/ConditionalPolicies/index.js +2 -0
  37. package/AzAd/EnvRoles.d.ts +12 -0
  38. package/AzAd/EnvRoles.js +62 -0
  39. package/AzAd/GraphDefinition.d.ts +14 -0
  40. package/AzAd/GraphDefinition.js +5136 -0
  41. package/AzAd/Group.d.ts +29 -0
  42. package/AzAd/Group.js +70 -0
  43. package/AzAd/Helper.d.ts +18 -0
  44. package/AzAd/Helper.js +37 -0
  45. package/AzAd/Identities/AzDevOps.d.ts +23 -0
  46. package/AzAd/Identities/AzDevOps.js +61 -0
  47. package/AzAd/Identities/AzUserAdRevertSync.d.ts +14 -0
  48. package/AzAd/Identities/AzUserAdRevertSync.js +18 -0
  49. package/AzAd/Identity.d.ts +51 -0
  50. package/AzAd/Identity.js +133 -0
  51. package/AzAd/ManagedIdentity.d.ts +6 -0
  52. package/AzAd/ManagedIdentity.js +23 -0
  53. package/AzAd/Role.d.ts +19 -0
  54. package/AzAd/Role.js +25 -0
  55. package/AzAd/RoleAssignment.d.ts +79 -0
  56. package/AzAd/RoleAssignment.js +48 -0
  57. package/AzAd/RolesBuiltIn.d.ts +62 -0
  58. package/AzAd/RolesBuiltIn.js +13841 -0
  59. package/Cdn/index.d.ts +11 -0
  60. package/Cdn/index.js +47 -0
  61. package/Certificate/index.d.ts +41 -0
  62. package/Certificate/index.js +156 -0
  63. package/Certificate/p12.d.ts +5 -0
  64. package/Certificate/p12.js +37 -0
  65. package/Common/AppConfigs/dotnetConfig.d.ts +15 -0
  66. package/Common/AppConfigs/dotnetConfig.js +20 -0
  67. package/Common/AutoTags.d.ts +1 -0
  68. package/Common/AutoTags.js +24 -0
  69. package/Common/AzureEnv.d.ts +37 -0
  70. package/Common/AzureEnv.js +94 -0
  71. package/Common/ConfigHelper.d.ts +5 -0
  72. package/Common/ConfigHelper.js +14 -0
  73. package/Common/GlobalEnv.d.ts +14 -0
  74. package/Common/GlobalEnv.js +38 -0
  75. package/Common/Helpers.d.ts +10 -0
  76. package/Common/Helpers.js +30 -0
  77. package/Common/Location.d.ts +4 -0
  78. package/Common/Location.js +23 -0
  79. package/Common/LocationBuiltIn.d.ts +81 -0
  80. package/Common/LocationBuiltIn.js +1925 -0
  81. package/Common/Naming/index.d.ts +62 -0
  82. package/Common/Naming/index.js +146 -0
  83. package/Common/ResourceEnv.d.ts +16 -0
  84. package/Common/ResourceEnv.js +29 -0
  85. package/Common/StackEnv.d.ts +4 -0
  86. package/Common/StackEnv.js +22 -0
  87. package/Common/index.d.ts +5 -0
  88. package/Common/index.js +9 -0
  89. package/ContainerRegistry/Helper.d.ts +23 -0
  90. package/ContainerRegistry/Helper.js +47 -0
  91. package/ContainerRegistry/index.d.ts +28 -0
  92. package/ContainerRegistry/index.js +103 -0
  93. package/Core/Helper.d.ts +16 -0
  94. package/Core/Helper.js +37 -0
  95. package/Core/KeyGenetators.d.ts +33 -0
  96. package/Core/KeyGenetators.js +66 -0
  97. package/Core/Locker.d.ts +13 -0
  98. package/Core/Locker.js +14 -0
  99. package/Core/Random.d.ts +40 -0
  100. package/Core/Random.js +83 -0
  101. package/Core/ResourceCreator.d.ts +17 -0
  102. package/Core/ResourceCreator.js +48 -0
  103. package/Core/ResourceGroup.d.ts +13 -0
  104. package/Core/ResourceGroup.js +45 -0
  105. package/CosmosDb/index.d.ts +33 -0
  106. package/CosmosDb/index.js +129 -0
  107. package/CustomRoles/index.d.ts +5 -0
  108. package/CustomRoles/index.js +27 -0
  109. package/IOT/Hub/index.d.ts +32 -0
  110. package/IOT/Hub/index.js +208 -0
  111. package/KeyVault/CustomHelper.d.ts +35 -0
  112. package/KeyVault/CustomHelper.js +40 -0
  113. package/KeyVault/Helper.d.ts +33 -0
  114. package/KeyVault/Helper.js +58 -0
  115. package/KeyVault/VaultAccess.d.ts +15 -0
  116. package/KeyVault/VaultAccess.js +47 -0
  117. package/KeyVault/VaultPermissions.d.ts +26 -0
  118. package/KeyVault/VaultPermissions.js +169 -0
  119. package/KeyVault/index.d.ts +28 -0
  120. package/KeyVault/index.js +136 -0
  121. package/KubeX/AcrSecret.d.ts +15 -0
  122. package/KubeX/AcrSecret.js +31 -0
  123. package/KubeX/Apps/AstroPage.d.ts +12 -0
  124. package/KubeX/Apps/AstroPage.js +33 -0
  125. package/KubeX/Apps/KafKa.d.ts +6 -0
  126. package/KubeX/Apps/KafKa.js +13 -0
  127. package/KubeX/Apps/Nobelium.d.ts +13 -0
  128. package/KubeX/Apps/Nobelium.js +37 -0
  129. package/KubeX/Apps/Wikijs.d.ts +30 -0
  130. package/KubeX/Apps/Wikijs.js +54 -0
  131. package/KubeX/Apps/WordPress.d.ts +24 -0
  132. package/KubeX/Apps/WordPress.js +55 -0
  133. package/KubeX/Apps/YarpProxy/index.d.ts +17 -0
  134. package/KubeX/Apps/YarpProxy/index.js +107 -0
  135. package/KubeX/Apps/YarpProxy/type.d.ts +55 -0
  136. package/KubeX/Apps/YarpProxy/type.js +3 -0
  137. package/KubeX/CertHelper.d.ts +1 -0
  138. package/KubeX/CertHelper.js +9 -0
  139. package/KubeX/CertImports.d.ts +19 -0
  140. package/KubeX/CertImports.js +70 -0
  141. package/KubeX/CloudFlare/CertCreator.d.ts +19 -0
  142. package/KubeX/CloudFlare/CertCreator.js +90 -0
  143. package/KubeX/CloudFlare/CertImports.d.ts +17 -0
  144. package/KubeX/CloudFlare/CertImports.js +34 -0
  145. package/KubeX/CloudFlare/DynamicDns.d.ts +21 -0
  146. package/KubeX/CloudFlare/DynamicDns.js +39 -0
  147. package/KubeX/CloudFlare/Tunnel-Helm.d.ts +17 -0
  148. package/KubeX/CloudFlare/Tunnel-Helm.js +12 -0
  149. package/KubeX/CloudFlare/Tunnel.d.ts +23 -0
  150. package/KubeX/CloudFlare/Tunnel.js +54 -0
  151. package/KubeX/CloudFlare/index.d.ts +13 -0
  152. package/KubeX/CloudFlare/index.js +36 -0
  153. package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +6 -0
  154. package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +60 -0
  155. package/KubeX/ConfigSecret.d.ts +24 -0
  156. package/KubeX/ConfigSecret.js +38 -0
  157. package/KubeX/Core/CertManager/index.d.ts +24 -0
  158. package/KubeX/Core/CertManager/index.js +96 -0
  159. package/KubeX/Core/KsCertSecret.d.ts +12 -0
  160. package/KubeX/Core/KsCertSecret.js +22 -0
  161. package/KubeX/Core/KsSecret.d.ts +9 -0
  162. package/KubeX/Core/KsSecret.js +12 -0
  163. package/KubeX/Core/LoadBalancer/MetalLB.d.ts +7 -0
  164. package/KubeX/Core/LoadBalancer/MetalLB.js +21 -0
  165. package/KubeX/Core/Monitoring/index.d.ts +22 -0
  166. package/KubeX/Core/Monitoring/index.js +322 -0
  167. package/KubeX/Core/Namespace.d.ts +12 -0
  168. package/KubeX/Core/Namespace.js +41 -0
  169. package/KubeX/Core/Nginx/index.d.ts +60 -0
  170. package/KubeX/Core/Nginx/index.js +109 -0
  171. package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
  172. package/KubeX/Core/OAuthProxy/index.js +3 -0
  173. package/KubeX/Core/ResourceQuota.d.ts +12 -0
  174. package/KubeX/Core/ResourceQuota.js +13 -0
  175. package/KubeX/Core/SecurityRules.d.ts +34 -0
  176. package/KubeX/Core/SecurityRules.js +93 -0
  177. package/KubeX/Core/StorageClass/azureBlob.d.ts +20 -0
  178. package/KubeX/Core/StorageClass/azureBlob.js +77 -0
  179. package/KubeX/Core/StorageClass/azureFile.d.ts +17 -0
  180. package/KubeX/Core/StorageClass/azureFile.js +45 -0
  181. package/KubeX/Core/StorageClass/index.d.ts +13 -0
  182. package/KubeX/Core/StorageClass/index.js +25 -0
  183. package/KubeX/Core/index.d.ts +57 -0
  184. package/KubeX/Core/index.js +94 -0
  185. package/KubeX/Databases/MariaDb.d.ts +11 -0
  186. package/KubeX/Databases/MariaDb.js +39 -0
  187. package/KubeX/Databases/MySql.V2.d.ts +11 -0
  188. package/KubeX/Databases/MySql.V2.js +40 -0
  189. package/KubeX/Databases/MySql.d.ts +13 -0
  190. package/KubeX/Databases/MySql.js +55 -0
  191. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +10 -0
  192. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +47 -0
  193. package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +10 -0
  194. package/KubeX/Databases/PostgreSql/PostgreSQL.js +51 -0
  195. package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +13 -0
  196. package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +56 -0
  197. package/KubeX/Databases/PostgreSql/index.d.ts +17 -0
  198. package/KubeX/Databases/PostgreSql/index.js +6 -0
  199. package/KubeX/Databases/RedisCache.d.ts +14 -0
  200. package/KubeX/Databases/RedisCache.js +65 -0
  201. package/KubeX/Databases/SqlServer.d.ts +15 -0
  202. package/KubeX/Databases/SqlServer.js +77 -0
  203. package/KubeX/Deployment/PodAutoscaler.d.ts +14 -0
  204. package/KubeX/Deployment/PodAutoscaler.js +51 -0
  205. package/KubeX/Deployment/index.d.ts +136 -0
  206. package/KubeX/Deployment/index.js +306 -0
  207. package/KubeX/Helpers.d.ts +4 -0
  208. package/KubeX/Helpers.js +17 -0
  209. package/KubeX/Ingress/AppGatewayIngress.d.ts +2 -0
  210. package/KubeX/Ingress/AppGatewayIngress.js +4 -0
  211. package/KubeX/Ingress/Conts.d.ts +13 -0
  212. package/KubeX/Ingress/Conts.js +18 -0
  213. package/KubeX/Ingress/NginxIngress.d.ts +3 -0
  214. package/KubeX/Ingress/NginxIngress.js +186 -0
  215. package/KubeX/Ingress/NginxProxy.d.ts +21 -0
  216. package/KubeX/Ingress/NginxProxy.js +43 -0
  217. package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +15 -0
  218. package/KubeX/Ingress/TraefikIngress/CustomHeader.js +15 -0
  219. package/KubeX/Ingress/TraefikIngress/index.d.ts +11 -0
  220. package/KubeX/Ingress/TraefikIngress/index.js +95 -0
  221. package/KubeX/Ingress/index.d.ts +5 -0
  222. package/KubeX/Ingress/index.js +12 -0
  223. package/KubeX/Ingress/type.d.ts +82 -0
  224. package/KubeX/Ingress/type.js +3 -0
  225. package/KubeX/Providers/index.d.ts +8 -0
  226. package/KubeX/Providers/index.js +15 -0
  227. package/KubeX/Storage/Longhorn/index.d.ts +15 -0
  228. package/KubeX/Storage/Longhorn/index.js +54 -0
  229. package/KubeX/Storage/index.d.ts +25 -0
  230. package/KubeX/Storage/index.js +79 -0
  231. package/KubeX/Tools/AWS/LocalStack.d.ts +7 -0
  232. package/KubeX/Tools/AWS/LocalStack.js +29 -0
  233. package/KubeX/Tools/AWS/S3.d.ts +6 -0
  234. package/KubeX/Tools/AWS/S3.js +44 -0
  235. package/KubeX/Tools/AWS/index.d.ts +7 -0
  236. package/KubeX/Tools/AWS/index.js +14 -0
  237. package/KubeX/Tools/AppHealthzMonitor.d.ts +18 -0
  238. package/KubeX/Tools/AppHealthzMonitor.js +52 -0
  239. package/KubeX/Tools/ArgoCD/index.d.ts +17 -0
  240. package/KubeX/Tools/ArgoCD/index.js +131 -0
  241. package/KubeX/Tools/Dapr/Storage.d.ts +66 -0
  242. package/KubeX/Tools/Dapr/Storage.js +70 -0
  243. package/KubeX/Tools/Dapr/index.d.ts +10 -0
  244. package/KubeX/Tools/Dapr/index.js +31 -0
  245. package/KubeX/Tools/Echo-App.d.ts +3 -0
  246. package/KubeX/Tools/Echo-App.js +21 -0
  247. package/KubeX/Tools/Gitea/GiteaRepo.d.ts +72 -0
  248. package/KubeX/Tools/Gitea/GiteaRepo.js +184 -0
  249. package/KubeX/Tools/Gitea/GiteaRunner.d.ts +11 -0
  250. package/KubeX/Tools/Gitea/GiteaRunner.js +37 -0
  251. package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +11 -0
  252. package/KubeX/Tools/Gitea/GiteaRunner.v1.js +123 -0
  253. package/KubeX/Tools/HarborRepo.d.ts +29 -0
  254. package/KubeX/Tools/HarborRepo.js +78 -0
  255. package/KubeX/Tools/HelloWorld.d.ts +3 -0
  256. package/KubeX/Tools/HelloWorld.js +21 -0
  257. package/KubeX/Tools/KubeCleanup.d.ts +9 -0
  258. package/KubeX/Tools/KubeCleanup.js +34 -0
  259. package/KubeX/Tools/NoIp.d.ts +13 -0
  260. package/KubeX/Tools/NoIp.js +24 -0
  261. package/KubeX/Tools/OpenLDAP/index.d.ts +12 -0
  262. package/KubeX/Tools/OpenLDAP/index.js +56 -0
  263. package/KubeX/Tools/OutlineVpn/index.d.ts +25 -0
  264. package/KubeX/Tools/OutlineVpn/index.js +256 -0
  265. package/KubeX/Tools/SqlPad.d.ts +29 -0
  266. package/KubeX/Tools/SqlPad.js +133 -0
  267. package/KubeX/Tools/ToolPod.d.ts +10 -0
  268. package/KubeX/Tools/ToolPod.js +40 -0
  269. package/KubeX/Tools/UptimeKuma.d.ts +6 -0
  270. package/KubeX/Tools/UptimeKuma.js +38 -0
  271. package/KubeX/Tools/index.d.ts +27 -0
  272. package/KubeX/Tools/index.js +35 -0
  273. package/KubeX/VairableResolvers/index.d.ts +15 -0
  274. package/KubeX/VairableResolvers/index.js +49 -0
  275. package/KubeX/kx/index.d.ts +114 -0
  276. package/KubeX/kx/index.js +423 -0
  277. package/KubeX/types.d.ts +49 -0
  278. package/KubeX/types.js +3 -0
  279. package/Logs/AppInsight.d.ts +16 -0
  280. package/Logs/AppInsight.js +48 -0
  281. package/Logs/Helpers.d.ts +50 -0
  282. package/Logs/Helpers.js +95 -0
  283. package/Logs/LogAnalytics.d.ts +17 -0
  284. package/Logs/LogAnalytics.js +54 -0
  285. package/Logs/WebTest.d.ts +13 -0
  286. package/Logs/WebTest.js +68 -0
  287. package/Logs/index.d.ts +42 -0
  288. package/Logs/index.js +69 -0
  289. package/MySql/index.d.ts +20 -0
  290. package/MySql/index.js +93 -0
  291. package/Postgresql/index.d.ts +20 -0
  292. package/Postgresql/index.js +93 -0
  293. package/ReadMe.md +36 -0
  294. package/RedisCache/index.d.ts +9 -0
  295. package/RedisCache/index.js +79 -0
  296. package/ServiceBus/ServiceBusHelper.d.ts +21 -0
  297. package/ServiceBus/ServiceBusHelper.js +35 -0
  298. package/ServiceBus/index.d.ts +98 -0
  299. package/ServiceBus/index.js +396 -0
  300. package/SignalR/index.d.ts +20 -0
  301. package/SignalR/index.js +114 -0
  302. package/Sql/Auditing.d.ts +0 -0
  303. package/Sql/Auditing.js +2 -0
  304. package/Sql/Helper.d.ts +9 -0
  305. package/Sql/Helper.js +11 -0
  306. package/Sql/SqlDb.d.ts +14 -0
  307. package/Sql/SqlDb.js +42 -0
  308. package/Sql/index.d.ts +44 -0
  309. package/Sql/index.js +236 -0
  310. package/Storage/CdnEndpoint.d.ts +12 -0
  311. package/Storage/CdnEndpoint.js +62 -0
  312. package/Storage/CdnRules.d.ts +6 -0
  313. package/Storage/CdnRules.js +134 -0
  314. package/Storage/Helper.d.ts +28 -0
  315. package/Storage/Helper.js +66 -0
  316. package/Storage/ManagementRules.d.ts +70 -0
  317. package/Storage/ManagementRules.js +32 -0
  318. package/Storage/index.d.ts +55 -0
  319. package/Storage/index.js +264 -0
  320. package/VM/index.d.ts +37 -0
  321. package/VM/index.js +138 -0
  322. package/VNet/Bastion.d.ts +8 -0
  323. package/VNet/Bastion.js +30 -0
  324. package/VNet/Firewall.d.ts +27 -0
  325. package/VNet/Firewall.js +87 -0
  326. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +20 -0
  327. package/VNet/FirewallPolicies/AksFirewallPolicy.js +241 -0
  328. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +14 -0
  329. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +303 -0
  330. package/VNet/FirewallPolicy.d.ts +28 -0
  331. package/VNet/FirewallPolicy.js +110 -0
  332. package/VNet/FirewallRules/AksFirewallRules.d.ts +24 -0
  333. package/VNet/FirewallRules/AksFirewallRules.js +250 -0
  334. package/VNet/FirewallRules/DefaultRules.d.ts +2 -0
  335. package/VNet/FirewallRules/DefaultRules.js +23 -0
  336. package/VNet/FirewallRules/types.d.ts +20 -0
  337. package/VNet/FirewallRules/types.js +5 -0
  338. package/VNet/GlobalNetworkPeering.d.ts +9 -0
  339. package/VNet/GlobalNetworkPeering.js +17 -0
  340. package/VNet/Helper.d.ts +33 -0
  341. package/VNet/Helper.js +86 -0
  342. package/VNet/IpAddress.d.ts +17 -0
  343. package/VNet/IpAddress.js +38 -0
  344. package/VNet/IpAddressPrefix.d.ts +22 -0
  345. package/VNet/IpAddressPrefix.js +42 -0
  346. package/VNet/NSGRules/AzADService.d.ts +10 -0
  347. package/VNet/NSGRules/AzADService.js +45 -0
  348. package/VNet/NetworkPeering.d.ts +10 -0
  349. package/VNet/NetworkPeering.js +29 -0
  350. package/VNet/PrivateDns.d.ts +33 -0
  351. package/VNet/PrivateDns.js +64 -0
  352. package/VNet/PrivateEndpoint.d.ts +9 -0
  353. package/VNet/PrivateEndpoint.js +71 -0
  354. package/VNet/PublicDns.d.ts +21 -0
  355. package/VNet/PublicDns.js +59 -0
  356. package/VNet/RouteTable.d.ts +13 -0
  357. package/VNet/RouteTable.js +23 -0
  358. package/VNet/SecurityGroup.d.ts +8 -0
  359. package/VNet/SecurityGroup.js +13 -0
  360. package/VNet/Subnet.d.ts +26 -0
  361. package/VNet/Subnet.js +48 -0
  362. package/VNet/VirtualWAN.d.ts +25 -0
  363. package/VNet/VirtualWAN.js +40 -0
  364. package/VNet/Vnet.d.ts +51 -0
  365. package/VNet/Vnet.js +196 -0
  366. package/VNet/index.d.ts +65 -0
  367. package/VNet/index.js +198 -0
  368. package/Web/AppCertOrder.d.ts +16 -0
  369. package/Web/AppCertOrder.js +34 -0
  370. package/Web/AppConfig.d.ts +16 -0
  371. package/Web/AppConfig.js +79 -0
  372. package/Web/AppGateway.d.ts +15 -0
  373. package/Web/AppGateway.js +32 -0
  374. package/Web/FuncApp.d.ts +12 -0
  375. package/Web/FuncApp.js +24 -0
  376. package/Web/Helpers.d.ts +6 -0
  377. package/Web/Helpers.js +36 -0
  378. package/Web/WebAppPlan.d.ts +7 -0
  379. package/Web/WebAppPlan.js +26 -0
  380. package/Web/types.d.ts +169 -0
  381. package/Web/types.js +3 -0
  382. package/package.json +34 -0
  383. package/types.d.ts +69 -0
  384. package/types.js +3 -0
  385. package/z_tests/_tools/Mocks.d.ts +2 -0
  386. package/z_tests/_tools/Mocks.js +47 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const k8s = require("@pulumi/kubernetes");
4
+ const pulumi_1 = require("@pulumi/pulumi");
5
+ const Random_1 = require("../../../Core/Random");
6
+ const Identity_1 = require("../../../AzAd/Identity");
7
+ const Role_1 = require("../../../AzAd/Role");
8
+ const AzureEnv_1 = require("../../../Common/AzureEnv");
9
+ const getCaptchaPrefixKey = (captcha) => captcha.type === 'cfturnstile' ? 'CF_TURNSTILE' : captcha.type.toUpperCase();
10
+ const createAzureADIdentity = ({ name, host, vaultInfo, groupMap, }) => {
11
+ //Create 2 Groups for Admin and Users
12
+ const adminGroup = (0, Role_1.default)({
13
+ env: AzureEnv_1.Environments.Dev,
14
+ appName: name,
15
+ roleName: 'Admins',
16
+ includeOrganization: true,
17
+ });
18
+ const devGroup = (0, Role_1.default)({
19
+ env: AzureEnv_1.Environments.Dev,
20
+ appName: name,
21
+ roleName: 'Developers',
22
+ includeOrganization: true,
23
+ members: groupMap
24
+ ? [adminGroup.objectId, ...groupMap.map((g) => g.azureGroupId)]
25
+ : [adminGroup.objectId],
26
+ });
27
+ const identity = (0, Identity_1.default)({
28
+ name,
29
+ appRoleAssignmentRequired: false,
30
+ createPrincipal: false,
31
+ createClientSecret: true,
32
+ appType: 'web',
33
+ replyUrls: [`https://${host}/user/oauth2/AzureAD/callback`],
34
+ vaultInfo,
35
+ optionalClaims: {
36
+ idTokens: [{ name: 'groups', essential: false }],
37
+ accessTokens: [{ name: 'groups', essential: false }],
38
+ },
39
+ });
40
+ const groupTeamMap = groupMap
41
+ ? (0, pulumi_1.output)(groupMap).apply((gs) => {
42
+ const rs = {};
43
+ gs.forEach((g) => {
44
+ rs[g.azureGroupId] = { [g.giteaOrganization]: [g.giteaTeam] };
45
+ });
46
+ return JSON.stringify(rs);
47
+ })
48
+ : undefined;
49
+ return { adminGroup, devGroup, groupTeamMap, identity };
50
+ };
51
+ // https://github.com/go-gitea/gitea
52
+ // https://gitea.com/gitea/helm-chart
53
+ exports.default = ({ name = 'gitea', namespace, host, auth = { disableRegistration: true }, captcha, storageClass, postgres, enabledActions, vaultInfo, provider, dependsOn, }) => {
54
+ const randomPassOptions = {
55
+ length: 16,
56
+ options: { special: false },
57
+ policy: false,
58
+ vaultInfo,
59
+ };
60
+ const captchaConfig = captcha
61
+ ? {
62
+ CAPTCHA_TYPE: captcha.type,
63
+ [`${getCaptchaPrefixKey(captcha)}_SITEKEY`]: captcha.siteKey,
64
+ [`${getCaptchaPrefixKey(captcha)}_SECRET`]: captcha.secret,
65
+ [`${getCaptchaPrefixKey(captcha)}_URL`]: captcha.url ?? '',
66
+ }
67
+ : {};
68
+ const identityInfo = auth?.enableAzureAD
69
+ ? createAzureADIdentity({
70
+ name,
71
+ host,
72
+ vaultInfo,
73
+ groupMap: auth.enableAzureAD.groupMap,
74
+ })
75
+ : undefined;
76
+ const gitea = new k8s.helm.v3.Chart(name, {
77
+ namespace,
78
+ chart: 'gitea',
79
+ fetchOpts: { repo: 'https://dl.gitea.com/charts' },
80
+ values: {
81
+ gitea: {
82
+ admin: auth?.localAdmin
83
+ ? {
84
+ username: auth.localAdmin.username,
85
+ email: auth.localAdmin.email,
86
+ password: (0, Random_1.randomPassword)({
87
+ name: `${name}-admin`,
88
+ ...randomPassOptions,
89
+ }).result,
90
+ }
91
+ : undefined,
92
+ oauth: identityInfo
93
+ ? [
94
+ {
95
+ name: 'AzureAD',
96
+ iconUrl: 'https://code.benco.io/icon-collection/azure-icons/Azure-AD-B2C.svg',
97
+ provider: 'openidConnect',
98
+ key: identityInfo.identity.clientId,
99
+ secret: identityInfo.identity.clientSecret,
100
+ autoDiscoverUrl: (0, pulumi_1.interpolate) `https://login.microsoftonline.com/${AzureEnv_1.tenantId}/v2.0/.well-known/openid-configuration`,
101
+ requiredClaimName: 'groups',
102
+ requiredClaimValue: identityInfo.devGroup.objectId,
103
+ scopes: 'openid email',
104
+ groupClaimName: 'groups',
105
+ adminGroup: identityInfo.adminGroup.objectId,
106
+ groupTeamMap: identityInfo.groupTeamMap,
107
+ },
108
+ ]
109
+ : auth?.oauth
110
+ ? [{ provider: 'openidConnect', ...auth.oauth }]
111
+ : undefined,
112
+ ldap: auth?.ldap,
113
+ config: {
114
+ actions: { ENABLED: `${Boolean(enabledActions)}` },
115
+ admin: {
116
+ DISABLE_REGULAR_ORG_CREATION: 'true', //Only Admin able to create new Organization
117
+ },
118
+ oauth2_client: {
119
+ ENABLE_AUTO_REGISTRATION: 'true',
120
+ ACCOUNT_LINKING: 'auto',
121
+ UPDATE_AVATAR: 'true',
122
+ OPENID_CONNECT_SCOPES: 'openid email',
123
+ USERNAME: 'email',
124
+ },
125
+ openid: {
126
+ ENABLE_OPENID_SIGNIN: 'false',
127
+ ENABLE_OPENID_SIGNUP: 'true',
128
+ WHITELISTED_URIS: 'login.microsoftonline.com google.com',
129
+ },
130
+ database: {
131
+ DB_TYPE: 'postgres',
132
+ HOST: (0, pulumi_1.interpolate) `${postgres.host}:${postgres.port}`,
133
+ NAME: postgres.database,
134
+ USER: postgres.username,
135
+ PASSWD: postgres.password,
136
+ SCHEMA: 'public',
137
+ },
138
+ service: {
139
+ ENABLE_CAPTCHA: `${Boolean(captchaConfig)}`,
140
+ REQUIRE_CAPTCHA_FOR_LOGIN: `${Boolean(captchaConfig)}`,
141
+ ...captchaConfig,
142
+ DISABLE_REGISTRATION: auth?.disableRegistration
143
+ ? 'true'
144
+ : 'false',
145
+ ENABLE_BASIC_AUTHENTICATION: 'false', // `${Boolean(auth?.localAdmin)}`,
146
+ ALLOW_ONLY_EXTERNAL_REGISTRATION: 'true',
147
+ DEFAULT_ALLOW_CREATE_ORGANIZATION: 'true', //only Admin able to create Organization
148
+ SHOW_REGISTRATION_BUTTON: 'false',
149
+ },
150
+ server: {
151
+ DISABLE_SSH: 'true',
152
+ START_SSH_SERVER: 'false',
153
+ //APP_DATA_PATH = /data
154
+ DOMAIN: host,
155
+ HTTP_PORT: '3000',
156
+ PROTOCOL: 'http',
157
+ ROOT_URL: `https://${host}`,
158
+ SSH_DOMAIN: host,
159
+ SSH_LISTEN_PORT: '22',
160
+ SSH_PORT: '22',
161
+ ENABLE_PPROF: 'false',
162
+ DISABLE_REGISTRATION: auth?.disableRegistration
163
+ ? 'true'
164
+ : 'false',
165
+ },
166
+ session: {
167
+ SAME_SITE: 'lax',
168
+ COOKIE_SECURE: 'true',
169
+ COOKIE_NAME: 'gitea_session',
170
+ DOMAIN: host,
171
+ },
172
+ repository: { DEFAULT_PRIVATE: 'true', FORCE_PRIVATE: 'true' },
173
+ },
174
+ },
175
+ 'redis-cluster': { enabled: false },
176
+ postgresql: { enabled: false },
177
+ 'postgresql-ha': { enabled: false },
178
+ persistence: { enabled: true, storageClass },
179
+ strategy: { type: 'Recreate' },
180
+ },
181
+ }, { provider, dependsOn });
182
+ return gitea;
183
+ };
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSZXBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0t1YmVYL1Rvb2xzL0dpdGVhL0dpdGVhUmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBDQUEwQztBQUMxQywyQ0FBNEQ7QUFDNUQsaURBQXNEO0FBRXRELHFEQUFxRDtBQUNyRCw2Q0FBNkM7QUFDN0MsdURBQWtFO0FBaUJsRSxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQ25ELE9BQU8sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFL0UsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQzdCLElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxFQUNULFFBQVEsR0FNVCxFQUFFLEVBQUU7SUFDSCxxQ0FBcUM7SUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBQSxjQUFXLEVBQUM7UUFDN0IsR0FBRyxFQUFFLHVCQUFZLENBQUMsR0FBRztRQUNyQixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLG1CQUFtQixFQUFFLElBQUk7S0FDMUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsSUFBQSxjQUFXLEVBQUM7UUFDM0IsR0FBRyxFQUFFLHVCQUFZLENBQUMsR0FBRztRQUNyQixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLG1CQUFtQixFQUFFLElBQUk7UUFDekIsT0FBTyxFQUFFLFFBQVE7WUFDZixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7S0FDMUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsSUFBQSxrQkFBZSxFQUFDO1FBQy9CLElBQUk7UUFDSix5QkFBeUIsRUFBRSxLQUFLO1FBQ2hDLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxTQUFTLEVBQUUsQ0FBQyxXQUFXLElBQUksK0JBQStCLENBQUM7UUFDM0QsU0FBUztRQUVULGNBQWMsRUFBRTtZQUNkLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDaEQsWUFBWSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNyRDtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLFFBQVE7UUFDM0IsQ0FBQyxDQUFDLElBQUEsZUFBTSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQzVCLE1BQU0sRUFBRSxHQUFRLEVBQUUsQ0FBQztZQUNuQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzFELENBQUMsQ0FBQztBQTBERixvQ0FBb0M7QUFDcEMscUNBQXFDO0FBQ3JDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsT0FBTyxFQUNkLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQ3BDLE9BQU8sRUFDUCxZQUFZLEVBQ1osUUFBUSxFQUNSLGNBQWMsRUFDZCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsR0FDTyxFQUFFLEVBQUU7SUFDcEIsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixNQUFNLEVBQUUsRUFBRTtRQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDM0IsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTO0tBQ1YsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLE9BQU87UUFDM0IsQ0FBQyxDQUFDO1lBQ0UsWUFBWSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQzFCLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDNUQsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTTtZQUMxRCxDQUFDLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRTtTQUMzRDtRQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFUCxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsYUFBYTtRQUN0QyxDQUFDLENBQUMscUJBQXFCLENBQUM7WUFDcEIsSUFBSTtZQUNKLElBQUk7WUFDSixTQUFTO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTtTQUN0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVkLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNqQyxJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLE9BQU87UUFDZCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7UUFFbEQsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVTtvQkFDckIsQ0FBQyxDQUFDO3dCQUNFLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVE7d0JBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7d0JBQzVCLFFBQVEsRUFBRSxJQUFBLHVCQUFjLEVBQUM7NEJBQ3ZCLElBQUksRUFBRSxHQUFHLElBQUksUUFBUTs0QkFDckIsR0FBRyxpQkFBaUI7eUJBQ3JCLENBQUMsQ0FBQyxNQUFNO3FCQUNWO29CQUNILENBQUMsQ0FBQyxTQUFTO2dCQUViLEtBQUssRUFBRSxZQUFZO29CQUNqQixDQUFDLENBQUM7d0JBQ0U7NEJBQ0UsSUFBSSxFQUFFLFNBQVM7NEJBQ2YsT0FBTyxFQUNMLG9FQUFvRTs0QkFDdEUsUUFBUSxFQUFFLGVBQWU7NEJBQ3pCLEdBQUcsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVE7NEJBQ25DLE1BQU0sRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVk7NEJBQzFDLGVBQWUsRUFBRSxJQUFBLG9CQUFXLEVBQUEscUNBQXFDLG1CQUFRLHdDQUF3Qzs0QkFDakgsaUJBQWlCLEVBQUUsUUFBUTs0QkFDM0Isa0JBQWtCLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFROzRCQUNsRCxNQUFNLEVBQUUsY0FBYzs0QkFDdEIsY0FBYyxFQUFFLFFBQVE7NEJBQ3hCLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVE7NEJBQzVDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWTt5QkFDeEM7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLO3dCQUNiLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDaEQsQ0FBQyxDQUFDLFNBQVM7Z0JBRWIsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO2dCQUVoQixNQUFNLEVBQUU7b0JBQ04sT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUU7b0JBRWxELEtBQUssRUFBRTt3QkFDTCw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsNENBQTRDO3FCQUNuRjtvQkFDRCxhQUFhLEVBQUU7d0JBQ2Isd0JBQXdCLEVBQUUsTUFBTTt3QkFDaEMsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLGFBQWEsRUFBRSxNQUFNO3dCQUNyQixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyxRQUFRLEVBQUUsT0FBTztxQkFDbEI7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLG9CQUFvQixFQUFFLE9BQU87d0JBQzdCLG9CQUFvQixFQUFFLE1BQU07d0JBQzVCLGdCQUFnQixFQUFFLHNDQUFzQztxQkFDekQ7b0JBQ0QsUUFBUSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxVQUFVO3dCQUNuQixJQUFJLEVBQUUsSUFBQSxvQkFBVyxFQUFBLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO3dCQUNwRCxJQUFJLEVBQUUsUUFBUSxDQUFDLFFBQVE7d0JBQ3ZCLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUTt3QkFDdkIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUN6QixNQUFNLEVBQUUsUUFBUTtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDM0MseUJBQXlCLEVBQUUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3RELEdBQUcsYUFBYTt3QkFFaEIsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLG1CQUFtQjs0QkFDN0MsQ0FBQyxDQUFDLE1BQU07NEJBQ1IsQ0FBQyxDQUFDLE9BQU87d0JBQ1gsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLGtDQUFrQzt3QkFDeEUsZ0NBQWdDLEVBQUUsTUFBTTt3QkFDeEMsaUNBQWlDLEVBQUUsTUFBTSxFQUFFLHdDQUF3Qzt3QkFDbkYsd0JBQXdCLEVBQUUsT0FBTztxQkFDbEM7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLFdBQVcsRUFBRSxNQUFNO3dCQUNuQixnQkFBZ0IsRUFBRSxPQUFPO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLE1BQU0sRUFBRSxJQUFJO3dCQUNaLFNBQVMsRUFBRSxNQUFNO3dCQUNqQixRQUFRLEVBQUUsTUFBTTt3QkFDaEIsUUFBUSxFQUFFLFdBQVcsSUFBSSxFQUFFO3dCQUMzQixVQUFVLEVBQUUsSUFBSTt3QkFDaEIsZUFBZSxFQUFFLElBQUk7d0JBQ3JCLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFlBQVksRUFBRSxPQUFPO3dCQUVyQixvQkFBb0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1COzRCQUM3QyxDQUFDLENBQUMsTUFBTTs0QkFDUixDQUFDLENBQUMsT0FBTztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsU0FBUyxFQUFFLEtBQUs7d0JBQ2hCLGFBQWEsRUFBRSxNQUFNO3dCQUNyQixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7b0JBQ0QsVUFBVSxFQUFFLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFO2lCQUMvRDthQUNGO1lBRUQsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUNuQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQzlCLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFFbkMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7WUFFNUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtTQUMvQjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQ3hCLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyJ9
@@ -0,0 +1,11 @@
1
+ import { DefaultK8sArgs } from '../../types';
2
+ import { Input } from '@pulumi/pulumi';
3
+ import * as k8s from '@pulumi/kubernetes';
4
+ interface GiteaRunnerProps extends DefaultK8sArgs {
5
+ storageClassName: Input<string>;
6
+ giteaUrl?: Input<string>;
7
+ giteaToken: Input<string>;
8
+ labels?: Input<string>;
9
+ }
10
+ declare const _default: ({ name, namespace, storageClassName, labels, giteaUrl, giteaToken, resources, ...others }: GiteaRunnerProps) => k8s.helm.v3.Chart;
11
+ export default _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const k8s = require("@pulumi/kubernetes");
4
+ //https://github.com/kha7iq/charts/tree/main/charts/act-runner
5
+ exports.default = ({ name = 'gitea-runner', namespace, storageClassName, labels, giteaUrl, giteaToken,
6
+ //enabledDind = true,
7
+ resources, ...others }) => {
8
+ const env = [
9
+ { name: 'DOCKER_HOST', value: 'tcp://localhost:2376' },
10
+ { name: 'DOCKER_CERT_PATH', value: '/certs/client' },
11
+ { name: 'DOCKER_TLS_VERIFY', value: '1' },
12
+ { name: 'GITEA_RUNNER_NAME', value: name },
13
+ { name: 'VALID_VOLUMES', value: '**' },
14
+ { name: 'NETWORK', value: 'bridge' },
15
+ ];
16
+ if (labels) {
17
+ env.push({
18
+ name: 'GITEA_RUNNER_LABELS',
19
+ value: `${labels},ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster`,
20
+ });
21
+ }
22
+ return new k8s.helm.v3.Chart(name, {
23
+ namespace,
24
+ chart: 'act-runner',
25
+ fetchOpts: { repo: 'https://charts.lmno.pk' },
26
+ values: {
27
+ env,
28
+ runner: {
29
+ instanceURL: giteaUrl,
30
+ runnerToken: { value: giteaToken },
31
+ dockerDind: { enabled: true },
32
+ },
33
+ persistence: { storageClassName },
34
+ },
35
+ }, others);
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSdW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvR2l0ZWEvR2l0ZWFSdW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwwQ0FBMEM7QUFXMUMsOERBQThEO0FBQzlELGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsY0FBYyxFQUNyQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixRQUFRLEVBQ1IsVUFBVTtBQUNWLHFCQUFxQjtBQUNyQixTQUFTLEVBQ1QsR0FBRyxNQUFNLEVBQ1EsRUFBRSxFQUFFO0lBQ3JCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtRQUN0RCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQ3BELEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDekMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUMxQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN0QyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtLQUNyQyxDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLEtBQUssRUFBRSxHQUFHLE1BQU0sNkpBQTZKO1NBQzlLLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUMxQixJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLFlBQVk7UUFDbkIsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1FBRTdDLE1BQU0sRUFBRTtZQUNOLEdBQUc7WUFDSCxNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBQ2xDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7YUFDOUI7WUFDRCxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRTtTQUNsQztLQUNGLEVBQ0QsTUFBTSxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -0,0 +1,11 @@
1
+ import { DefaultK8sArgs } from '../../types';
2
+ import { Input } from '@pulumi/pulumi';
3
+ interface GiteaRunnerProps extends DefaultK8sArgs {
4
+ storageClassName: Input<string>;
5
+ giteaUrl?: Input<string>;
6
+ giteaToken: Input<string>;
7
+ labels?: Input<string>;
8
+ storageGb?: number;
9
+ }
10
+ declare const _default: ({ name, namespace, storageClassName, labels, storageGb, giteaUrl, giteaToken, resources, ...others }: GiteaRunnerProps) => import("@pulumi/kubernetes/apps/v1/deployment").Deployment;
11
+ export default _default;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const kubernetes_1 = require("@pulumi/kubernetes");
4
+ const Storage_1 = require("../../Storage");
5
+ const KsSecret_1 = require("../../Core/KsSecret");
6
+ exports.default = ({ name = 'gitea-runner', namespace, storageClassName, labels, storageGb = 10, giteaUrl, giteaToken, resources, ...others }) => {
7
+ const userId = 1000;
8
+ const dockerSock = `/run/user/${userId}/docker.sock`;
9
+ const persisVolume = (0, Storage_1.createPVCForStorageClass)({
10
+ name,
11
+ namespace,
12
+ accessMode: 'ReadWriteOnce',
13
+ storageGb: `${storageGb}Gi`,
14
+ storageClassName,
15
+ ...others,
16
+ });
17
+ const env = [
18
+ {
19
+ name: 'DOCKER_HOST',
20
+ value: `unix://${dockerSock}`,
21
+ },
22
+ // {
23
+ // name: 'DOCKER_CERT_PATH',
24
+ // value: '/certs/client',
25
+ // },
26
+ // {
27
+ // name: 'DOCKER_TLS_VERIFY',
28
+ // value: '0',
29
+ // },
30
+ {
31
+ name: 'GITEA_RUNNER_NAME',
32
+ value: name,
33
+ },
34
+ {
35
+ name: 'GITEA_INSTANCE_URL',
36
+ value: giteaUrl,
37
+ },
38
+ ];
39
+ if (labels) {
40
+ env.push({
41
+ name: 'GITEA_RUNNER_LABELS',
42
+ value: `${labels},ubuntu-latest:docker://catthehacker/ubuntu:runner-22.04,ubuntu-22.04:docker://catthehacker/ubuntu:runner-22.04,ubuntu-20.04:docker://catthehacker/ubuntu:runner-20.04`,
43
+ });
44
+ }
45
+ else
46
+ env.push({
47
+ name: 'GITEA_RUNNER_LABELS',
48
+ value: 'ubuntu-latest:docker://catthehacker/ubuntu:runner-22.04,ubuntu-22.04:docker://catthehacker/ubuntu:runner-22.04,ubuntu-20.04:docker://catthehacker/ubuntu:runner-20.04',
49
+ });
50
+ const secret = (0, KsSecret_1.default)({
51
+ name,
52
+ namespace,
53
+ stringData: {
54
+ GITEA_RUNNER_REGISTRATION_TOKEN: giteaToken,
55
+ },
56
+ ...others,
57
+ });
58
+ return new kubernetes_1.apps.v1.Deployment(name, {
59
+ metadata: {
60
+ name,
61
+ namespace,
62
+ labels: { app: name },
63
+ },
64
+ spec: {
65
+ replicas: 1,
66
+ selector: { matchLabels: { app: name } },
67
+ strategy: {},
68
+ template: {
69
+ metadata: { labels: { app: name } },
70
+ spec: {
71
+ securityContext: {
72
+ runAsUser: userId,
73
+ runAsGroup: userId,
74
+ fsGroup: userId,
75
+ },
76
+ containers: [
77
+ {
78
+ command: [
79
+ 'sh',
80
+ '-c',
81
+ `(sleep 10 && chmod a+rwx ${dockerSock}) & /usr/bin/supervisord -c /etc/supervisord.conf`,
82
+ ],
83
+ image: 'gitea/act_runner:nightly-dind-rootless',
84
+ name: 'runner',
85
+ env,
86
+ envFrom: [
87
+ {
88
+ secretRef: {
89
+ name: secret.metadata.name,
90
+ },
91
+ },
92
+ ],
93
+ securityContext: {
94
+ privileged: true,
95
+ },
96
+ volumeMounts: [
97
+ {
98
+ mountPath: '/data',
99
+ name: 'runner-data',
100
+ },
101
+ ],
102
+ resources: {
103
+ requests: {
104
+ 'ephemeral-storage': '10Gi',
105
+ },
106
+ },
107
+ },
108
+ ],
109
+ restartPolicy: 'Always',
110
+ volumes: [
111
+ {
112
+ name: 'runner-data',
113
+ persistentVolumeClaim: {
114
+ claimName: persisVolume.metadata.name,
115
+ },
116
+ },
117
+ ],
118
+ },
119
+ },
120
+ },
121
+ }, others);
122
+ };
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSdW5uZXIudjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvR2l0ZWEvR2l0ZWFSdW5uZXIudjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxtREFBMEM7QUFFMUMsMkNBQXlEO0FBRXpELGtEQUEyQztBQVczQyxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxHQUFHLGNBQWMsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEVBQ04sU0FBUyxHQUFHLEVBQUUsRUFDZCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDUSxFQUFFLEVBQUU7SUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLE1BQU0sVUFBVSxHQUFHLGFBQWEsTUFBTSxjQUFjLENBQUM7SUFFckQsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBd0IsRUFBQztRQUM1QyxJQUFJO1FBQ0osU0FBUztRQUNULFVBQVUsRUFBRSxlQUFlO1FBQzNCLFNBQVMsRUFBRSxHQUFHLFNBQVMsSUFBSTtRQUMzQixnQkFBZ0I7UUFDaEIsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUc7UUFDVjtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLEtBQUssRUFBRSxVQUFVLFVBQVUsRUFBRTtTQUM5QjtRQUNELElBQUk7UUFDSiw4QkFBOEI7UUFDOUIsNEJBQTRCO1FBQzVCLEtBQUs7UUFDTCxJQUFJO1FBQ0osK0JBQStCO1FBQy9CLGdCQUFnQjtRQUNoQixLQUFLO1FBQ0w7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsS0FBSyxFQUFFLFFBQVE7U0FDaEI7S0FDRixDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLEtBQUssRUFBRSxHQUFHLE1BQU0sd0tBQXdLO1NBQ3pMLENBQUMsQ0FBQztJQUNMLENBQUM7O1FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNQLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsS0FBSyxFQUNILHVLQUF1SztTQUMxSyxDQUFDLENBQUM7SUFFTCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFRLEVBQUM7UUFDdEIsSUFBSTtRQUNKLFNBQVM7UUFDVCxVQUFVLEVBQUU7WUFDViwrQkFBK0IsRUFBRSxVQUFVO1NBQzVDO1FBQ0QsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGlCQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FDM0IsSUFBSSxFQUNKO1FBQ0UsUUFBUSxFQUFFO1lBQ1IsSUFBSTtZQUNKLFNBQVM7WUFDVCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO1NBQ3RCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNuQyxJQUFJLEVBQUU7b0JBQ0osZUFBZSxFQUFFO3dCQUNmLFNBQVMsRUFBRSxNQUFNO3dCQUNqQixVQUFVLEVBQUUsTUFBTTt3QkFDbEIsT0FBTyxFQUFFLE1BQU07cUJBQ2hCO29CQUNELFVBQVUsRUFBRTt3QkFDVjs0QkFDRSxPQUFPLEVBQUU7Z0NBQ1AsSUFBSTtnQ0FDSixJQUFJO2dDQUNKLDRCQUE0QixVQUFVLG1EQUFtRDs2QkFDMUY7NEJBQ0QsS0FBSyxFQUFFLHdDQUF3Qzs0QkFDL0MsSUFBSSxFQUFFLFFBQVE7NEJBRWQsR0FBRzs0QkFDSCxPQUFPLEVBQUU7Z0NBQ1A7b0NBQ0UsU0FBUyxFQUFFO3dDQUNULElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7cUNBQzNCO2lDQUNGOzZCQUNGOzRCQUNELGVBQWUsRUFBRTtnQ0FDZixVQUFVLEVBQUUsSUFBSTs2QkFDakI7NEJBQ0QsWUFBWSxFQUFFO2dDQUNaO29DQUNFLFNBQVMsRUFBRSxPQUFPO29DQUNsQixJQUFJLEVBQUUsYUFBYTtpQ0FDcEI7NkJBQ0Y7NEJBRUQsU0FBUyxFQUFFO2dDQUNULFFBQVEsRUFBRTtvQ0FDUixtQkFBbUIsRUFBRSxNQUFNO2lDQUM1Qjs2QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxhQUFhLEVBQUUsUUFBUTtvQkFDdkIsT0FBTyxFQUFFO3dCQUNQOzRCQUNFLElBQUksRUFBRSxhQUFhOzRCQUNuQixxQkFBcUIsRUFBRTtnQ0FDckIsU0FBUyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSTs2QkFDdEM7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
@@ -0,0 +1,29 @@
1
+ import { DefaultK8sArgs } from '../types';
2
+ import * as k8s from '@pulumi/kubernetes';
3
+ import { Input } from '@pulumi/pulumi';
4
+ import { KeyVaultInfo } from '../../types';
5
+ interface HarborRepoProps extends DefaultK8sArgs {
6
+ vaultInfo?: KeyVaultInfo;
7
+ externalURL: string;
8
+ coreURL: string;
9
+ notaryURL: string;
10
+ tlsSecretName: string;
11
+ storageClass: Input<string>;
12
+ accessMode?: 'ReadWriteMany' | 'ReadWriteOnce';
13
+ postgres: {
14
+ host: Input<string>;
15
+ port: Input<number>;
16
+ coreDatabase: Input<string>;
17
+ username: Input<string>;
18
+ password: Input<string>;
19
+ sslmode?: boolean;
20
+ };
21
+ redis?: {
22
+ addr: Input<string>;
23
+ port: Input<number>;
24
+ username: Input<string>;
25
+ password: Input<string>;
26
+ };
27
+ }
28
+ declare const _default: ({ name, namespace, externalURL, coreURL, notaryURL, tlsSecretName, storageClass, accessMode, postgres, redis, vaultInfo, provider, dependsOn, }: HarborRepoProps) => k8s.helm.v3.Chart;
29
+ export default _default;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const k8s = require("@pulumi/kubernetes");
4
+ const Random_1 = require("../../Core/Random");
5
+ //https://github.com/goharbor/harbor-helm
6
+ exports.default = ({ name = 'harbor', namespace, externalURL, coreURL, notaryURL, tlsSecretName, storageClass, accessMode = 'ReadWriteOnce', postgres, redis, vaultInfo, provider, dependsOn, }) => {
7
+ const redisType = redis ? 'external' : 'internal';
8
+ const randomPassOptions = {
9
+ length: 16,
10
+ options: { special: false },
11
+ policy: false,
12
+ vaultInfo,
13
+ };
14
+ const harbor = new k8s.helm.v3.Chart(name, {
15
+ namespace,
16
+ chart: 'harbor',
17
+ fetchOpts: { repo: 'https://helm.goharbor.io' },
18
+ values: {
19
+ expose: {
20
+ type: 'clusterIP', // ingress, clusterIP, nodePort, loadBalancer
21
+ tls: { auto: { commonName: externalURL.replace('https://', '') } },
22
+ ingress: {
23
+ hosts: {
24
+ core: coreURL,
25
+ notary: notaryURL,
26
+ secretName: tlsSecretName,
27
+ },
28
+ },
29
+ },
30
+ externalURL,
31
+ //Admin Password
32
+ harborAdminPassword: (0, Random_1.randomPassword)({
33
+ name: `${name}-admin`,
34
+ ...randomPassOptions,
35
+ }).result,
36
+ // secret: randomPassword({
37
+ // name: `${name}-secret`,
38
+ // ...randomPassOptions,
39
+ // }).result,
40
+ //Secret key for encryption mus be 16 characters
41
+ secretKey: (0, Random_1.randomPassword)({
42
+ name: `${name}-secretKey`,
43
+ ...randomPassOptions,
44
+ }).result,
45
+ trivy: { enabled: true },
46
+ database: { type: 'external', external: postgres },
47
+ redis: {
48
+ type: redisType,
49
+ external: redis,
50
+ internal: redisType === 'internal' ? {} : undefined,
51
+ },
52
+ persistence: {
53
+ persistentVolumeClaim: {
54
+ registry: {
55
+ storageClass,
56
+ accessMode,
57
+ },
58
+ chartmuseum: {
59
+ storageClass,
60
+ accessMode,
61
+ },
62
+ jobservice: {
63
+ storageClass,
64
+ accessMode,
65
+ },
66
+ redis: redisType === 'internal'
67
+ ? {
68
+ storageClass,
69
+ accessMode,
70
+ }
71
+ : undefined,
72
+ },
73
+ },
74
+ },
75
+ }, { provider, dependsOn });
76
+ return harbor;
77
+ };
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFyYm9yUmVwby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9IYXJib3JSZXBvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsMENBQTBDO0FBRTFDLDhDQUFtRDtBQTZCbkQseUNBQXlDO0FBQ3pDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsUUFBUSxFQUNmLFNBQVMsRUFFVCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEVBRWIsWUFBWSxFQUNaLFVBQVUsR0FBRyxlQUFlLEVBQzVCLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEdBQ08sRUFBRSxFQUFFO0lBQ3BCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDbEQsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixNQUFNLEVBQUUsRUFBRTtRQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDM0IsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTO0tBQ1YsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNsQyxJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLFFBQVE7UUFDZixTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7UUFFL0MsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxXQUFXLEVBQUUsNkNBQTZDO2dCQUNoRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEUsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixNQUFNLEVBQUUsU0FBUzt3QkFDakIsVUFBVSxFQUFFLGFBQWE7cUJBQzFCO2lCQUNGO2FBQ0Y7WUFDRCxXQUFXO1lBRVgsZ0JBQWdCO1lBQ2hCLG1CQUFtQixFQUFFLElBQUEsdUJBQWMsRUFBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxRQUFRO2dCQUNyQixHQUFHLGlCQUFpQjthQUNyQixDQUFDLENBQUMsTUFBTTtZQUVULDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLGFBQWE7WUFFYixnREFBZ0Q7WUFDaEQsU0FBUyxFQUFFLElBQUEsdUJBQWMsRUFBQztnQkFDeEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxZQUFZO2dCQUN6QixHQUFHLGlCQUFpQjthQUNyQixDQUFDLENBQUMsTUFBTTtZQUVULEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ2xELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3BEO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLHFCQUFxQixFQUFFO29CQUNyQixRQUFRLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixVQUFVO3FCQUNYO29CQUNELFdBQVcsRUFBRTt3QkFDWCxZQUFZO3dCQUNaLFVBQVU7cUJBQ1g7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLFlBQVk7d0JBQ1osVUFBVTtxQkFDWDtvQkFDRCxLQUFLLEVBQ0gsU0FBUyxLQUFLLFVBQVU7d0JBQ3RCLENBQUMsQ0FBQzs0QkFDRSxZQUFZOzRCQUNaLFVBQVU7eUJBQ1g7d0JBQ0gsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hCO2FBQ0Y7U0FDRjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQ3hCLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { DefaultKsAppArgs } from '../types';
2
+ declare const _default: ({ namespace, ingress, ...others }: DefaultKsAppArgs) => void;
3
+ export default _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Deployment_1 = require("../Deployment");
4
+ exports.default = ({ namespace, ingress, ...others }) => {
5
+ const name = 'hello-world';
6
+ const image = 'strm/helloworld-http';
7
+ const port = 80;
8
+ (0, Deployment_1.default)({
9
+ name,
10
+ namespace,
11
+ podConfig: {
12
+ image,
13
+ ports: { http: port },
14
+ resources: { requests: { memory: '1Mi', cpu: '1m' } },
15
+ },
16
+ deploymentConfig: { replicas: 1 },
17
+ ingressConfig: ingress,
18
+ ...others,
19
+ });
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVsbG9Xb3JsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9IZWxsb1dvcmxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQXVDO0FBR3ZDLGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFvQixFQUFFLEVBQUU7SUFDckUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDO0lBQzNCLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVoQixJQUFBLG9CQUFVLEVBQUM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUVULFNBQVMsRUFBRTtZQUNULEtBQUs7WUFDTCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1NBQ3REO1FBQ0QsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1FBQ2pDLGFBQWEsRUFBRSxPQUFPO1FBRXRCLEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
@@ -0,0 +1,9 @@
1
+ import * as k8s from '@pulumi/kubernetes';
2
+ import { Input, Resource } from '@pulumi/pulumi';
3
+ interface Props {
4
+ namespace: Input<string>;
5
+ provider: k8s.Provider;
6
+ dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
7
+ }
8
+ declare const _default: ({ namespace, provider, dependsOn }: Props) => void;
9
+ export default _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const k8s = require("@pulumi/kubernetes");
4
+ const SecurityRules_1 = require("../Core/SecurityRules");
5
+ exports.default = ({ namespace, provider, dependsOn }) => {
6
+ const name = 'kube-cleanup-operator';
7
+ new k8s.helm.v3.Chart(name, {
8
+ namespace,
9
+ chart: 'kube-cleanup-operator',
10
+ fetchOpts: {
11
+ repo: 'http://charts.lwolf.org',
12
+ },
13
+ values: {
14
+ rbac: {
15
+ global: true,
16
+ },
17
+ args: [
18
+ //'--namespace=default',
19
+ '--delete-successful-after=24h0m0s',
20
+ '--delete-failed-after=0',
21
+ '--delete-pending-pods-after=0',
22
+ '--delete-evicted-pods-after=0',
23
+ '--delete-orphaned-pods-after=0',
24
+ //'--ignore-owned-by-cronjobs=false',
25
+ //'--dry-run=false',
26
+ '--legacy-mode=false',
27
+ ],
28
+ },
29
+ transformations: [
30
+ (obj) => (0, SecurityRules_1.applyDeploymentRules)(obj, { disableServiceAccount: false }),
31
+ ],
32
+ }, { provider, dependsOn });
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS3ViZUNsZWFudXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvS3ViZUNsZWFudXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQ0FBMEM7QUFFMUMseURBQTZEO0FBUTdELGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBUyxFQUFFLEVBQUU7SUFDM0QsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFFckMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQ25CLElBQUksRUFDSjtRQUNFLFNBQVM7UUFDVCxLQUFLLEVBQUUsdUJBQXVCO1FBQzlCLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSx5QkFBeUI7U0FDaEM7UUFFRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUk7YUFDYjtZQUNELElBQUksRUFBRTtnQkFDSix3QkFBd0I7Z0JBQ3hCLG1DQUFtQztnQkFDbkMseUJBQXlCO2dCQUN6QiwrQkFBK0I7Z0JBQy9CLCtCQUErQjtnQkFDL0IsZ0NBQWdDO2dCQUNoQyxxQ0FBcUM7Z0JBQ3JDLG9CQUFvQjtnQkFDcEIscUJBQXFCO2FBQ3RCO1NBQ0Y7UUFFRCxlQUFlLEVBQUU7WUFDZixDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ1gsSUFBQSxvQ0FBb0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUM5RDtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQ3hCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -0,0 +1,13 @@
1
+ import * as k8s from '@pulumi/kubernetes';
2
+ import { Input, Resource } from '@pulumi/pulumi';
3
+ export interface NoIpProps {
4
+ namespace: Input<string>;
5
+ username: Input<string>;
6
+ password: Input<string>;
7
+ domain: Input<string>;
8
+ interval?: number;
9
+ provider: k8s.Provider;
10
+ dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
11
+ }
12
+ declare const _default: ({ namespace, username, password, domain, interval, ...others }: NoIpProps) => void;
13
+ export default _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Deployment_1 = require("../Deployment");
4
+ exports.default = ({ namespace, username, password, domain, interval = 5, ...others }) => {
5
+ const name = 'no-ip';
6
+ const image = 'aanousakis/no-ip:v1';
7
+ (0, Deployment_1.default)({
8
+ name,
9
+ namespace,
10
+ configMap: {
11
+ INTERVAL: interval.toString(),
12
+ DOMAINS: domain,
13
+ },
14
+ secrets: { USERNAME: username, PASSWORD: password },
15
+ podConfig: {
16
+ ports: { http: 8080 },
17
+ image,
18
+ resources: { requests: { memory: '1Mi', cpu: '1m' } },
19
+ },
20
+ deploymentConfig: { replicas: 1 },
21
+ ...others,
22
+ });
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9JcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9Ob0lwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOENBQXVDO0FBWXZDLGtCQUFlLENBQUMsRUFDZCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxHQUFHLENBQUMsRUFDWixHQUFHLE1BQU0sRUFDQyxFQUFFLEVBQUU7SUFDZCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUM7SUFDckIsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUM7SUFFcEMsSUFBQSxvQkFBVSxFQUFDO1FBQ1QsSUFBSTtRQUNKLFNBQVM7UUFFVCxTQUFTLEVBQUU7WUFDVCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUM3QixPQUFPLEVBQUUsTUFBTTtTQUNoQjtRQUNELE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtRQUVuRCxTQUFTLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLEtBQUs7WUFDTCxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtTQUN0RDtRQUNELGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtRQUVqQyxHQUFHLE1BQU07S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
@@ -0,0 +1,12 @@
1
+ import * as k8s from '@pulumi/kubernetes';
2
+ import { DefaultK8sArgs } from '../../types';
3
+ import { KeyVaultInfo } from '../../../types';
4
+ export interface OpenLDAPProps extends Omit<DefaultK8sArgs, 'namespace'> {
5
+ vaultInfo?: KeyVaultInfo;
6
+ namespace?: string;
7
+ replicas?: number;
8
+ storageClassName: string;
9
+ ldapDomain: string;
10
+ }
11
+ declare const _default: ({ name, namespace, vaultInfo, resources, replicas, ldapDomain, storageClassName, ...others }: OpenLDAPProps) => k8s.helm.v3.Chart;
12
+ export default _default;