@drunk-pulumi/azure 0.0.19 → 0.0.21

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 (162) hide show
  1. package/Aks/Helper.d.ts +0 -18
  2. package/Aks/Helper.js +50 -32
  3. package/Common/AutoTags.js +2 -1
  4. package/package.json +3 -6
  5. package/KubeX/AcrSecret.d.ts +0 -15
  6. package/KubeX/AcrSecret.js +0 -31
  7. package/KubeX/Apps/AstroPage.d.ts +0 -12
  8. package/KubeX/Apps/AstroPage.js +0 -33
  9. package/KubeX/Apps/KafKa.d.ts +0 -6
  10. package/KubeX/Apps/KafKa.js +0 -13
  11. package/KubeX/Apps/Nobelium.d.ts +0 -13
  12. package/KubeX/Apps/Nobelium.js +0 -37
  13. package/KubeX/Apps/Wikijs.d.ts +0 -30
  14. package/KubeX/Apps/Wikijs.js +0 -54
  15. package/KubeX/Apps/WordPress.d.ts +0 -24
  16. package/KubeX/Apps/WordPress.js +0 -55
  17. package/KubeX/Apps/YarpProxy/index.d.ts +0 -17
  18. package/KubeX/Apps/YarpProxy/index.js +0 -107
  19. package/KubeX/Apps/YarpProxy/type.d.ts +0 -55
  20. package/KubeX/Apps/YarpProxy/type.js +0 -3
  21. package/KubeX/CertHelper.d.ts +0 -1
  22. package/KubeX/CertHelper.js +0 -9
  23. package/KubeX/CertImports.d.ts +0 -19
  24. package/KubeX/CertImports.js +0 -70
  25. package/KubeX/CloudFlare/CertCreator.d.ts +0 -19
  26. package/KubeX/CloudFlare/CertCreator.js +0 -90
  27. package/KubeX/CloudFlare/CertImports.d.ts +0 -17
  28. package/KubeX/CloudFlare/CertImports.js +0 -34
  29. package/KubeX/CloudFlare/DynamicDns.d.ts +0 -21
  30. package/KubeX/CloudFlare/DynamicDns.js +0 -39
  31. package/KubeX/CloudFlare/Tunnel-Helm.d.ts +0 -17
  32. package/KubeX/CloudFlare/Tunnel-Helm.js +0 -12
  33. package/KubeX/CloudFlare/Tunnel.d.ts +0 -23
  34. package/KubeX/CloudFlare/Tunnel.js +0 -54
  35. package/KubeX/CloudFlare/index.d.ts +0 -13
  36. package/KubeX/CloudFlare/index.js +0 -36
  37. package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +0 -6
  38. package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +0 -60
  39. package/KubeX/ConfigSecret.d.ts +0 -24
  40. package/KubeX/ConfigSecret.js +0 -38
  41. package/KubeX/Core/CertManager/index.d.ts +0 -24
  42. package/KubeX/Core/CertManager/index.js +0 -96
  43. package/KubeX/Core/KsCertSecret.d.ts +0 -12
  44. package/KubeX/Core/KsCertSecret.js +0 -22
  45. package/KubeX/Core/KsSecret.d.ts +0 -9
  46. package/KubeX/Core/KsSecret.js +0 -12
  47. package/KubeX/Core/LoadBalancer/MetalLB.d.ts +0 -7
  48. package/KubeX/Core/LoadBalancer/MetalLB.js +0 -21
  49. package/KubeX/Core/Monitoring/index.d.ts +0 -22
  50. package/KubeX/Core/Monitoring/index.js +0 -322
  51. package/KubeX/Core/Namespace.d.ts +0 -12
  52. package/KubeX/Core/Namespace.js +0 -41
  53. package/KubeX/Core/Nginx/index.d.ts +0 -60
  54. package/KubeX/Core/Nginx/index.js +0 -109
  55. package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
  56. package/KubeX/Core/OAuthProxy/index.js +0 -3
  57. package/KubeX/Core/ResourceQuota.d.ts +0 -12
  58. package/KubeX/Core/ResourceQuota.js +0 -13
  59. package/KubeX/Core/SecurityRules.d.ts +0 -34
  60. package/KubeX/Core/SecurityRules.js +0 -93
  61. package/KubeX/Core/StorageClass/azureBlob.d.ts +0 -20
  62. package/KubeX/Core/StorageClass/azureBlob.js +0 -77
  63. package/KubeX/Core/StorageClass/azureFile.d.ts +0 -17
  64. package/KubeX/Core/StorageClass/azureFile.js +0 -45
  65. package/KubeX/Core/StorageClass/index.d.ts +0 -13
  66. package/KubeX/Core/StorageClass/index.js +0 -25
  67. package/KubeX/Core/index.d.ts +0 -57
  68. package/KubeX/Core/index.js +0 -94
  69. package/KubeX/Databases/MariaDb.d.ts +0 -11
  70. package/KubeX/Databases/MariaDb.js +0 -39
  71. package/KubeX/Databases/MySql.V2.d.ts +0 -11
  72. package/KubeX/Databases/MySql.V2.js +0 -40
  73. package/KubeX/Databases/MySql.d.ts +0 -13
  74. package/KubeX/Databases/MySql.js +0 -55
  75. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +0 -10
  76. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +0 -47
  77. package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +0 -10
  78. package/KubeX/Databases/PostgreSql/PostgreSQL.js +0 -51
  79. package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +0 -13
  80. package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +0 -56
  81. package/KubeX/Databases/PostgreSql/index.d.ts +0 -17
  82. package/KubeX/Databases/PostgreSql/index.js +0 -6
  83. package/KubeX/Databases/RedisCache.d.ts +0 -14
  84. package/KubeX/Databases/RedisCache.js +0 -65
  85. package/KubeX/Databases/SqlServer.d.ts +0 -15
  86. package/KubeX/Databases/SqlServer.js +0 -77
  87. package/KubeX/Deployment/PodAutoscaler.d.ts +0 -14
  88. package/KubeX/Deployment/PodAutoscaler.js +0 -51
  89. package/KubeX/Deployment/index.d.ts +0 -136
  90. package/KubeX/Deployment/index.js +0 -306
  91. package/KubeX/Helpers.d.ts +0 -4
  92. package/KubeX/Helpers.js +0 -17
  93. package/KubeX/Ingress/AppGatewayIngress.d.ts +0 -2
  94. package/KubeX/Ingress/AppGatewayIngress.js +0 -4
  95. package/KubeX/Ingress/Conts.d.ts +0 -13
  96. package/KubeX/Ingress/Conts.js +0 -18
  97. package/KubeX/Ingress/NginxIngress.d.ts +0 -3
  98. package/KubeX/Ingress/NginxIngress.js +0 -186
  99. package/KubeX/Ingress/NginxProxy.d.ts +0 -21
  100. package/KubeX/Ingress/NginxProxy.js +0 -43
  101. package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +0 -15
  102. package/KubeX/Ingress/TraefikIngress/CustomHeader.js +0 -15
  103. package/KubeX/Ingress/TraefikIngress/index.d.ts +0 -11
  104. package/KubeX/Ingress/TraefikIngress/index.js +0 -95
  105. package/KubeX/Ingress/index.d.ts +0 -5
  106. package/KubeX/Ingress/index.js +0 -12
  107. package/KubeX/Ingress/type.d.ts +0 -82
  108. package/KubeX/Ingress/type.js +0 -3
  109. package/KubeX/Providers/index.d.ts +0 -8
  110. package/KubeX/Providers/index.js +0 -15
  111. package/KubeX/Storage/Longhorn/index.d.ts +0 -15
  112. package/KubeX/Storage/Longhorn/index.js +0 -54
  113. package/KubeX/Storage/index.d.ts +0 -25
  114. package/KubeX/Storage/index.js +0 -79
  115. package/KubeX/Tools/AWS/LocalStack.d.ts +0 -7
  116. package/KubeX/Tools/AWS/LocalStack.js +0 -29
  117. package/KubeX/Tools/AWS/S3.d.ts +0 -6
  118. package/KubeX/Tools/AWS/S3.js +0 -44
  119. package/KubeX/Tools/AWS/index.d.ts +0 -7
  120. package/KubeX/Tools/AWS/index.js +0 -14
  121. package/KubeX/Tools/AppHealthzMonitor.d.ts +0 -18
  122. package/KubeX/Tools/AppHealthzMonitor.js +0 -52
  123. package/KubeX/Tools/ArgoCD/index.d.ts +0 -17
  124. package/KubeX/Tools/ArgoCD/index.js +0 -131
  125. package/KubeX/Tools/Dapr/Storage.d.ts +0 -66
  126. package/KubeX/Tools/Dapr/Storage.js +0 -70
  127. package/KubeX/Tools/Dapr/index.d.ts +0 -10
  128. package/KubeX/Tools/Dapr/index.js +0 -31
  129. package/KubeX/Tools/Echo-App.d.ts +0 -3
  130. package/KubeX/Tools/Echo-App.js +0 -21
  131. package/KubeX/Tools/Gitea/GiteaRepo.d.ts +0 -72
  132. package/KubeX/Tools/Gitea/GiteaRepo.js +0 -184
  133. package/KubeX/Tools/Gitea/GiteaRunner.d.ts +0 -11
  134. package/KubeX/Tools/Gitea/GiteaRunner.js +0 -37
  135. package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +0 -11
  136. package/KubeX/Tools/Gitea/GiteaRunner.v1.js +0 -123
  137. package/KubeX/Tools/HarborRepo.d.ts +0 -29
  138. package/KubeX/Tools/HarborRepo.js +0 -78
  139. package/KubeX/Tools/HelloWorld.d.ts +0 -3
  140. package/KubeX/Tools/HelloWorld.js +0 -21
  141. package/KubeX/Tools/KubeCleanup.d.ts +0 -9
  142. package/KubeX/Tools/KubeCleanup.js +0 -34
  143. package/KubeX/Tools/NoIp.d.ts +0 -13
  144. package/KubeX/Tools/NoIp.js +0 -24
  145. package/KubeX/Tools/OpenLDAP/index.d.ts +0 -12
  146. package/KubeX/Tools/OpenLDAP/index.js +0 -56
  147. package/KubeX/Tools/OutlineVpn/index.d.ts +0 -25
  148. package/KubeX/Tools/OutlineVpn/index.js +0 -256
  149. package/KubeX/Tools/SqlPad.d.ts +0 -29
  150. package/KubeX/Tools/SqlPad.js +0 -133
  151. package/KubeX/Tools/ToolPod.d.ts +0 -10
  152. package/KubeX/Tools/ToolPod.js +0 -40
  153. package/KubeX/Tools/UptimeKuma.d.ts +0 -6
  154. package/KubeX/Tools/UptimeKuma.js +0 -38
  155. package/KubeX/Tools/index.d.ts +0 -27
  156. package/KubeX/Tools/index.js +0 -35
  157. package/KubeX/VairableResolvers/index.d.ts +0 -15
  158. package/KubeX/VairableResolvers/index.js +0 -49
  159. package/KubeX/kx/index.d.ts +0 -114
  160. package/KubeX/kx/index.js +0 -423
  161. package/KubeX/types.d.ts +0 -49
  162. package/KubeX/types.js +0 -3
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const NginxIngress_1 = require("./NginxIngress");
5
- const Helpers_1 = require("../../Common/Helpers");
6
- const CertHelper_1 = require("../CertHelper");
7
- exports.default = ({ name, namespace, host, certManagerIssuer = true, cors, proxyUrl, proxyTlsSecretName, ingressClass, port, dependsOn, provider, ...others }) => {
8
- if (!port)
9
- port = proxyUrl.includes('http:') ? 80 : 443;
10
- const service = new k8s.core.v1.Service(name, {
11
- metadata: {
12
- name,
13
- namespace,
14
- labels: { app: name },
15
- },
16
- spec: {
17
- type: 'ExternalName',
18
- externalName: proxyUrl.replace('https://', '').replace('http://', ''),
19
- //externalIPs: externalIPs || undefined, //because of this issue https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
20
- ports: [{ port }],
21
- },
22
- }, { dependsOn, provider });
23
- return (0, NginxIngress_1.default)({
24
- name,
25
- className: ingressClass,
26
- certManagerIssuer,
27
- hostNames: [host],
28
- tlsSecretName: (0, CertHelper_1.getTlsName)((0, Helpers_1.getRootDomainFromUrl)(host), certManagerIssuer),
29
- responseHeaders: { 'x-backend-service-name': name },
30
- cors: cors && { origins: cors },
31
- proxy: {
32
- backendProtocol: port === 80 ? 'HTTP' : 'HTTPS',
33
- backendUrl: proxyUrl,
34
- sslVerify: false,
35
- tlsSecretName: proxyTlsSecretName,
36
- },
37
- service,
38
- ...others,
39
- dependsOn,
40
- provider,
41
- });
42
- };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmdpbnhQcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9JbmdyZXNzL05naW54UHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQ0FBMEM7QUFFMUMsaURBQTBDO0FBQzFDLGtEQUE0RDtBQUU1RCw4Q0FBMkM7QUF1QjNDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osU0FBUyxFQUNULElBQUksRUFDSixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLElBQUksRUFDSixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixJQUFJLEVBRUosU0FBUyxFQUNULFFBQVEsRUFDUixHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUU7SUFDVixJQUFJLENBQUMsSUFBSTtRQUFFLElBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUV4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FDckMsSUFBSSxFQUNKO1FBQ0UsUUFBUSxFQUFFO1lBQ1IsSUFBSTtZQUNKLFNBQVM7WUFDVCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO1NBQ3RCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLGNBQWM7WUFDcEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3JFLHNJQUFzSTtZQUN0SSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ2xCO0tBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FDeEIsQ0FBQztJQUVGLE9BQU8sSUFBQSxzQkFBWSxFQUFDO1FBQ2xCLElBQUk7UUFFSixTQUFTLEVBQUUsWUFBWTtRQUN2QixpQkFBaUI7UUFDakIsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRWpCLGFBQWEsRUFBRSxJQUFBLHVCQUFVLEVBQUMsSUFBQSw4QkFBb0IsRUFBQyxJQUFJLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztRQUV4RSxlQUFlLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUU7UUFDbkQsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDL0IsS0FBSyxFQUFFO1lBQ0wsZUFBZSxFQUFFLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTztZQUMvQyxVQUFVLEVBQUUsUUFBUTtZQUNwQixTQUFTLEVBQUUsS0FBSztZQUNoQixhQUFhLEVBQUUsa0JBQWtCO1NBQ2xDO1FBRUQsT0FBTztRQUVQLEdBQUcsTUFBTTtRQUNULFNBQVM7UUFDVCxRQUFRO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
@@ -1,15 +0,0 @@
1
- import * as k8s from '@pulumi/kubernetes';
2
- import { DefaultK8sArgs } from '../../types';
3
- interface CustomHeaderProps extends Omit<DefaultK8sArgs, 'namespace'> {
4
- headers?: {
5
- [key: string]: any;
6
- };
7
- customRequestHeaders?: {
8
- [key: string]: any;
9
- };
10
- customResponseHeaders?: {
11
- [key: string]: any;
12
- };
13
- }
14
- declare const _default: ({ name, headers, customRequestHeaders, customResponseHeaders, ...others }: CustomHeaderProps) => k8s.apiextensions.CustomResource;
15
- export default _default;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- exports.default = ({ name = 'traefik', headers, customRequestHeaders, customResponseHeaders, ...others }) => new k8s.apiextensions.CustomResource(name, {
5
- apiVersion: 'traefik.containo.us/v1alpha1',
6
- kind: 'Middleware',
7
- metadata: {
8
- name,
9
- annotations: { 'pulumi.com/skipAwait': 'true' },
10
- },
11
- spec: {
12
- headers: { ...headers, customRequestHeaders, customResponseHeaders },
13
- },
14
- }, { ...others });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tSGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0t1YmVYL0luZ3Jlc3MvVHJhZWZpa0luZ3Jlc3MvQ3VzdG9tSGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTBDO0FBUzFDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsU0FBUyxFQUNoQixPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixHQUFHLE1BQU0sRUFDUyxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FDbEMsSUFBSSxFQUNKO0lBQ0UsVUFBVSxFQUFFLDhCQUE4QjtJQUMxQyxJQUFJLEVBQUUsWUFBWTtJQUNsQixRQUFRLEVBQUU7UUFDUixJQUFJO1FBQ0osV0FBVyxFQUFFLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFO0tBQ2hEO0lBQ0QsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUU7S0FDckU7Q0FDRixFQUNELEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FDZCxDQUFDIn0=
@@ -1,11 +0,0 @@
1
- import * as k8s from '@pulumi/kubernetes';
2
- import { DefaultK8sArgs } from '../../types';
3
- import { IngressProps } from '../type';
4
- export interface TraefikTcpIngressProps extends DefaultK8sArgs {
5
- port: number;
6
- }
7
- export declare const TcpIngress: ({ name, namespace, port, ...others }: TraefikTcpIngressProps) => k8s.apiextensions.CustomResource;
8
- export interface TraefikIngressProps extends IngressProps {
9
- }
10
- declare const _default: ({ name, hostNames, allowHttp, tlsSecretName, service, services, certManagerIssuer, cors, ...others }: TraefikIngressProps) => import("@pulumi/kubernetes/networking/v1/ingress").Ingress;
11
- export default _default;
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TcpIngress = void 0;
4
- const k8s = require("@pulumi/kubernetes");
5
- const TcpIngress = ({ name = 'traefikTcp', namespace, port, ...others }) => {
6
- return new k8s.apiextensions.CustomResource(name, {
7
- apiVersion: 'traefik.containo.us/v1alpha1',
8
- kind: 'IngressRouteTCP',
9
- metadata: {
10
- name,
11
- namespace,
12
- annotations: { 'pulumi.com/skipAwait': 'true' },
13
- },
14
- spec: {
15
- entryPoints: [name],
16
- routes: [
17
- { match: 'HostSNI(`*`)', kind: 'Rule', services: [{ name, port }] },
18
- ],
19
- },
20
- }, { ...others });
21
- };
22
- exports.TcpIngress = TcpIngress;
23
- exports.default = ({ name = 'traefik', hostNames, allowHttp, tlsSecretName, service, services, certManagerIssuer, cors, ...others }) => {
24
- const annotations = {
25
- 'traefik.ingress.kubernetes.io/router.entrypoints': 'websecure,web',
26
- };
27
- if (!allowHttp) {
28
- annotations['ttraefik.ingress.kubernetes.io/router.tls'] = 'true';
29
- }
30
- if (certManagerIssuer) {
31
- if (typeof certManagerIssuer === 'string')
32
- annotations['cert-manager.io/cluster-issuer'] = certManagerIssuer;
33
- else
34
- annotations['kubernetes.io/tls-acme'] = 'true';
35
- }
36
- if (cors) {
37
- const origin = cors.origins.join(',');
38
- const header = cors.headers
39
- ? cors.headers.join(',')
40
- : 'GET,POST,PUT,OPTIONS,DELETE';
41
- annotations['traefik.ingress.kubernetes.io/custom-response-headers'] = `Access-Control-Allow-Origin:${origin}||Access-Control-Allow-Methods:${header}||Access-Control-Allow-Headers:DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range||Access-Control-Expose-Headers:Content-Length,Content-Range`;
42
- }
43
- const servicePaths = services
44
- ? services.paths.map((s) => ({
45
- backend: {
46
- service: {
47
- name: s.metadata.name,
48
- port: {
49
- number: s.spec.ports[0].port,
50
- },
51
- },
52
- },
53
- path: `${s.path}/(.*)`,
54
- pathType: 'Prefix',
55
- }))
56
- : [
57
- {
58
- backend: {
59
- service: {
60
- name: service.metadata.name,
61
- port: {
62
- number: service.spec.ports[0].port,
63
- },
64
- },
65
- },
66
- path: '/',
67
- pathType: 'ImplementationSpecific',
68
- },
69
- ];
70
- return new k8s.networking.v1.Ingress(name, {
71
- metadata: {
72
- name,
73
- namespace: services?.metadata.namespace || service?.metadata.namespace,
74
- labels: services?.metadata.labels || service?.metadata.labels,
75
- annotations,
76
- },
77
- spec: {
78
- rules: hostNames.map((hostName) => ({
79
- host: hostName,
80
- http: {
81
- paths: servicePaths,
82
- },
83
- })),
84
- tls: allowHttp
85
- ? undefined
86
- : [
87
- {
88
- hosts: hostNames,
89
- secretName: tlsSecretName,
90
- },
91
- ],
92
- },
93
- }, { ...others });
94
- };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvSW5ncmVzcy9UcmFlZmlrSW5ncmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQ0FBMEM7QUFRbkMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixJQUFJLEdBQUcsWUFBWSxFQUNuQixTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUcsTUFBTSxFQUNjLEVBQUUsRUFBRTtJQUMzQixPQUFPLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQ3pDLElBQUksRUFDSjtRQUNFLFVBQVUsRUFBRSw4QkFBOEI7UUFDMUMsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osU0FBUztZQUNULFdBQVcsRUFBRSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRTtTQUNoRDtRQUNELElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNuQixNQUFNLEVBQUU7Z0JBQ04sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTthQUNwRTtTQUNGO0tBQ0YsRUFDRCxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLFVBQVUsY0F5QnJCO0FBSUYsa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxTQUFTLEVBQ2hCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxFQUNiLE9BQU8sRUFDUCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLElBQUksRUFDSixHQUFHLE1BQU0sRUFDVyxFQUFFLEVBQUU7SUFDeEIsTUFBTSxXQUFXLEdBQUc7UUFDbEIsa0RBQWtELEVBQUUsZUFBZTtLQUM3RCxDQUFDO0lBRVQsSUFBSSxDQUFDLFNB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
@@ -1,5 +0,0 @@
1
- import NginxIngress from './NginxIngress';
2
- import TraefikIngress from './TraefikIngress';
3
- import NginxProxy from './NginxIngress';
4
- import AppGatewayIngress from './AppGatewayIngress';
5
- export { NginxIngress, NginxProxy, AppGatewayIngress, TraefikIngress };
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TraefikIngress = exports.AppGatewayIngress = exports.NginxProxy = exports.NginxIngress = void 0;
4
- const NginxIngress_1 = require("./NginxIngress");
5
- exports.NginxIngress = NginxIngress_1.default;
6
- const TraefikIngress_1 = require("./TraefikIngress");
7
- exports.TraefikIngress = TraefikIngress_1.default;
8
- const NginxIngress_2 = require("./NginxIngress");
9
- exports.NginxProxy = NginxIngress_2.default;
10
- const AppGatewayIngress_1 = require("./AppGatewayIngress");
11
- exports.AppGatewayIngress = AppGatewayIngress_1.default;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvSW5ncmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBMEM7QUFLakMsdUJBTEYsc0JBQVksQ0FLRTtBQUpyQixxREFBOEM7QUFJUSx5QkFKL0Msd0JBQWMsQ0FJK0M7QUFIcEUsaURBQXdDO0FBR2pCLHFCQUhoQixzQkFBVSxDQUdnQjtBQUZqQywyREFBb0Q7QUFFakIsNEJBRjVCLDJCQUFpQixDQUU0QiJ9
@@ -1,82 +0,0 @@
1
- import { Input, Resource } from '@pulumi/pulumi';
2
- import * as kx from '../kx';
3
- import * as k8s from '@pulumi/kubernetes';
4
- import { defaultResponseHeaders } from './Conts';
5
- export interface ServicePort {
6
- appProtocol?: Input<string>;
7
- name?: Input<string>;
8
- nodePort?: Input<number>;
9
- port?: Input<number>;
10
- protocol?: Input<string>;
11
- targetPort?: Input<number | string>;
12
- }
13
- export type IngressClassName = 'public' | 'private' | 'nginx';
14
- export type IngressCanary = {
15
- headerKey?: Input<string>;
16
- headerValue?: Input<string>;
17
- headerPattern?: Input<string>;
18
- };
19
- export type CertManagerIssuerTypes = boolean | 'letsencrypt-staging' | 'letsencrypt-prod';
20
- type SimpleServiceType = {
21
- metadata: {
22
- name: Input<string>;
23
- namespace: Input<string>;
24
- labels?: Input<{
25
- [key: string]: Input<string>;
26
- }>;
27
- };
28
- spec: {
29
- ports: Array<ServicePort>;
30
- };
31
- };
32
- type ServiceType = kx.Service | k8s.core.v1.Service | SimpleServiceType;
33
- interface ServicesType extends SimpleServiceType {
34
- path: string;
35
- }
36
- export interface IngressProps {
37
- name: string;
38
- className?: IngressClassName;
39
- certManagerIssuer?: CertManagerIssuerTypes;
40
- hostNames: Input<string>[];
41
- allowHttp?: boolean;
42
- internalIngress?: boolean;
43
- tlsSecretName?: Input<string>;
44
- maxUploadSizeMb?: number;
45
- responseHeaders?: Partial<typeof defaultResponseHeaders & {
46
- [key: string]: string;
47
- }> | boolean;
48
- whitelistIps?: Array<Input<string>>;
49
- enableModSecurity?: boolean;
50
- cors?: {
51
- origins: string[];
52
- headers?: string[];
53
- };
54
- canary?: IngressCanary;
55
- proxy?: {
56
- backendProtocol?: 'HTTP' | 'HTTPS' | 'GRPC' | 'GRPCS' | 'AJP' | 'FCGI';
57
- backendUrl?: string;
58
- sslVerify?: boolean;
59
- tlsSecretName?: Input<string>;
60
- };
61
- auth?: {
62
- enableClientTls?: boolean;
63
- alwaysRequireCert?: boolean;
64
- caSecret?: string;
65
- upstreamHeaderKey?: string;
66
- errorPage?: string;
67
- };
68
- pathType?: 'Prefix' | 'ImplementationSpecific' | string;
69
- service?: ServiceType;
70
- services?: {
71
- metadata: {
72
- namespace: Input<string>;
73
- labels?: Input<{
74
- [key: string]: Input<string>;
75
- }>;
76
- };
77
- paths: ServicesType[];
78
- };
79
- provider: k8s.Provider;
80
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
81
- }
82
- export {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9JbmdyZXNzL3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,8 +0,0 @@
1
- import { DefaultK8sArgs } from '../types';
2
- interface Props extends Omit<DefaultK8sArgs, 'provider' | 'namespace'> {
3
- namespace?: string;
4
- ignoreChanges?: boolean;
5
- kubeconfig: string;
6
- }
7
- export declare const createProvider: ({ name, ignoreChanges, ...others }: Props) => import("@pulumi/kubernetes/provider").Provider;
8
- export {};
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createProvider = void 0;
4
- const k8s = require("@pulumi/kubernetes");
5
- const Naming_1 = require("../../Common/Naming");
6
- const createProvider = ({ name = 'ks-provider', ignoreChanges, ...others }) => {
7
- name = (0, Naming_1.getK8sProviderName)(name);
8
- return new k8s.Provider(name, {
9
- ...others,
10
- suppressDeprecationWarnings: true,
11
- suppressHelmHookWarnings: true,
12
- }, { ignoreChanges: ignoreChanges ? ['kubeconfig'] : undefined });
13
- };
14
- exports.createProvider = createProvider;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvUHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQUEwQztBQUMxQyxnREFBeUQ7QUFRbEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUM3QixJQUFJLEdBQUcsYUFBYSxFQUNwQixhQUFhLEVBQ2IsR0FBRyxNQUFNLEVBQ0gsRUFBRSxFQUFFO0lBQ1YsSUFBSSxHQUFHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQ3JCLElBQUksRUFDSjtRQUNFLEdBQUcsTUFBTTtRQUNULDJCQUEyQixFQUFFLElBQUk7UUFDakMsd0JBQXdCLEVBQUUsSUFBSTtLQUMvQixFQUNELEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQzlELENBQUM7QUFDSixDQUFDLENBQUM7QUFmVyxRQUFBLGNBQWMsa0JBZXpCIn0=
@@ -1,15 +0,0 @@
1
- import { DefaultK8sArgs } from '../../types';
2
- import * as k8s from '@pulumi/kubernetes';
3
- import { Input } from '@pulumi/pulumi';
4
- type BackupType = {
5
- azureStorage?: {
6
- accountName: Input<string>;
7
- accountKey: Input<string>;
8
- containerName: Input<string>;
9
- };
10
- };
11
- export interface LonghornProps extends Omit<DefaultK8sArgs, 'name' | 'namespace'> {
12
- backup?: BackupType;
13
- }
14
- declare const _default: ({ resources, backup, ...others }: LonghornProps) => k8s.helm.v3.Chart;
15
- export default _default;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const Namespace_1 = require("../../Core/Namespace");
5
- const pulumi_1 = require("@pulumi/pulumi");
6
- const KsSecret_1 = require("../../Core/KsSecret");
7
- const configBackup = ({ name, config, ...others }) => {
8
- let backupTarget = '';
9
- let backupTargetCredentialSecret = '';
10
- if (config.azureStorage) {
11
- const { accountName, accountKey, containerName } = config.azureStorage;
12
- const secret = (0, KsSecret_1.default)({
13
- ...others,
14
- name: `${name}-azure-blob-backup`,
15
- stringData: {
16
- AZBLOB_ACCOUNT_NAME: accountName,
17
- AZBLOB_ACCOUNT_KEY: accountKey,
18
- },
19
- });
20
- backupTargetCredentialSecret = secret.metadata.name;
21
- backupTarget = (0, pulumi_1.interpolate) `azblob://${containerName}@core.windows.net/`;
22
- }
23
- return { backupTarget, backupTargetCredentialSecret };
24
- };
25
- //https://github.com/longhorn/longhorn/blob/master/chart/values.yaml
26
- exports.default = ({ resources, backup, ...others }) => {
27
- const name = 'longhorn';
28
- const namespace = 'longhorn-system';
29
- const ns = (0, Namespace_1.default)({ name: namespace, ...others });
30
- const backupInfo = backup
31
- ? configBackup({ name, namespace, config: backup, ...others })
32
- : {};
33
- return new k8s.helm.v3.Chart(name, {
34
- namespace,
35
- chart: 'longhorn',
36
- fetchOpts: { repo: 'https://charts.longhorn.io' },
37
- skipAwait: true,
38
- values: {
39
- csi: { kubeletRootDir: '/var/lib/kubelet' },
40
- defaultSettings: {
41
- ...backupInfo,
42
- //replicaSoftAntiAffinity: true,
43
- //replicaZoneSoftAntiAffinity: true,
44
- //createDefaultDiskLabeledNodes: true,
45
- //defaultReplicaCount: 2,
46
- //defaultLonghornStaticStorageClass: 'longhorn-static-storageclass',
47
- //defaultDataPath:
48
- guaranteedEngineCPU: 0.1,
49
- diskType: 'flesystem',
50
- },
51
- },
52
- }, { ...others, dependsOn: ns });
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvU3RvcmFnZS9Mb25naG9ybi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBDQUEwQztBQUMxQyxvREFBNkM7QUFDN0MsMkNBQW9EO0FBQ3BELGtEQUEyQztBQWUzQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQ3BCLElBQUksRUFDSixNQUFNLEVBQ04sR0FBRyxNQUFNLEVBQytCLEVBQUUsRUFBRTtJQUM1QyxJQUFJLFlBQVksR0FBa0IsRUFBRSxDQUFDO0lBQ3JDLElBQUksNEJBQTRCLEdBQWtCLEVBQUUsQ0FBQztJQUVyRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBRXZFLE1BQU0sTUFBTSxHQUFHLElBQUEsa0JBQVEsRUFBQztZQUN0QixHQUFHLE1BQU07WUFDVCxJQUFJLEVBQUUsR0FBRyxJQUFJLG9CQUFvQjtZQUNqQyxVQUFVLEVBQUU7Z0JBQ1YsbUJBQW1CLEVBQUUsV0FBVztnQkFDaEMsa0JBQWtCLEVBQUUsVUFBVTthQUMvQjtTQUNGLENBQUMsQ0FBQztRQUVILDRCQUE0QixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3BELFlBQVksR0FBRyxJQUFBLG9CQUFXLEVBQUEsWUFBWSxhQUFhLG9CQUFvQixDQUFDO0lBQzFFLENBQUM7SUFFRCxPQUFPLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUYsb0VBQW9FO0FBQ3BFLGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxFQUFpQixFQUFFLEVBQUU7SUFDakUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQ3hCLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBRXBDLE1BQU0sRUFBRSxHQUFHLElBQUEsbUJBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sVUFBVSxHQUFHLE1BQU07UUFDdkIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzlELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFUCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUMxQixJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLFVBQVU7UUFDakIsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1FBQ2pELFNBQVMsRUFBRSxJQUFJO1FBRWYsTUFBTSxFQUFFO1lBQ04sR0FBRyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1lBQzNDLGVBQWUsRUFBRTtnQkFDZixHQUFHLFVBQVU7Z0JBQ2IsZ0NBQWdDO2dCQUNoQyxvQ0FBb0M7Z0JBQ3BDLHNDQUFzQztnQkFDdEMseUJBQXlCO2dCQUN6QixvRUFBb0U7Z0JBQ3BFLGtCQUFrQjtnQkFDbEIsbUJBQW1CLEVBQUUsR0FBRztnQkFDeEIsUUFBUSxFQUFFLFdBQVc7YUFDdEI7U0FDRjtLQUNGLEVBQ0QsRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -1,25 +0,0 @@
1
- import * as pulumi from '@pulumi/pulumi';
2
- import * as k8s from '@pulumi/kubernetes';
3
- import { K8sArgs } from '../types';
4
- interface AzureFileStorageProps {
5
- name: string;
6
- resourceGroup?: pulumi.Input<string>;
7
- secretName: pulumi.Input<string>;
8
- namespace?: pulumi.Input<string>;
9
- /** requests storage: 5Gi or 10Gi*/
10
- storage?: string;
11
- mountOptions?: string[];
12
- provider: k8s.Provider;
13
- }
14
- export declare const createPVCForAzureFileShare: ({ name, resourceGroup, namespace, secretName, storage, mountOptions, provider, }: AzureFileStorageProps) => import("@pulumi/kubernetes/core/v1/persistentVolumeClaim").PersistentVolumeClaim;
15
- interface StorageClassProps extends K8sArgs {
16
- name: string;
17
- namespace?: pulumi.Input<string>;
18
- storageClassName?: pulumi.Input<string>;
19
- volumeMode?: 'Filesystem';
20
- /** requests storage: 5Gi or 10Gi*/
21
- storageGb?: string;
22
- accessMode?: 'ReadWriteOnce' | 'ReadWriteMany';
23
- }
24
- export declare const createPVCForStorageClass: ({ name, namespace, storageClassName, storageGb, accessMode, provider, dependsOn, }: StorageClassProps) => import("@pulumi/kubernetes/core/v1/persistentVolumeClaim").PersistentVolumeClaim;
25
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPVCForStorageClass = exports.createPVCForAzureFileShare = void 0;
4
- const k8s = require("@pulumi/kubernetes");
5
- const Random_1 = require("../../Core/Random");
6
- const defaultMountOptions = [
7
- 'dir_mode=0777',
8
- 'file_mode=0777',
9
- 'uid=0',
10
- 'gid=0',
11
- 'mfsymlinks',
12
- 'cache=strict',
13
- 'nosharesock',
14
- 'nobrl',
15
- ];
16
- const createPVCForAzureFileShare = ({ name, resourceGroup, namespace, secretName, storage = '5Gi', mountOptions = defaultMountOptions, provider, }) => {
17
- const v = new k8s.core.v1.PersistentVolume(name, {
18
- metadata: {
19
- name,
20
- namespace,
21
- annotations: { 'pulumi.com/skipAwait': 'true' },
22
- },
23
- spec: {
24
- capacity: {
25
- storage,
26
- },
27
- accessModes: ['ReadWriteMany'],
28
- persistentVolumeReclaimPolicy: 'Retain',
29
- csi: {
30
- driver: 'file.csi.azure.com',
31
- readOnly: false,
32
- volumeHandle: (0, Random_1.randomUuId)(name).result,
33
- volumeAttributes: resourceGroup
34
- ? { shareName: name, resourceGroup }
35
- : { shareName: name },
36
- nodeStageSecretRef: { name: secretName, namespace },
37
- },
38
- mountOptions,
39
- },
40
- }, { provider });
41
- return new k8s.core.v1.PersistentVolumeClaim(name, {
42
- metadata: {
43
- name,
44
- namespace,
45
- annotations: { 'pulumi.com/skipAwait': 'true' },
46
- },
47
- spec: {
48
- accessModes: ['ReadWriteMany'],
49
- resources: {
50
- requests: {
51
- storage,
52
- },
53
- },
54
- storageClassName: '',
55
- volumeName: v.metadata.name,
56
- },
57
- }, { provider, dependsOn: v });
58
- };
59
- exports.createPVCForAzureFileShare = createPVCForAzureFileShare;
60
- const createPVCForStorageClass = ({ name, namespace, storageClassName = '', storageGb = '5Gi', accessMode = 'ReadWriteOnce', provider, dependsOn, }) => {
61
- return new k8s.core.v1.PersistentVolumeClaim(`${name}-claim`, {
62
- metadata: {
63
- name: `${name}-claim`,
64
- annotations: { 'pulumi.com/skipAwait': 'true' },
65
- namespace,
66
- },
67
- spec: {
68
- accessModes: [accessMode],
69
- resources: {
70
- requests: {
71
- storage: storageGb,
72
- },
73
- },
74
- storageClassName,
75
- },
76
- }, { provider, dependsOn, deleteBeforeReplace: true });
77
- };
78
- exports.createPVCForStorageClass = createPVCForStorageClass;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwQ0FBMEM7QUFDMUMsOENBQStDO0FBRy9DLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixPQUFPO0lBQ1AsT0FBTztJQUNQLFlBQVk7SUFDWixjQUFjO0lBQ2QsYUFBYTtJQUNiLE9BQU87Q0FDUixDQUFDO0FBZUssTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEVBQ3pDLElBQUksRUFDSixhQUFhLEVBQ2IsU0FBUyxFQUNULFVBQVUsRUFDVixPQUFPLEdBQUcsS0FBSyxFQUNmLFlBQVksR0FBRyxtQkFBbUIsRUFDbEMsUUFBUSxHQUNjLEVBQUUsRUFBRTtJQUMxQixNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUN4QyxJQUFJLEVBQ0o7UUFDRSxRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osU0FBUztZQUNULFdBQVcsRUFBRSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRTtTQUNoRDtRQUNELElBQUksRUFBRTtZQUNKLFFBQVEsRUFBRTtnQkFDUixPQUFPO2FBQ1I7WUFDRCxXQUFXLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDOUIsNkJBQTZCLEVBQUUsUUFBUTtZQUN2QyxHQUFHLEVBQUU7Z0JBQ0gsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsWUFBWSxFQUFFLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQyxNQUFNO2dCQUNyQyxnQkFBZ0IsRUFBRSxhQUFhO29CQUM3QixDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtvQkFDcEMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtnQkFDdkIsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTthQUNwRDtZQUNELFlBQVk7U0FDYjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO0lBRUYsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUMxQyxJQUFJLEVBQ0o7UUFDRSxRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osU0FBUztZQUNULFdBQVcsRUFBRSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRTtTQUNoRDtRQUNELElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsUUFBUSxFQUFFO29CQUNSLE9BQU87aUJBQ1I7YUFDRjtZQUNELGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtTQUM1QjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBM0RXLFFBQUEsMEJBQTBCLDhCQTJEckM7QUFhSyxNQUFNLHdCQUF3QixHQUFHLENBQUMsRUFDdkMsSUFBSSxFQUNKLFNBQVMsRUFDVCxnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLFNBQVMsR0FBRyxLQUFLLEVBQ2pCLFVBQVUsR0FBRyxlQUFlLEVBQzVCLFFBQVEsRUFDUixTQUFTLEdBQ1MsRUFBRSxFQUFFO0lBQ3RCLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FDMUMsR0FBRyxJQUFJLFFBQVEsRUFDZjtRQUNFLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxHQUFHLElBQUksUUFBUTtZQUNyQixXQUFXLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUU7WUFDL0MsU0FBUztTQUNWO1FBQ0QsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVCxRQUFRLEVBQUU7b0JBQ1IsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2FBQ0Y7WUFFRCxnQkFBZ0I7U0FDakI7S0FDRixFQUNELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FDbkQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTlCVyxRQUFBLHdCQUF3Qiw0QkE4Qm5DIn0=
@@ -1,7 +0,0 @@
1
- import { DefaultK8sArgs } from '../../types';
2
- import * as k8s from '@pulumi/kubernetes';
3
- export interface LocalStackProps extends DefaultK8sArgs {
4
- domain: string;
5
- }
6
- declare const _default: ({ name, namespace, domain, provider, }: LocalStackProps) => k8s.helm.v3.Chart;
7
- export default _default;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const CertHelper_1 = require("../../CertHelper");
5
- exports.default = ({ name = 'localstack', namespace, domain, provider, }) => {
6
- const localStack = new k8s.helm.v3.Chart(name, {
7
- namespace,
8
- chart: 'localstack',
9
- fetchOpts: { repo: 'https://helm.localstack.cloud' },
10
- values: {
11
- ingress: {
12
- enabled: true,
13
- annotations: {
14
- 'kubernetes.io/ingress.class': 'nginx',
15
- 'kubernetes.io/tls-acme': 'true',
16
- },
17
- hosts: [
18
- {
19
- host: `aws.${domain}`,
20
- paths: [{ path: '/', pathType: 'ImplementationSpecific' }],
21
- },
22
- ],
23
- tls: [{ secretName: (0, CertHelper_1.getTlsName)(name, true) }],
24
- },
25
- },
26
- }, { provider });
27
- return localStack;
28
- };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxTdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9BV1MvTG9jYWxTdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBDQUEwQztBQUMxQyxpREFBOEM7QUFNOUMsa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxZQUFZLEVBQ25CLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxHQUNRLEVBQUUsRUFBRTtJQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDdEMsSUFBSSxFQUNKO1FBQ0UsU0FBUztRQUNULEtBQUssRUFBRSxZQUFZO1FBQ25CLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSwrQkFBK0IsRUFBRTtRQUVwRCxNQUFNLEVBQUU7WUFDTixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsV0FBVyxFQUFFO29CQUNYLDZCQUE2QixFQUFFLE9BQU87b0JBQ3RDLHdCQUF3QixFQUFFLE1BQU07aUJBQ2pDO2dCQUNELEtBQUssRUFBRTtvQkFDTDt3QkFDRSxJQUFJLEVBQUUsT0FBTyxNQUFNLEVBQUU7d0JBQ3JCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztxQkFDM0Q7aUJBQ0Y7Z0JBQ0QsR0FBRyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBQSx1QkFBVSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQzlDO1NBQ0Y7S0FDRixFQUNELEVBQUUsUUFBUSxFQUFFLENBQ2IsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyJ9
@@ -1,6 +0,0 @@
1
- import { DefaultKsAppArgs } from '../../types';
2
- export interface AwsS3Props extends Omit<DefaultKsAppArgs, 'name'> {
3
- storageClassName: string;
4
- }
5
- declare const _default: ({ namespace, ingress, runAs, storageClassName, ...others }: AwsS3Props) => void;
6
- export default _default;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Deployment_1 = require("../../Deployment");
4
- const Storage_1 = require("../../Storage");
5
- exports.default = ({ namespace, ingress, runAs, storageClassName, ...others }) => {
6
- const name = 'aws-s3';
7
- const image = 'scireum/s3-ninja:latest';
8
- //Storage
9
- const persisVolume = (0, Storage_1.createPVCForStorageClass)({
10
- name,
11
- namespace,
12
- accessMode: 'ReadWriteMany',
13
- ...others,
14
- storageClassName,
15
- });
16
- (0, Deployment_1.default)({
17
- name,
18
- namespace,
19
- podConfig: {
20
- ports: { http: 9000 },
21
- image,
22
- resources: {
23
- requests: { memory: '1Mi', cpu: '1m' },
24
- limits: {
25
- memory: '1Gi',
26
- cpu: '1',
27
- },
28
- },
29
- // securityContext: runAs,
30
- volumes: [
31
- {
32
- name: 'data',
33
- mountPath: '/home/sirius/data',
34
- subPath: 'sample',
35
- persistentVolumeClaim: persisVolume.metadata.name,
36
- },
37
- ],
38
- },
39
- ingressConfig: ingress,
40
- deploymentConfig: { replicas: 1 },
41
- ...others,
42
- });
43
- };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvQVdTL1MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQTBDO0FBRTFDLDJDQUF5RDtBQU16RCxrQkFBZSxDQUFDLEVBQ2QsU0FBUyxFQUNULE9BQU8sRUFDUCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLEdBQUcsTUFBTSxFQUNFLEVBQUUsRUFBRTtJQUNmLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUN0QixNQUFNLEtBQUssR0FBRyx5QkFBeUIsQ0FBQztJQUV4QyxTQUFTO0lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBd0IsRUFBQztRQUM1QyxJQUFJO1FBQ0osU0FBUztRQUNULFVBQVUsRUFBRSxlQUFlO1FBQzNCLEdBQUcsTUFBTTtRQUNULGdCQUFnQjtLQUNqQixDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFVLEVBQUM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUVULFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDckIsS0FBSztZQUNMLFNBQVMsRUFBRTtnQkFDVCxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7Z0JBQ3RDLE1BQU0sRUFBRTtvQkFDTixNQUFNLEVBQUUsS0FBSztvQkFDYixHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGO1lBQ0QsMEJBQTBCO1lBQzFCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixTQUFTLEVBQUUsbUJBQW1CO29CQUM5QixPQUFPLEVBQUUsUUFBUTtvQkFDakIscUJBQXFCLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2lCQUNsRDthQUNGO1NBQ0Y7UUFDRCxhQUFhLEVBQUUsT0FBTztRQUN0QixnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7UUFFakMsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
@@ -1,7 +0,0 @@
1
- import { AwsS3Props } from './S3';
2
- import { DefaultK8sArgs } from '../../types';
3
- interface Props extends Omit<DefaultK8sArgs, 'name'> {
4
- s3?: Omit<AwsS3Props, 'domain' | 'namespace' | 'provider' | 'dependsOn'>;
5
- }
6
- declare const _default: ({ namespace, s3, ...others }: Props) => void;
7
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Namespace_1 = require("../../Core/Namespace");
4
- const S3_1 = require("./S3");
5
- exports.default = ({ namespace, s3, ...others }) => {
6
- const ns = namespace
7
- ? { metadata: { name: namespace } }
8
- : (0, Namespace_1.default)({ name: 'aws-local', ...others });
9
- if (s3)
10
- (0, S3_1.default)({ namespace: ns.metadata.name, ...others, ...s3 });
11
- // if (localStack)
12
- // LocalStack({ namespace: ns.metadata.name, ...others, ...localStack });
13
- };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvQVdTL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0RBQTZDO0FBQzdDLDZCQUF5QztBQVd6QyxrQkFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBUyxFQUFFLEVBQUU7SUFDckQsTUFBTSxFQUFFLEdBQUcsU0FBUztRQUNsQixDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7UUFDbkMsQ0FBQyxDQUFDLElBQUEsbUJBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRWhELElBQUksRUFBRTtRQUFFLElBQUEsWUFBSyxFQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqRSxrQkFBa0I7SUFDbEIsMkVBQTJFO0FBQzdFLENBQUMsQ0FBQyJ9