@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,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const ResourceQuota_1 = require("./ResourceQuota");
5
- exports.default = ({ name = 'dev', labels, quota, provider, dependsOn, }) => {
6
- labels = labels || {};
7
- const ns = new k8s.core.v1.Namespace(name, {
8
- metadata: {
9
- name,
10
- namespace: name,
11
- labels: {
12
- name,
13
- ...labels,
14
- },
15
- },
16
- }, { provider, dependsOn });
17
- //Quota
18
- if (quota) {
19
- (0, ResourceQuota_1.default)({
20
- name,
21
- namespace: name,
22
- spec: quota,
23
- provider,
24
- dependsOn: ns,
25
- });
26
- }
27
- //Network
28
- // new k8s.networking.v1.NetworkPolicy(`nw_allow_all_${name}`, {
29
- // metadata: {
30
- // name: `nw-allow-all-${name}`,
31
- // },
32
- // spec: {
33
- // policyTypes: ['Ingress', 'Egress'],
34
- // podSelector: {},
35
- // ingress: [{}],
36
- // egress: [{}],
37
- // },
38
- // });
39
- return ns;
40
- };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0t1YmVYL0NvcmUvTmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTBDO0FBSTFDLG1EQUE0QztBQVU1QyxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxHQUFHLEtBQUssRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEdBQ0gsRUFBRSxFQUFFO0lBQ1YsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFFdEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQ2xDLElBQUksRUFDSjtRQUNFLFFBQVEsRUFBRTtZQUNSLElBQUk7WUFDSixTQUFTLEVBQUUsSUFBSTtZQUNmLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLEdBQUcsTUFBTTthQUNWO1NBQ0Y7S0FDRixFQUNELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUN4QixDQUFDO0lBRUYsT0FBTztJQUNQLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixJQUFBLHVCQUFhLEVBQUM7WUFDWixJQUFJO1lBQ0osU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVE7WUFDUixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO0lBQ1QsZ0VBQWdFO0lBQ2hFLGdCQUFnQjtJQUNoQixvQ0FBb0M7SUFDcEMsT0FBTztJQUNQLFlBQVk7SUFDWiwwQ0FBMEM7SUFDMUMsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsT0FBTztJQUNQLE1BQU07SUFFTixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMsQ0FBQyJ9
@@ -1,60 +0,0 @@
1
- import * as k8s from '@pulumi/kubernetes';
2
- import * as pulumi from '@pulumi/pulumi';
3
- import { DefaultK8sArgs } from '../../types';
4
- declare const defaultConfigs: {
5
- useForwardedHeaders: string;
6
- computeFullForwardedFor: string;
7
- useProxyProtocol: string;
8
- 'use-forwarded-headers': string;
9
- 'disable-access-log': string;
10
- 'proxy-buffer-size': string;
11
- 'client-header-buffer-size': string;
12
- client_max_body_size: string;
13
- 'enable-modsecurity': string;
14
- 'enable-owasp-modsecurity-crs': string;
15
- 'worker-shutdown-timeout': string;
16
- 'worker-connections': string;
17
- 'worker-processes': string;
18
- 'annotation-value-word-blocklist': string;
19
- };
20
- interface Props extends DefaultK8sArgs {
21
- version?: string;
22
- replicaCount?: number;
23
- useIngressClassOnly?: boolean;
24
- defaultIngressClass?: boolean;
25
- allowSnippetAnnotations?: boolean;
26
- network: {
27
- /** The resource group of virtual network and public IpAddress. */
28
- vnetResourceGroup?: string;
29
- internalSubnetName?: pulumi.Output<string>;
30
- internalIngress?: boolean;
31
- loadBalancerIP?: pulumi.Input<string>;
32
- clusterIP?: pulumi.Input<string>;
33
- };
34
- /**The nginx config map */
35
- config?: {
36
- [key: string]: string;
37
- } | typeof defaultConfigs;
38
- /**Expose TCP Ports {port: dnsName} */
39
- tcp?: {
40
- [key: number]: string;
41
- };
42
- /**Expose UDP ports {port: dnsName} */
43
- udp?: {
44
- [key: number]: string;
45
- };
46
- /** Set Proxy Headers. It will be applied to all requests*/
47
- addHeaders?: {
48
- [key: string]: string;
49
- };
50
- proxySetHeaders?: {
51
- [key: string]: string;
52
- };
53
- enableDebug?: boolean;
54
- }
55
- /**
56
- * kubectl exec ingress-nginx-controller-873061567-4n3k2 -n ingress-nginx -- cat /etc/nginx/nginx.conf >> nginx.conf
57
- * https://github.com/kubernetes/ingress-nginx
58
- */
59
- declare const _default: ({ name, namespace, version, useIngressClassOnly, defaultIngressClass, allowSnippetAnnotations, replicaCount, network, config, tcp, udp, addHeaders, proxySetHeaders, enableDebug, provider, dependsOn, }: Props) => k8s.helm.v3.Chart;
60
- export default _default;
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- const SecurityRules_1 = require("../SecurityRules");
5
- const defaultConfigs = {
6
- useForwardedHeaders: 'true',
7
- computeFullForwardedFor: 'true',
8
- useProxyProtocol: 'true',
9
- 'use-forwarded-headers': 'true',
10
- 'disable-access-log': 'true',
11
- 'proxy-buffer-size': '800k',
12
- 'client-header-buffer-size': '800k',
13
- client_max_body_size: '10m',
14
- 'enable-modsecurity': 'true',
15
- //'modsecurity-snippet': ``,
16
- 'enable-owasp-modsecurity-crs': 'true',
17
- 'worker-shutdown-timeout': '100s',
18
- 'worker-connections': '1024',
19
- 'worker-processes': '4', //or auto
20
- 'annotation-value-word-blocklist': 'load_module,lua_package,_by_lua,location,root,proxy_pass,serviceaccount,{,},\\', //Remove single quote from annotation-value-word-blocklist to allows security content.
21
- };
22
- /**
23
- * kubectl exec ingress-nginx-controller-873061567-4n3k2 -n ingress-nginx -- cat /etc/nginx/nginx.conf >> nginx.conf
24
- * https://github.com/kubernetes/ingress-nginx
25
- */
26
- exports.default = ({ name = 'nginx', namespace = 'nginx', version, useIngressClassOnly = true, defaultIngressClass, allowSnippetAnnotations, replicaCount = 1, network, config, tcp, udp, addHeaders, proxySetHeaders, enableDebug = false, provider, dependsOn, }) => {
27
- //Annotations
28
- const annotations = {};
29
- if (network.internalIngress) {
30
- annotations['service.beta.kubernetes.io/azure-load-balancer-internal'] =
31
- 'true';
32
- }
33
- if (network.vnetResourceGroup) {
34
- annotations['service.beta.kubernetes.io/azure-load-balancer-resource-group'] = network.vnetResourceGroup;
35
- }
36
- if (network.internalSubnetName) {
37
- annotations['service.beta.kubernetes.io/azure-load-balancer-internal-subnet'] = network.internalSubnetName;
38
- }
39
- // Create a NGINX Deployment
40
- return new k8s.helm.v3.Chart(name, {
41
- namespace,
42
- chart: 'ingress-nginx',
43
- version,
44
- fetchOpts: {
45
- repo: 'https://kubernetes.github.io/ingress-nginx',
46
- },
47
- skipAwait: true,
48
- values: {
49
- tcp,
50
- udp,
51
- proxySetHeaders,
52
- addHeaders,
53
- controller: {
54
- hostNetwork: false,
55
- allowSnippetAnnotations,
56
- replicaCount,
57
- proxySetHeaders,
58
- addHeaders,
59
- config: {
60
- ...defaultConfigs,
61
- ...config,
62
- 'error-log-level': enableDebug ? 'debug' : 'notice', // notice or error
63
- },
64
- useIngressClassOnly,
65
- watchIngressWithoutClass: defaultIngressClass,
66
- ingressClass: useIngressClassOnly ? name : 'nginx',
67
- ingressClassResource: useIngressClassOnly
68
- ? {
69
- name,
70
- controllerValue: `k8s.io/nginx-${name}`,
71
- enabled: true,
72
- default: defaultIngressClass,
73
- }
74
- : undefined,
75
- nodeSelector: {
76
- 'kubernetes.io/os': 'linux',
77
- },
78
- service: {
79
- externalTrafficPolicy: 'Local',
80
- annotations,
81
- clusterIP: network.clusterIP,
82
- loadBalancerIP: network.loadBalancerIP,
83
- },
84
- resources: {
85
- limits: {
86
- cpu: '1000m',
87
- memory: '1Gi',
88
- },
89
- requests: {
90
- cpu: '10m',
91
- memory: '10Mi',
92
- },
93
- },
94
- // metrics: {
95
- // enabled: true,
96
- // },
97
- },
98
- },
99
- transformations: [
100
- (obj) => {
101
- (0, SecurityRules_1.applyDeploymentRules)(obj, {
102
- //ignoredKinds: isPrd ? ['Job'] : undefined,
103
- ignoreSecurityContext: true,
104
- });
105
- },
106
- ],
107
- }, { provider, dependsOn });
108
- };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvQ29yZS9OZ2lueC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBDQUEwQztBQUkxQyxvREFBd0Q7QUFFeEQsTUFBTSxjQUFjLEdBQUc7SUFDckIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQix1QkFBdUIsRUFBRSxNQUFNO0lBQy9CLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsdUJBQXVCLEVBQUUsTUFBTTtJQUMvQixvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsMkJBQTJCLEVBQUUsTUFBTTtJQUNuQyxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLG9CQUFvQixFQUFFLE1BQU07SUFDNUIsNEJBQTRCO0lBQzVCLDhCQUE4QixFQUFFLE1BQU07SUFDdEMseUJBQXlCLEVBQUUsTUFBTTtJQUNqQyxvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxTQUFTO0lBQ2xDLGlDQUFpQyxFQUMvQixnRkFBZ0YsRUFBRSxzRkFBc0Y7Q0FDM0ssQ0FBQztBQWlDRjs7O0dBR0c7QUFFSCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxHQUFHLE9BQU8sRUFDZCxTQUFTLEdBQUcsT0FBTyxFQUNuQixPQUFPLEVBRVAsbUJBQW1CLEdBQUcsSUFBSSxFQUMxQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLFlBQVksR0FBRyxDQUFDLEVBQ2hCLE9BQU8sRUFDUCxNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxVQUFVLEVBQ1YsZUFBZSxFQUVmLFdBQVcsR0FBRyxLQUFLLEVBQ25CLFFBQVEsRUFDUixTQUFTLEdBQ0gsRUFBRSxFQUFFO0lBQ1YsYUFBYTtJQUNiLE1BQU0sV0FBVyxHQUFxQyxFQUFFLENBQUM7SUFFekQsSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsV0FBVyxD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
File without changes
@@ -1,3 +0,0 @@
1
- "use strict";
2
- //https://oak-tree.tech/blog/k8s-nginx-oauth2-gitlab
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvQ29yZS9PQXV0aFByb3h5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvREFBb0QifQ==
@@ -1,12 +0,0 @@
1
- import { DefaultK8sArgs } from '../types';
2
- export type ResourceQuotaSpec = {
3
- cpu: string;
4
- memory: string;
5
- pods: string;
6
- persistentvolumeclaims: string;
7
- };
8
- interface Props extends DefaultK8sArgs {
9
- spec: ResourceQuotaSpec;
10
- }
11
- declare const _default: ({ name, namespace, spec, ...others }: Props) => import("@pulumi/kubernetes/core/v1/resourceQuota").ResourceQuota;
12
- export default _default;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- exports.default = ({ name = 'resource-quota', namespace, spec, ...others }) => new k8s.core.v1.ResourceQuota(name, {
5
- metadata: {
6
- name,
7
- namespace,
8
- },
9
- spec: {
10
- hard: spec,
11
- },
12
- }, others);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VRdW90YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Db3JlL1Jlc291cmNlUXVvdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwwQ0FBMEM7QUFhMUMsa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxnQkFBZ0IsRUFDdkIsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUUsQ0FDVixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FDM0IsSUFBSSxFQUNKO0lBQ0UsUUFBUSxFQUFFO1FBQ1IsSUFBSTtRQUNKLFNBQVM7S0FDVjtJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxJQUFJO0tBQ1g7Q0FDRixFQUNELE1BQU0sQ0FDUCxDQUFDIn0=
@@ -1,34 +0,0 @@
1
- export { defaultResponseHeaders } from '../Ingress/Conts';
2
- export declare const defaultSecurityContext: {
3
- runAsUser: number;
4
- runAsGroup: number;
5
- fsGroup: number;
6
- };
7
- export declare const defaultPodSecurityContext: {
8
- readOnlyRootFilesystem: boolean;
9
- privileged: boolean;
10
- runAsNonRoot: boolean;
11
- allowPrivilegeEscalation: boolean;
12
- fsGroupChangePolicy: string;
13
- capabilities: {
14
- add: string[];
15
- drop: string[];
16
- };
17
- };
18
- export declare const defaultResources: {
19
- limits: {
20
- cpu: string;
21
- memory: string;
22
- };
23
- requests: {
24
- cpu: string;
25
- memory: string;
26
- };
27
- };
28
- type Kinds = 'DaemonSet' | 'Deployment' | 'Job' | 'CronJob' | 'StatefulSet';
29
- interface OptionsProps {
30
- disableServiceAccount?: boolean;
31
- ignoreSecurityContext?: boolean;
32
- ignoredKinds?: Array<Kinds>;
33
- }
34
- export declare const applyDeploymentRules: (obj: any, options?: OptionsProps) => any;
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyDeploymentRules = exports.defaultResources = exports.defaultPodSecurityContext = exports.defaultSecurityContext = exports.defaultResponseHeaders = void 0;
4
- var Conts_1 = require("../Ingress/Conts");
5
- Object.defineProperty(exports, "defaultResponseHeaders", { enumerable: true, get: function () { return Conts_1.defaultResponseHeaders; } });
6
- exports.defaultSecurityContext = {
7
- runAsUser: 1000,
8
- runAsGroup: 3000,
9
- fsGroup: 2000,
10
- };
11
- exports.defaultPodSecurityContext = {
12
- readOnlyRootFilesystem: false,
13
- privileged: false,
14
- runAsNonRoot: true,
15
- allowPrivilegeEscalation: false,
16
- fsGroupChangePolicy: 'OnRootMismatch',
17
- capabilities: {
18
- add: ['NET_ADMIN', 'SYS_TIME'],
19
- drop: ['ALL'],
20
- },
21
- };
22
- exports.defaultResources = {
23
- limits: { cpu: '500m', memory: '500Mi' },
24
- requests: { cpu: '10m', memory: '100Mi' },
25
- };
26
- const disableAutoMountServiceAccount = (obj) => {
27
- //Update Auto mount Service Account
28
- obj.spec.template.spec.automountServiceAccountToken = false;
29
- };
30
- const applySecurity = (obj) => {
31
- //Update Security Context
32
- if (obj.spec.template.spec.securityContext)
33
- obj.spec.template.spec.securityContext = {
34
- ...exports.defaultSecurityContext,
35
- ...obj.spec.template.spec.securityContext,
36
- };
37
- else
38
- obj.spec.template.spec.securityContext = exports.defaultSecurityContext;
39
- const containers = obj.spec.template.spec.containers;
40
- containers.forEach((c) => {
41
- //Update Pod Security Context
42
- if (c.securityContext)
43
- c.securityContext = {
44
- ...exports.defaultPodSecurityContext,
45
- ...c.securityContext,
46
- };
47
- else
48
- c.securityContext = exports.defaultPodSecurityContext;
49
- });
50
- };
51
- const applyResourceLimits = (obj) => {
52
- //Update the resources
53
- const containers = obj.spec.template.spec.containers;
54
- containers.forEach((c) => {
55
- //Update the resources
56
- if (c.resources)
57
- c.resources = {
58
- ...exports.defaultResources,
59
- ...c.resources,
60
- };
61
- else
62
- c.resources = exports.defaultResources;
63
- });
64
- };
65
- const updateRevisionHistoryLimit = (obj) => {
66
- if (!obj.spec.revisionHistoryLimit) {
67
- obj.spec.revisionHistoryLimit = 1;
68
- }
69
- };
70
- //Apply Security Context and Resources
71
- const applyDeploymentRules = (obj, options = { disableServiceAccount: true }) => {
72
- if (!['DaemonSet', 'Deployment', 'StatefulSet', 'Job', 'CronJob'].includes(obj.kind))
73
- return obj;
74
- if (options.ignoredKinds?.includes(obj.kind)) {
75
- console.warn('applyDeploymentRules ignored:', `${obj.kind}-${obj.metadata.name}`);
76
- return obj;
77
- }
78
- //Update the resources
79
- applyResourceLimits(obj);
80
- updateRevisionHistoryLimit(obj);
81
- // disableAutoMountServiceAccount
82
- if (options.disableServiceAccount &&
83
- ['Deployment', 'Job', 'CronJob'].includes(obj.kind)) {
84
- disableAutoMountServiceAccount(obj);
85
- }
86
- if (!options.ignoreSecurityContext) {
87
- //Update Security Context
88
- applySecurity(obj);
89
- }
90
- return obj;
91
- };
92
- exports.applyDeploymentRules = applyDeploymentRules;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlSdWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Db3JlL1NlY3VyaXR5UnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMENBQTBEO0FBQWpELCtHQUFBLHNCQUFzQixPQUFBO0FBRWxCLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFVyxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLHNCQUFzQixFQUFFLEtBQUs7SUFDN0IsVUFBVSxFQUFFLEtBQUs7SUFDakIsWUFBWSxFQUFFLElBQUk7SUFDbEIsd0JBQXdCLEVBQUUsS0FBSztJQUMvQixtQkFBbUIsRUFBRSxnQkFBZ0I7SUFDckMsWUFBWSxFQUFFO1FBQ1osR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztRQUM5QixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7S0FDZDtDQUNGLENBQUM7QUFFVyxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRTtJQUNsRCxtQ0FBbUM7SUFDbkMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztBQUM5RCxDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFO0lBQ2pDLHlCQUF5QjtJQUN6QixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FB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
@@ -1,20 +0,0 @@
1
- import { DefaultK8sArgs } from '../../types';
2
- import { Input } from '@pulumi/pulumi';
3
- export declare const defaultBlobFuseMountOptions: string[];
4
- export declare const defaultBlobNfsMountOptions: string[];
5
- export interface AzureBlobStorageClassProps extends Omit<DefaultK8sArgs, 'name' | 'namespace'> {
6
- isDefault?: boolean;
7
- skuName: 'Premium_LRS' | 'Standard_LRS' | 'StandardSSD_LRS';
8
- storageAccount: Input<string>;
9
- fuse?: {
10
- mountOptions?: Input<string>[];
11
- };
12
- nfs?: {
13
- mountOptions?: Input<string>[];
14
- };
15
- }
16
- declare const _default: ({ fuse, nfs, storageAccount, skuName, isDefault, ...others }: AzureBlobStorageClassProps) => {
17
- fuseStorageClass: import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass | undefined;
18
- nfsStorageClass: import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass | undefined;
19
- };
20
- export default _default;
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultBlobNfsMountOptions = exports.defaultBlobFuseMountOptions = void 0;
4
- const k8s = require("@pulumi/kubernetes");
5
- const StackEnv_1 = require("../../../Common/StackEnv");
6
- exports.defaultBlobFuseMountOptions = [
7
- '-o allow_other',
8
- '--file-cache-timeout-in-seconds=120',
9
- '--use-attr-cache=true',
10
- '--cancel-list-on-mount-seconds=10',
11
- '-o attr_timeout=120',
12
- '-o entry_timeout=120',
13
- '-o negative_timeout=120',
14
- '--log-level=LOG_WARNING',
15
- '--cache-size-mb=1000',
16
- ];
17
- exports.defaultBlobNfsMountOptions = [
18
- '-o allow_other',
19
- '--file-cache-timeout-in-seconds=120',
20
- '--use-attr-cache=true',
21
- '--cancel-list-on-mount-seconds=10',
22
- '-o attr_timeout=120',
23
- '-o entry_timeout=120',
24
- '-o negative_timeout=120',
25
- '--log-level=LOG_WARNING',
26
- '--cache-size-mb=1000',
27
- ];
28
- exports.default = ({ fuse, nfs, storageAccount, skuName, isDefault, ...others }) => {
29
- const nfsname = `${StackEnv_1.organization}-azureblob-nfs-${skuName.replace('_', '-')}`.toLowerCase();
30
- const fusename = `${StackEnv_1.organization}-azureblob-fuse-${skuName.replace('_', '-')}`.toLowerCase();
31
- const provisioner = 'blob.csi.azure.com';
32
- let fuseStorageClass = undefined;
33
- let nfsStorageClass = undefined;
34
- if (fuse)
35
- fuseStorageClass = new k8s.storage.v1.StorageClass(fusename, {
36
- metadata: {
37
- name: fusename,
38
- annotations: isDefault
39
- ? {
40
- 'storageclass.kubernetes.io/is-default-class': 'true',
41
- }
42
- : undefined,
43
- },
44
- provisioner,
45
- allowVolumeExpansion: true,
46
- reclaimPolicy: 'Delete',
47
- volumeBindingMode: 'Immediate',
48
- parameters: {
49
- storageAccount,
50
- skuName,
51
- },
52
- mountOptions: exports.defaultBlobFuseMountOptions,
53
- }, others);
54
- if (nfs)
55
- nfsStorageClass = new k8s.storage.v1.StorageClass(nfsname, {
56
- metadata: {
57
- name: nfsname,
58
- annotations: isDefault
59
- ? {
60
- 'storageclass.kubernetes.io/is-default-class': 'true',
61
- }
62
- : undefined,
63
- },
64
- provisioner,
65
- allowVolumeExpansion: true,
66
- reclaimPolicy: 'Delete',
67
- volumeBindingMode: 'Immediate',
68
- parameters: {
69
- protocol: 'nfs',
70
- storageAccount,
71
- skuName,
72
- },
73
- //mountOptions: defaultBlobFuseMountOptions,
74
- }, others);
75
- return { fuseStorageClass, nfsStorageClass };
76
- };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmVCbG9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0t1YmVYL0NvcmUvU3RvcmFnZUNsYXNzL2F6dXJlQmxvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwQ0FBMEM7QUFHMUMsdURBQXdEO0FBRTNDLFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsZ0JBQWdCO0lBQ2hCLHFDQUFxQztJQUNyQyx1QkFBdUI7SUFDdkIsbUNBQW1DO0lBQ25DLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixzQkFBc0I7Q0FDdkIsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsZ0JBQWdCO0lBQ2hCLHFDQUFxQztJQUNyQyx1QkFBdUI7SUFDdkIsbUNBQW1DO0lBQ25DLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixzQkFBc0I7Q0FDdkIsQ0FBQztBQWVGLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osR0FBRyxFQUNILGNBQWMsRUFDZCxPQUFPLEVBQ1AsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUNrQixFQUFFLEVBQUU7SUFDL0IsTUFBTSxPQUFPLEdBQUcsR0FBRyx1QkFBWSxrQkFBa0IsT0FBTyxDQUFDLE9BQU8sQ0FDOUQsR0FBRyxFQUNILEdBQUcsQ0FDSixFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUcsR0FBRyx1QkFBWSxtQkFBbUIsT0FBTyxDQUFDLE9BQU8sQ0FDaEUsR0FBRyxFQUNILEdBQUcsQ0FDSixFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFbEIsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUM7SUFFekMsSUFBSSxnQkFBZ0IsR0FBNEMsU0FBUyxDQUFDO0lBQzFFLElBQUksZUFBZSxHQUE0QyxTQUFTLENBQUM7SUFFekUsSUFBSSxJQUFJO1FBQ04sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQ2hELFFBQVEsRUFDUjtZQUNFLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsU0FBUztvQkFDcEIsQ0FBQyxDQUFDO3dCQUNFLDZDQUE2QyxFQUFFLE1BQU07cUJBQ3REO29CQUNILENBQUMsQ0FBQyxTQUFTO2FBQ2Q7WUFDRCxXQUFXO1lBQ1gsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsUUFBUTtZQUN2QixpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLFVBQVUsRUFBRTtnQkFDVixjQUFjO2dCQUNkLE9BQU87YUFDUjtZQUNELFlBQVksRUFBRSxtQ0FBMkI7U0FDMUMsRUFDRCxNQUFNLENBQ1AsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDL0MsT0FBTyxFQUNQO1lBQ0UsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxPQUFPO2dCQUNiLFdBQVcsRUFBRSxTQUFTO29CQUNwQixDQUFDLENBQUM7d0JBQ0UsNkNBQTZDLEVBQUUsTUFBTTtxQkFDdEQ7b0JBQ0gsQ0FBQyxDQUFDLFNBQVM7YUFDZDtZQUNELFdBQVc7WUFDWCxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLGlCQUFpQixFQUFFLFdBQVc7WUFDOUIsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxLQUFLO2dCQUNmLGNBQWM7Z0JBQ2QsT0FBTzthQUNSO1lBQ0QsNENBQTRDO1NBQzdDLEVBQ0QsTUFBTSxDQUNQLENBQUM7SUFFSixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDL0MsQ0FBQyxDQUFDIn0=
@@ -1,17 +0,0 @@
1
- import { DefaultK8sArgs } from '../../types';
2
- import { Input } from '@pulumi/pulumi';
3
- /** Sample mount options of the AzureFile*/
4
- export type RunAsType = {
5
- runAsUser: number;
6
- runAsGroup: number;
7
- };
8
- export declare const defaultAzureFileMountOptions: string[];
9
- export declare const getAzureFileMountOptions: ({ runAsUser, runAsGroup, }: RunAsType) => string[];
10
- export interface AzureFileStorageClassProps extends Omit<DefaultK8sArgs, 'name' | 'namespace'> {
11
- isDefault?: boolean;
12
- storageAccount: Input<string>;
13
- skuName: 'Premium_LRS' | 'Standard_LRS' | 'StandardSSD_LRS';
14
- mountOptions?: RunAsType;
15
- }
16
- declare const _default: ({ skuName, mountOptions, storageAccount, isDefault, ...others }: AzureFileStorageClassProps) => import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass;
17
- export default _default;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAzureFileMountOptions = exports.defaultAzureFileMountOptions = void 0;
4
- const k8s = require("@pulumi/kubernetes");
5
- const StackEnv_1 = require("../../../Common/StackEnv");
6
- exports.defaultAzureFileMountOptions = [
7
- 'mfsymlinks',
8
- 'cache=strict',
9
- 'nosharesock',
10
- ];
11
- const getAzureFileMountOptions = ({ runAsUser, runAsGroup, }) => [
12
- 'dir_mode=0777',
13
- 'file_mode=0777',
14
- `uid=${runAsUser}`,
15
- `gid=${runAsGroup}`,
16
- 'mfsymlinks',
17
- 'cache=strict',
18
- 'nosharesock',
19
- ];
20
- exports.getAzureFileMountOptions = getAzureFileMountOptions;
21
- exports.default = ({ skuName, mountOptions, storageAccount, isDefault, ...others }) => {
22
- const name = `${StackEnv_1.organization}-azurefile-${skuName.replace('_', '-')}`.toLowerCase();
23
- return new k8s.storage.v1.StorageClass(name, {
24
- metadata: {
25
- name,
26
- annotations: isDefault
27
- ? {
28
- 'storageclass.kubernetes.io/is-default-class': 'true',
29
- }
30
- : undefined,
31
- },
32
- provisioner: 'file.csi.azure.com',
33
- allowVolumeExpansion: true,
34
- reclaimPolicy: 'Delete',
35
- volumeBindingMode: 'Immediate',
36
- parameters: {
37
- storageAccount,
38
- skuName,
39
- },
40
- mountOptions: mountOptions
41
- ? (0, exports.getAzureFileMountOptions)(mountOptions)
42
- : exports.defaultAzureFileMountOptions,
43
- }, others);
44
- };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmVGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0t1YmVYL0NvcmUvU3RvcmFnZUNsYXNzL2F6dXJlRmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwQ0FBMEM7QUFHMUMsdURBQXdEO0FBUTNDLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsWUFBWTtJQUNaLGNBQWM7SUFDZCxhQUFhO0NBQ2QsQ0FBQztBQUNLLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxHQUNBLEVBQUUsRUFBRSxDQUFDO0lBQ2YsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixPQUFPLFNBQVMsRUFBRTtJQUNsQixPQUFPLFVBQVUsRUFBRTtJQUNuQixZQUFZO0lBQ1osY0FBYztJQUNkLGFBQWE7Q0FDZCxDQUFDO0FBWFcsUUFBQSx3QkFBd0IsNEJBV25DO0FBVUYsa0JBQWUsQ0FBQyxFQUNkLE9BQU8sRUFDUCxZQUFZLEVBQ1osY0FBYyxFQUNkLFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDa0IsRUFBRSxFQUFFO0lBQy9CLE1BQU0sSUFBSSxHQUFHLEdBQUcsdUJBQVksY0FBYyxPQUFPLENBQUMsT0FBTyxDQUN2RCxHQUFHLEVBQ0gsR0FBRyxDQUNKLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVsQixPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNwQyxJQUFJLEVBQ0o7UUFDRSxRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osV0FBVyxFQUFFLFNBQVM7Z0JBQ3BCLENBQUMsQ0FBQztvQkFDRSw2Q0FBNkMsRUFBRSxNQUFNO2lCQUN0RDtnQkFDSCxDQUFDLENBQUMsU0FBUztTQUNkO1FBQ0QsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxvQkFBb0IsRUFBRSxJQUFJO1FBQzFCLGFBQWEsRUFBRSxRQUFRO1FBQ3ZCLGlCQUFpQixFQUFFLFdBQVc7UUFDOUIsVUFBVSxFQUFFO1lBQ1YsY0FBYztZQUNkLE9BQU87U0FDUjtRQUNELFlBQVksRUFBRSxZQUFZO1lBQ3hCLENBQUMsQ0FBQyxJQUFBLGdDQUF3QixFQUFDLFlBQVksQ0FBQztZQUN4QyxDQUFDLENBQUMsb0NBQTRCO0tBQ2pDLEVBQ0QsTUFBTSxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -1,13 +0,0 @@
1
- import { AzureFileStorageClassProps, RunAsType } from './azureFile';
2
- import { AzureBlobStorageClassProps } from './azureBlob';
3
- export interface StorageClassProps extends Omit<AzureFileStorageClassProps, 'mountOptions'>, Pick<AzureBlobStorageClassProps, 'fuse' | 'nfs'> {
4
- azureFile?: {
5
- mountOptions?: RunAsType;
6
- };
7
- }
8
- declare const _default: ({ azureFile, fuse, nfs, ...others }: StorageClassProps) => {
9
- azureFileStorageClass: import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass | undefined;
10
- azureBlobFuseStorageClass: import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass | undefined;
11
- azureBlobNfsStorageClass: import("@pulumi/kubernetes/storage/v1/storageClass").StorageClass | undefined;
12
- };
13
- export default _default;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const azureFile_1 = require("./azureFile");
4
- const azureBlob_1 = require("./azureBlob");
5
- exports.default = ({ azureFile, fuse, nfs, ...others }) => {
6
- let azureFileStorageClass = undefined;
7
- let azureBlobFuseStorageClass = undefined;
8
- let azureBlobNfsStorageClass = undefined;
9
- if (azureFile)
10
- azureFileStorageClass = (0, azureFile_1.default)({
11
- ...others,
12
- mountOptions: azureFile.mountOptions,
13
- });
14
- if (fuse || nfs) {
15
- const rs = (0, azureBlob_1.default)({ ...others, fuse, nfs });
16
- azureBlobFuseStorageClass = rs.fuseStorageClass;
17
- azureBlobNfsStorageClass = rs.nfsStorageClass;
18
- }
19
- return {
20
- azureFileStorageClass,
21
- azureBlobFuseStorageClass,
22
- azureBlobNfsStorageClass,
23
- };
24
- };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvQ29yZS9TdG9yYWdlQ2xhc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwyQ0FBZ0Q7QUFDaEQsMkNBQWdEO0FBV2hELGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBcUIsRUFBRSxFQUFFO0lBQ3hFLElBQUkscUJBQXFCLEdBQ3ZCLFNBQVMsQ0FBQztJQUNaLElBQUkseUJBQXlCLEdBQzNCLFNBQVMsQ0FBQztJQUNaLElBQUksd0JBQXdCLEdBQzFCLFNBQVMsQ0FBQztJQUVaLElBQUksU0FBUztRQUNYLHFCQUFxQixHQUFHLElBQUEsbUJBQXFCLEVBQUM7WUFDNUMsR0FBRyxNQUFNO1lBQ1QsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO1NBQ3JDLENBQUMsQ0FBQztJQUVMLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxHQUFHLElBQUEsbUJBQXFCLEVBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzRCx5QkFBeUIsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsT0FBTztRQUNMLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsd0JBQXdCO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -1,57 +0,0 @@
1
- import { MonitoringProps } from './Monitoring';
2
- import { CertManagerProps } from './CertManager';
3
- import { Input, Resource } from '@pulumi/pulumi';
4
- import { StorageClassProps } from './StorageClass';
5
- import { K8sArgs } from '../types';
6
- import { MetalLBProps } from './LoadBalancer/MetalLB';
7
- import { LonghornProps } from '../Storage/Longhorn';
8
- interface NginxItemProps {
9
- name: string;
10
- publicIpAddress?: string;
11
- /**Use this in case the ingress behind a firewall*/
12
- internalIpAddress?: string;
13
- /**Expose TCP Ports {port: dnsName} */
14
- tcp?: {
15
- [key: number]: string;
16
- };
17
- /**Expose UDP ports {port: dnsName} */
18
- udp?: {
19
- [key: number]: string;
20
- };
21
- }
22
- interface NginxProps {
23
- namespace: string;
24
- version?: string;
25
- replicaCount?: number;
26
- vnetResourceGroup?: string;
27
- internalIngress?: boolean;
28
- allowSnippetAnnotations?: boolean;
29
- public?: NginxItemProps & {
30
- forceUseIngressClass?: boolean;
31
- };
32
- private?: Omit<NginxItemProps, 'publicIpAddress'>;
33
- }
34
- interface Props extends K8sArgs {
35
- namespaces: Array<{
36
- name: string;
37
- labels?: {
38
- [key: string]: string;
39
- };
40
- }>;
41
- metalLb?: Omit<MetalLBProps, 'provider' | 'dependsOn'>;
42
- longhorn?: Omit<LonghornProps, 'provider' | 'dependsOn'>;
43
- nginx?: NginxProps;
44
- monitoring?: Omit<MonitoringProps, 'provider' | 'dependsOn'>;
45
- certManager?: Omit<CertManagerProps, 'namespace' | 'provider' | 'dependsOn'>;
46
- storageClasses?: {
47
- [key: string]: Omit<StorageClassProps, 'provider' | 'name'>;
48
- };
49
- enableStaticIpEgress?: {
50
- publicIpAddress?: Input<string>;
51
- };
52
- }
53
- declare const _default: ({ namespaces, provider, dependsOn, metalLb, longhorn, nginx, monitoring, certManager, storageClasses, }: Props) => Promise<{
54
- namespacesList: import("@pulumi/kubernetes/core/v1/namespace").Namespace[];
55
- resources: Resource[];
56
- }>;
57
- export default _default;