@drunk-pulumi/azure 0.0.19 → 0.0.20

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 (161) hide show
  1. package/Aks/Helper.d.ts +0 -18
  2. package/Aks/Helper.js +50 -32
  3. package/package.json +3 -6
  4. package/KubeX/AcrSecret.d.ts +0 -15
  5. package/KubeX/AcrSecret.js +0 -31
  6. package/KubeX/Apps/AstroPage.d.ts +0 -12
  7. package/KubeX/Apps/AstroPage.js +0 -33
  8. package/KubeX/Apps/KafKa.d.ts +0 -6
  9. package/KubeX/Apps/KafKa.js +0 -13
  10. package/KubeX/Apps/Nobelium.d.ts +0 -13
  11. package/KubeX/Apps/Nobelium.js +0 -37
  12. package/KubeX/Apps/Wikijs.d.ts +0 -30
  13. package/KubeX/Apps/Wikijs.js +0 -54
  14. package/KubeX/Apps/WordPress.d.ts +0 -24
  15. package/KubeX/Apps/WordPress.js +0 -55
  16. package/KubeX/Apps/YarpProxy/index.d.ts +0 -17
  17. package/KubeX/Apps/YarpProxy/index.js +0 -107
  18. package/KubeX/Apps/YarpProxy/type.d.ts +0 -55
  19. package/KubeX/Apps/YarpProxy/type.js +0 -3
  20. package/KubeX/CertHelper.d.ts +0 -1
  21. package/KubeX/CertHelper.js +0 -9
  22. package/KubeX/CertImports.d.ts +0 -19
  23. package/KubeX/CertImports.js +0 -70
  24. package/KubeX/CloudFlare/CertCreator.d.ts +0 -19
  25. package/KubeX/CloudFlare/CertCreator.js +0 -90
  26. package/KubeX/CloudFlare/CertImports.d.ts +0 -17
  27. package/KubeX/CloudFlare/CertImports.js +0 -34
  28. package/KubeX/CloudFlare/DynamicDns.d.ts +0 -21
  29. package/KubeX/CloudFlare/DynamicDns.js +0 -39
  30. package/KubeX/CloudFlare/Tunnel-Helm.d.ts +0 -17
  31. package/KubeX/CloudFlare/Tunnel-Helm.js +0 -12
  32. package/KubeX/CloudFlare/Tunnel.d.ts +0 -23
  33. package/KubeX/CloudFlare/Tunnel.js +0 -54
  34. package/KubeX/CloudFlare/index.d.ts +0 -13
  35. package/KubeX/CloudFlare/index.js +0 -36
  36. package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +0 -6
  37. package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +0 -60
  38. package/KubeX/ConfigSecret.d.ts +0 -24
  39. package/KubeX/ConfigSecret.js +0 -38
  40. package/KubeX/Core/CertManager/index.d.ts +0 -24
  41. package/KubeX/Core/CertManager/index.js +0 -96
  42. package/KubeX/Core/KsCertSecret.d.ts +0 -12
  43. package/KubeX/Core/KsCertSecret.js +0 -22
  44. package/KubeX/Core/KsSecret.d.ts +0 -9
  45. package/KubeX/Core/KsSecret.js +0 -12
  46. package/KubeX/Core/LoadBalancer/MetalLB.d.ts +0 -7
  47. package/KubeX/Core/LoadBalancer/MetalLB.js +0 -21
  48. package/KubeX/Core/Monitoring/index.d.ts +0 -22
  49. package/KubeX/Core/Monitoring/index.js +0 -322
  50. package/KubeX/Core/Namespace.d.ts +0 -12
  51. package/KubeX/Core/Namespace.js +0 -41
  52. package/KubeX/Core/Nginx/index.d.ts +0 -60
  53. package/KubeX/Core/Nginx/index.js +0 -109
  54. package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
  55. package/KubeX/Core/OAuthProxy/index.js +0 -3
  56. package/KubeX/Core/ResourceQuota.d.ts +0 -12
  57. package/KubeX/Core/ResourceQuota.js +0 -13
  58. package/KubeX/Core/SecurityRules.d.ts +0 -34
  59. package/KubeX/Core/SecurityRules.js +0 -93
  60. package/KubeX/Core/StorageClass/azureBlob.d.ts +0 -20
  61. package/KubeX/Core/StorageClass/azureBlob.js +0 -77
  62. package/KubeX/Core/StorageClass/azureFile.d.ts +0 -17
  63. package/KubeX/Core/StorageClass/azureFile.js +0 -45
  64. package/KubeX/Core/StorageClass/index.d.ts +0 -13
  65. package/KubeX/Core/StorageClass/index.js +0 -25
  66. package/KubeX/Core/index.d.ts +0 -57
  67. package/KubeX/Core/index.js +0 -94
  68. package/KubeX/Databases/MariaDb.d.ts +0 -11
  69. package/KubeX/Databases/MariaDb.js +0 -39
  70. package/KubeX/Databases/MySql.V2.d.ts +0 -11
  71. package/KubeX/Databases/MySql.V2.js +0 -40
  72. package/KubeX/Databases/MySql.d.ts +0 -13
  73. package/KubeX/Databases/MySql.js +0 -55
  74. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +0 -10
  75. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +0 -47
  76. package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +0 -10
  77. package/KubeX/Databases/PostgreSql/PostgreSQL.js +0 -51
  78. package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +0 -13
  79. package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +0 -56
  80. package/KubeX/Databases/PostgreSql/index.d.ts +0 -17
  81. package/KubeX/Databases/PostgreSql/index.js +0 -6
  82. package/KubeX/Databases/RedisCache.d.ts +0 -14
  83. package/KubeX/Databases/RedisCache.js +0 -65
  84. package/KubeX/Databases/SqlServer.d.ts +0 -15
  85. package/KubeX/Databases/SqlServer.js +0 -77
  86. package/KubeX/Deployment/PodAutoscaler.d.ts +0 -14
  87. package/KubeX/Deployment/PodAutoscaler.js +0 -51
  88. package/KubeX/Deployment/index.d.ts +0 -136
  89. package/KubeX/Deployment/index.js +0 -306
  90. package/KubeX/Helpers.d.ts +0 -4
  91. package/KubeX/Helpers.js +0 -17
  92. package/KubeX/Ingress/AppGatewayIngress.d.ts +0 -2
  93. package/KubeX/Ingress/AppGatewayIngress.js +0 -4
  94. package/KubeX/Ingress/Conts.d.ts +0 -13
  95. package/KubeX/Ingress/Conts.js +0 -18
  96. package/KubeX/Ingress/NginxIngress.d.ts +0 -3
  97. package/KubeX/Ingress/NginxIngress.js +0 -186
  98. package/KubeX/Ingress/NginxProxy.d.ts +0 -21
  99. package/KubeX/Ingress/NginxProxy.js +0 -43
  100. package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +0 -15
  101. package/KubeX/Ingress/TraefikIngress/CustomHeader.js +0 -15
  102. package/KubeX/Ingress/TraefikIngress/index.d.ts +0 -11
  103. package/KubeX/Ingress/TraefikIngress/index.js +0 -95
  104. package/KubeX/Ingress/index.d.ts +0 -5
  105. package/KubeX/Ingress/index.js +0 -12
  106. package/KubeX/Ingress/type.d.ts +0 -82
  107. package/KubeX/Ingress/type.js +0 -3
  108. package/KubeX/Providers/index.d.ts +0 -8
  109. package/KubeX/Providers/index.js +0 -15
  110. package/KubeX/Storage/Longhorn/index.d.ts +0 -15
  111. package/KubeX/Storage/Longhorn/index.js +0 -54
  112. package/KubeX/Storage/index.d.ts +0 -25
  113. package/KubeX/Storage/index.js +0 -79
  114. package/KubeX/Tools/AWS/LocalStack.d.ts +0 -7
  115. package/KubeX/Tools/AWS/LocalStack.js +0 -29
  116. package/KubeX/Tools/AWS/S3.d.ts +0 -6
  117. package/KubeX/Tools/AWS/S3.js +0 -44
  118. package/KubeX/Tools/AWS/index.d.ts +0 -7
  119. package/KubeX/Tools/AWS/index.js +0 -14
  120. package/KubeX/Tools/AppHealthzMonitor.d.ts +0 -18
  121. package/KubeX/Tools/AppHealthzMonitor.js +0 -52
  122. package/KubeX/Tools/ArgoCD/index.d.ts +0 -17
  123. package/KubeX/Tools/ArgoCD/index.js +0 -131
  124. package/KubeX/Tools/Dapr/Storage.d.ts +0 -66
  125. package/KubeX/Tools/Dapr/Storage.js +0 -70
  126. package/KubeX/Tools/Dapr/index.d.ts +0 -10
  127. package/KubeX/Tools/Dapr/index.js +0 -31
  128. package/KubeX/Tools/Echo-App.d.ts +0 -3
  129. package/KubeX/Tools/Echo-App.js +0 -21
  130. package/KubeX/Tools/Gitea/GiteaRepo.d.ts +0 -72
  131. package/KubeX/Tools/Gitea/GiteaRepo.js +0 -184
  132. package/KubeX/Tools/Gitea/GiteaRunner.d.ts +0 -11
  133. package/KubeX/Tools/Gitea/GiteaRunner.js +0 -37
  134. package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +0 -11
  135. package/KubeX/Tools/Gitea/GiteaRunner.v1.js +0 -123
  136. package/KubeX/Tools/HarborRepo.d.ts +0 -29
  137. package/KubeX/Tools/HarborRepo.js +0 -78
  138. package/KubeX/Tools/HelloWorld.d.ts +0 -3
  139. package/KubeX/Tools/HelloWorld.js +0 -21
  140. package/KubeX/Tools/KubeCleanup.d.ts +0 -9
  141. package/KubeX/Tools/KubeCleanup.js +0 -34
  142. package/KubeX/Tools/NoIp.d.ts +0 -13
  143. package/KubeX/Tools/NoIp.js +0 -24
  144. package/KubeX/Tools/OpenLDAP/index.d.ts +0 -12
  145. package/KubeX/Tools/OpenLDAP/index.js +0 -56
  146. package/KubeX/Tools/OutlineVpn/index.d.ts +0 -25
  147. package/KubeX/Tools/OutlineVpn/index.js +0 -256
  148. package/KubeX/Tools/SqlPad.d.ts +0 -29
  149. package/KubeX/Tools/SqlPad.js +0 -133
  150. package/KubeX/Tools/ToolPod.d.ts +0 -10
  151. package/KubeX/Tools/ToolPod.js +0 -40
  152. package/KubeX/Tools/UptimeKuma.d.ts +0 -6
  153. package/KubeX/Tools/UptimeKuma.js +0 -38
  154. package/KubeX/Tools/index.d.ts +0 -27
  155. package/KubeX/Tools/index.js +0 -35
  156. package/KubeX/VairableResolvers/index.d.ts +0 -15
  157. package/KubeX/VairableResolvers/index.js +0 -49
  158. package/KubeX/kx/index.d.ts +0 -114
  159. package/KubeX/kx/index.js +0 -423
  160. package/KubeX/types.d.ts +0 -49
  161. package/KubeX/types.js +0 -3
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.corsDefaultHeaders = exports.defaultResponseHeaders = void 0;
4
- const StackEnv_1 = require("../../Common/StackEnv");
5
- exports.defaultResponseHeaders = {
6
- server: StackEnv_1.organization,
7
- 'X-Powered-By': StackEnv_1.organization,
8
- 'X-AspNet-Version': StackEnv_1.organization,
9
- 'Strict-Transport-Security': 'max-age=86400; includeSubDomains',
10
- 'X-XSS-Protection': '1; mode=block',
11
- 'X-Frame-Options': `SAMEORIGIN`,
12
- 'Content-Security-Policy': `default-src 'self' data: 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'self'`,
13
- 'X-Content-Type-Options': 'nosniff',
14
- 'Expect-Ct': 'max-age=604800,enforce',
15
- 'Cache-Control': 'max-age=10', //10 second only
16
- };
17
- exports.corsDefaultHeaders = 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvSW5ncmVzcy9Db250cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBcUQ7QUFFeEMsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxNQUFNLEVBQUUsdUJBQVk7SUFDcEIsY0FBYyxFQUFFLHVCQUFZO0lBQzVCLGtCQUFrQixFQUFFLHVCQUFZO0lBQ2hDLDJCQUEyQixFQUFFLGtDQUFrQztJQUMvRCxrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLGlCQUFpQixFQUFFLFlBQVk7SUFDL0IseUJBQXlCLEVBQUUsZ0ZBQWdGO0lBQzNHLHdCQUF3QixFQUFFLFNBQVM7SUFDbkMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQjtDQUNoRCxDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FDN0Isc0hBQXNILENBQUMifQ==
@@ -1,3 +0,0 @@
1
- import { IngressProps } from './type';
2
- declare const _default: ({ name, className, hostNames, maxUploadSizeMb, allowHttp, internalIngress, tlsSecretName, canary, proxy, auth, responseHeaders, whitelistIps, enableModSecurity, cors, certManagerIssuer, pathType, services, service, provider, dependsOn, }: IngressProps) => import("@pulumi/kubernetes/networking/v1/ingress").Ingress;
3
- export default _default;
@@ -1,186 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const Conts_1 = require("./Conts");
5
- exports.default = ({ name, className = 'nginx', hostNames, maxUploadSizeMb = 10, allowHttp, internalIngress, tlsSecretName, canary, proxy, auth, responseHeaders, whitelistIps, enableModSecurity, cors, certManagerIssuer, pathType = 'ImplementationSpecific', services, service, provider, dependsOn, }) => {
6
- if (!service && !services)
7
- throw new Error('Either "service" or "services" is must be provided.');
8
- const annotations = {
9
- 'pulumi.com/skipAwait': 'true',
10
- 'nginx.ingress.kubernetes.io/body-size': '1024m',
11
- 'nginx.ingress.kubernetes.io/client-body-buffer-size': '50m',
12
- 'nginx.ingress.kubernetes.io/client-max-body-size': '50m',
13
- };
14
- if (maxUploadSizeMb) {
15
- annotations['nginx.ingress.kubernetes.io/proxy-body-size'] = `${maxUploadSizeMb}m`;
16
- }
17
- if (certManagerIssuer) {
18
- if (typeof certManagerIssuer === 'string')
19
- annotations['cert-manager.io/cluster-issuer'] = certManagerIssuer;
20
- else
21
- annotations['kubernetes.io/tls-acme'] = 'true';
22
- }
23
- if (internalIngress) {
24
- annotations['service.beta.kubernetes.io/azure-load-balancer-internal'] =
25
- 'true';
26
- }
27
- if (canary) {
28
- annotations['nginx.ingress.kubernetes.io/canary'] = 'true';
29
- annotations['nginx.ingress.kubernetes.io/canary-weight'] = '100';
30
- if (canary.headerKey)
31
- annotations['nginx.ingress.kubernetes.io/canary-by-header'] =
32
- canary.headerKey;
33
- if (canary.headerValue)
34
- annotations['nginx.ingress.kubernetes.io/canary-by-header-value'] =
35
- canary.headerValue;
36
- if (canary.headerPattern)
37
- annotations['nginx.ingress.kubernetes.io/canary-by-header-pattern'] =
38
- canary.headerPattern;
39
- }
40
- if (proxy?.backendProtocol) {
41
- //annotations['nginx.ingress.kubernetes.io/ssl-passthrough'] = 'true';
42
- annotations['nginx.ingress.kubernetes.io/backend-protocol'] =
43
- proxy.backendProtocol;
44
- }
45
- if (proxy?.backendUrl) {
46
- const vhost = proxy.backendUrl
47
- .replace('https://', '')
48
- .replace('http://', '');
49
- annotations['nginx.ingress.kubernetes.io/upstream-vhost'] = vhost;
50
- annotations['nginx.ingress.kubernetes.io/server-snippet'] = `proxy_ssl_name ${vhost};proxy_ssl_server_name on`;
51
- annotations['nginx.ingress.kubernetes.io/use-proxy-protocol'] = 'true';
52
- annotations['nginx.ingress.kubernetes.io/proxy-ssl-verify'] =
53
- proxy.sslVerify ? 'on' : 'off';
54
- annotations['nginx.ingress.kubernetes.io/proxy-ssl-verify-depth'] = '1';
55
- annotations['nginx.ingress.kubernetes.io/proxy-connect-timeout'] = '3600';
56
- annotations['nginx.ingress.kubernetes.io/proxy-read-timeout'] = '3600';
57
- annotations['nginx.ingress.kubernetes.io/proxy-send-timeout'] = '3600';
58
- if (proxy.tlsSecretName) {
59
- annotations['nginx.ingress.kubernetes.io/proxy-ssl-secret'] =
60
- proxy.tlsSecretName;
61
- }
62
- }
63
- if (auth?.enableClientTls === true) {
64
- // Enable client certificate authentication
65
- annotations['nginx.ingress.kubernetes.io/auth-tls-verify-client'] =
66
- auth.alwaysRequireCert ? 'on' : 'optional';
67
- // Create the secret containing the trusted ca certificates
68
- if (auth.caSecret)
69
- annotations['nginx.ingress.kubernetes.io/auth-tls-secret'] =
70
- auth.caSecret;
71
- // Specify the verification depth in the client certificates chain
72
- annotations['nginx.ingress.kubernetes.io/auth-tls-verify-depth'] = '1';
73
- // Specify an error page to be redirected to verification errors
74
- if (auth.errorPage)
75
- annotations['nginx.ingress.kubernetes.io/auth-tls-error-page'] =
76
- auth.errorPage;
77
- // Specify if certificates are passed to upstream server
78
- annotations['nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream'] = 'true';
79
- annotations['nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream-header'] = auth.upstreamHeaderKey ?? 'ssl-client-cert';
80
- }
81
- const responseSecurity = responseHeaders === true
82
- ? Conts_1.defaultResponseHeaders
83
- : responseHeaders === false
84
- ? undefined
85
- : {
86
- ...Conts_1.defaultResponseHeaders,
87
- ...responseHeaders,
88
- };
89
- if (responseSecurity) {
90
- annotations['nginx.ingress.kubernetes.io/configuration-snippet'] = `${Object.keys(responseSecurity)
91
- .map((k) => `more_set_headers "${k}: ${responseSecurity[k]}";`)
92
- .join('')}`;
93
- }
94
- //Force Https
95
- annotations['kubernetes.io/ingress.allow-http'] = allowHttp
96
- ? 'true'
97
- : 'false';
98
- annotations['ingress.kubernetes.io/force-ssl-redirect'] = allowHttp
99
- ? 'false'
100
- : 'true';
101
- if (cors) {
102
- annotations['nginx.ingress.kubernetes.io/cors-allow-origin'] =
103
- cors.origins.join(',');
104
- annotations['nginx.ingress.kubernetes.io/cors-allow-headers'] = cors.headers
105
- ? Conts_1.corsDefaultHeaders + ',' + cors.headers.join(',')
106
- : Conts_1.corsDefaultHeaders;
107
- }
108
- //Whitelist IP Address
109
- if (whitelistIps && whitelistIps.length > 0) {
110
- annotations['nginx.ingress.kubernetes.io/whitelist-source-range'] =
111
- whitelistIps.join(',');
112
- }
113
- //Mode Security
114
- if (enableModSecurity) {
115
- annotations['nginx.ingress.kubernetes.io/enable-owasp-core-rules'] = 'true';
116
- annotations['nginx.ingress.kubernetes.io/enable-modsecurity'] = 'true';
117
- annotations['nginx.ingress.kubernetes.io/modsecurity-transaction-id'] =
118
- '$request_id';
119
- // annotations[
120
- // 'nginx.ingress.kubernetes.io/modsecurity-snippet'
121
- // ] = `Include /etc/nginx/owasp-modsecurity-crs/nginx-modsecurity.conf`;
122
- }
123
- else {
124
- annotations['nginx.ingress.kubernetes.io/enable-owasp-core-rules'] =
125
- 'false';
126
- annotations['nginx.ingress.kubernetes.io/enable-modsecurity'] = 'false';
127
- }
128
- if (services) {
129
- annotations['nginx.ingress.kubernetes.io/rewrite-target'] = '/$1';
130
- annotations['nginx.ingress.kubernetes.io/use-regex'] = 'true';
131
- }
132
- const servicePaths = services
133
- ? services.paths.map((s) => ({
134
- backend: {
135
- service: {
136
- name: s.metadata.name,
137
- port: {
138
- number: s.spec.ports[0].port,
139
- },
140
- },
141
- },
142
- path: `${s.path}/(.*)`,
143
- pathType,
144
- }))
145
- : [
146
- {
147
- backend: {
148
- service: {
149
- name: service.metadata.name,
150
- port: {
151
- number: service.spec.ports[0].port,
152
- name: service.spec.ports[0].port
153
- ? undefined
154
- : service.spec.ports[0].name,
155
- },
156
- },
157
- },
158
- path: '/',
159
- pathType, //Prefix or ImplementationSpecific
160
- },
161
- ];
162
- return new k8s.networking.v1.Ingress(name, {
163
- metadata: {
164
- name,
165
- namespace: services?.metadata.namespace || service?.metadata.namespace,
166
- labels: services?.metadata.labels || service?.metadata.labels,
167
- annotations,
168
- },
169
- spec: {
170
- ingressClassName: className,
171
- rules: hostNames.map((hostName) => ({
172
- host: hostName,
173
- http: { paths: servicePaths },
174
- })),
175
- tls: allowHttp
176
- ? undefined
177
- : [
178
- {
179
- hosts: hostNames,
180
- secretName: tlsSecretName,
181
- },
182
- ],
183
- },
184
- }, { provider, dependsOn });
185
- };
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmdpbnhJbmdyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0t1YmVYL0luZ3Jlc3MvTmdpbnhJbmdyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTBDO0FBRzFDLG1DQUFxRTtBQUdyRSxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLFNBQVMsR0FBRyxPQUFPLEVBQ25CLFNBQVMsRUFDVCxlQUFlLEdBQUcsRUFBRSxFQUNwQixTQUFTLEVBQ1QsZUFBZSxFQUNmLGFBQWEsRUFDYixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLFFBQVEsR0FBRyx3QkFBd0IsRUFDbkMsUUFBUSxFQUNSLE9BQU8sRUFFUCxRQUFRLEVBQ1IsU0FBUyxHQUNJLEVBQUUsRUFBRTtJQUNqQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFFekUsTUFBTSxXQUFXLEdBQXFDO1FBQ3BELHNCQUFzQixFQUFFLE1BQU07UUFDOUIsdUNBQXVDLEVBQUUsT0FBTztRQUNoRCxxREFBcUQsRUFBRSxLQUFLO1FBQzVELGtEQUFrRCxFQUFFLEtBQUs7S0FDMUQsQ0FBQztJQUVGLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsV0FBVyxDQUNULDZDQUE2QyxDQUM5QyxHQUFHLEdBQUcsZUFBZSxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8saUJBQWlCLEtBQUssUUFBUTtZQUN2QyxXQUFXLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQzs7WUFDL0QsV0FBVyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGVB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
@@ -1,21 +0,0 @@
1
- import * as k8s from '@pulumi/kubernetes';
2
- import { Input, Resource } from '@pulumi/pulumi';
3
- import { IngressCanary, IngressClassName } from './type';
4
- interface Props {
5
- name: string;
6
- namespace: Input<string>;
7
- ingressClass?: IngressClassName;
8
- host: string;
9
- port?: number;
10
- proxyUrl: string;
11
- proxyTlsSecretName?: string;
12
- certManagerIssuer?: boolean;
13
- canary?: IngressCanary;
14
- whitelistIps?: Array<Input<string>>;
15
- enableModSecurity?: boolean;
16
- cors?: string[];
17
- provider: k8s.Provider;
18
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
19
- }
20
- declare const _default: ({ name, namespace, host, certManagerIssuer, cors, proxyUrl, proxyTlsSecretName, ingressClass, port, dependsOn, provider, ...others }: Props) => import("@pulumi/kubernetes/networking/v1/ingress").Ingress;
21
- export default _default;
@@ -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==