@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,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Deployment_1 = require("../../Deployment");
4
- const dotnetConfig_1 = require("../../../Common/AppConfigs/dotnetConfig");
5
- const VairableResolvers_1 = require("../../VairableResolvers");
6
- const createReverseProxyConfig = async (reverseProxy, vaultInfo) => {
7
- const clusterConfig = {};
8
- const routeConfig = {};
9
- let routeIndex = 0;
10
- reverseProxy.clusters.forEach((c, i) => {
11
- const clusterIndex = i + 1;
12
- const clusterName = `cluster${clusterIndex}`;
13
- const urls = Array.isArray(c.destinationUrl)
14
- ? c.destinationUrl
15
- : [c.destinationUrl];
16
- if (c.loadBalancingPolicy) {
17
- clusterConfig[`ReverseProxy__Clusters__${clusterName}__LoadBalancingPolicy`] = c.loadBalancingPolicy;
18
- }
19
- urls.forEach((url, i) => {
20
- clusterConfig[`ReverseProxy__Clusters__${clusterName}__Destinations__destination${i}__Address`] = url;
21
- });
22
- c.routes.forEach((r) => {
23
- routeIndex += 1;
24
- const routeName = `ReverseProxy__Routes__route${routeIndex}`;
25
- routeConfig[`${routeName}__ClusterId`] = clusterName;
26
- routeConfig[`${routeName}__Match__Path`] = r.path;
27
- if (r.headers) {
28
- r.headers.forEach((h, headerIndex) => {
29
- routeConfig[`${routeName}__Match__Headers__${headerIndex}__Name`] =
30
- h.name;
31
- routeConfig[`${routeName}__Match__Headers__${headerIndex}__Mode`] =
32
- h.mode;
33
- h.values.forEach((v, valueIndex) => {
34
- routeConfig[`${routeName}__Match__Headers__${headerIndex}__Values__${valueIndex}`] = v;
35
- });
36
- });
37
- }
38
- if (r.transforms) {
39
- r.transforms.forEach((ts, i) => Object.keys(ts).forEach((k) => (routeConfig[`${routeName}__Transforms__${i}__${k}`] =
40
- ts[k].toString())));
41
- }
42
- });
43
- });
44
- if (vaultInfo)
45
- return await (0, VairableResolvers_1.default)({
46
- config: { ...routeConfig, ...clusterConfig },
47
- vaultInfo,
48
- });
49
- return { configMap: { ...routeConfig, ...clusterConfig }, secrets: {} };
50
- };
51
- const createForwardedProxyConfig = async (forwarderProxy, vaultInfo) => {
52
- const config = {};
53
- forwarderProxy.forEach((c, i) => {
54
- config[`ForwarderProxy__${i}__Route`] = c.route;
55
- c.destinationUrls.forEach((d, di) => (config[`ForwarderProxy__${i}__Destinations__${di}`] = d));
56
- if (c.headers) {
57
- Object.keys(c.headers).forEach((k) => {
58
- config[`ForwarderProxy__${i}__Headers__${k}`] = c.headers[k];
59
- });
60
- }
61
- if (c.sslProtocols) {
62
- config[`ForwarderProxy__${i}__SslProtocols`] = c.sslProtocols;
63
- }
64
- if (c.clientCertificate) {
65
- config[`ForwarderProxy__${i}__ClientCertificate`] = c.clientCertificate;
66
- if (c.clientCertificatePassword)
67
- config[`ForwarderProxy__${i}__ClientCertificatePassword`] =
68
- c.clientCertificatePassword;
69
- }
70
- });
71
- if (vaultInfo)
72
- return await (0, VairableResolvers_1.default)({ config, vaultInfo });
73
- return { configMap: config, secrets: {} };
74
- };
75
- /** YARP Reverse Proxy https://microsoft.github.io/reverse-proxy */
76
- exports.default = async ({ reverseProxy, forwardedProxy, namespace, ingress, name = 'proxy', enableDebug, enableHA, vaultInfo, ...others }) => {
77
- const proxyConfig = reverseProxy
78
- ? await createReverseProxyConfig(reverseProxy, vaultInfo)
79
- : { configMap: {}, secrets: {} };
80
- const forwarderConfig = forwardedProxy
81
- ? await createForwardedProxyConfig(forwardedProxy, vaultInfo)
82
- : { configMap: {}, secrets: {} };
83
- const proxy = (0, Deployment_1.default)({
84
- ...others,
85
- name,
86
- namespace,
87
- configMap: {
88
- ...dotnetConfig_1.defaultDotNetConfig,
89
- Logging__LogLevel__Yarp: enableDebug ? 'Debug' : 'Warning',
90
- FeatureManagement__EnableForwarder: reverseProxy ? 'true' : 'false',
91
- FeatureManagement__EnableReverseProxy: forwarderConfig ? 'true' : 'false',
92
- FeatureManagement__EnableHttpLog: enableDebug ? 'true' : 'false',
93
- ...proxyConfig.configMap,
94
- ...forwarderConfig.configMap,
95
- },
96
- secrets: { ...proxyConfig.secrets, ...forwarderConfig.secrets },
97
- ingressConfig: ingress,
98
- podConfig: {
99
- ports: { http: 8080 },
100
- image: 'baoduy2412/hbd.yarp-proxy:latest',
101
- },
102
- deploymentConfig: { replicas: 1 },
103
- enableHA: enableHA ? { name, maxReplicas: 3, minReplicas: 1 } : undefined,
104
- });
105
- return proxy;
106
- };
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvQXBwcy9ZYXJwUHJveHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxpREFBMEM7QUFDMUMsMEVBQThFO0FBRTlFLCtEQUF1RDtBQVd2RCxNQUFNLHdCQUF3QixHQUFHLEtBQUssRUFDcEMsWUFBMEIsRUFDMUIsU0FBd0IsRUFDeEIsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFrQyxFQUFFLENBQUM7SUFDeEQsTUFBTSxXQUFXLEdBQWtDLEVBQUUsQ0FBQztJQUN0RCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFbkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxVQUFVLFlBQVksRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7WUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDMUIsYUFBYSxDQUNYLDJCQUEyQixXQUFXLHVCQUF1QixDQUM5RCxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QixhQUFhLENBQ1gsMkJBQTJCLFdBQVcsOEJBQThCLENBQUMsV0FBVyxDQUNqRixHQUFHLEdBQUcsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFP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
@@ -1,55 +0,0 @@
1
- import { DeploymentIngress } from '../../Deployment';
2
- import { Input } from '@pulumi/pulumi';
3
- export type Transform = {
4
- PathPrefix: string;
5
- } | {
6
- PathRemovePrefix: string;
7
- } | {
8
- PathPattern: string;
9
- } | {
10
- RequestHeader: string;
11
- Append: string;
12
- } | {
13
- ResponseHeader: string;
14
- Append: string;
15
- When?: 'Always';
16
- } | {
17
- ClientCert: 'X-Client-Cert' | string;
18
- } | {
19
- RequestHeadersCopy: boolean;
20
- } | {
21
- RequestHeaderOriginalHost: boolean;
22
- } | {
23
- 'X-Forwarded': 'proto' | 'host' | 'for' | 'prefix' | string;
24
- Append: boolean;
25
- Prefix: 'X-Forwarded-';
26
- };
27
- export interface Route {
28
- path: string | '{**catch-all}' | '{**remainder}';
29
- /**Header matching*/
30
- headers?: Array<{
31
- name: string;
32
- values: string[];
33
- mode: 'ExactHeader' | 'HeaderPrefix' | 'Contains' | 'NotContains' | 'Exists';
34
- }>;
35
- transforms?: Transform[];
36
- }
37
- export interface Cluster {
38
- loadBalancingPolicy?: 'FirstAlphabetical' | 'Random' | 'PowerOfTwoChoices' | 'RoundRobin' | 'LeastRequests';
39
- destinationUrl: string | Array<string>;
40
- routes: Route[];
41
- }
42
- export interface ReverseProxy {
43
- clusters: Cluster[];
44
- ingressConfig?: DeploymentIngress;
45
- }
46
- export interface ForwardedProxy {
47
- route: string;
48
- destinationUrls: Array<string>;
49
- clientCertificate?: Input<string>;
50
- clientCertificatePassword?: Input<string>;
51
- sslProtocols?: 'Ssl2' | 'Ssl3' | 'Tls' | 'Tls11' | 'Tls12' | 'Tls13';
52
- headers?: {
53
- [key: string]: string;
54
- };
55
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9LdWJlWC9BcHBzL1lhcnBQcm94eS90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1 +0,0 @@
1
- export declare const getTlsName: (domain: string, enableCertIssuer: boolean) => string;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTlsName = void 0;
4
- const Helpers_1 = require("../Common/Helpers");
5
- const getTlsName = (domain, enableCertIssuer) => enableCertIssuer
6
- ? `tls-${(0, Helpers_1.replaceAll)(domain, '.', '-')}-lets`
7
- : `tls-${(0, Helpers_1.replaceAll)(domain, '.', '-')}-imported`;
8
- exports.getTlsName = getTlsName;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2VydEhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9LdWJlWC9DZXJ0SGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUErQztBQUV4QyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxnQkFBeUIsRUFBRSxFQUFFLENBQ3RFLGdCQUFnQjtJQUNkLENBQUMsQ0FBQyxPQUFPLElBQUEsb0JBQVUsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPO0lBQzVDLENBQUMsQ0FBQyxPQUFPLElBQUEsb0JBQVUsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUM7QUFIeEMsUUFBQSxVQUFVLGNBRzhCIn0=
@@ -1,19 +0,0 @@
1
- import { KeyVaultInfo } from '../types';
2
- import { K8sArgs } from './types';
3
- export interface FromCertOrderProps extends K8sArgs {
4
- namespaces: string[];
5
- /** The cert name or domain name */
6
- certName: string;
7
- }
8
- /** Import Cert to K8s from Azure Cert Order*/
9
- export declare const certImportFromCertOrder: ({ namespaces, certName, ...others }: FromCertOrderProps) => Promise<void>;
10
- export declare const certImportFromFolder: ({ certName, namespaces, certFolder, ...others }: FromCertOrderProps & {
11
- certFolder: string;
12
- }) => string | undefined;
13
- interface ImportCertFromVaultProps extends K8sArgs {
14
- certNames: string[];
15
- namespace: string;
16
- vaultInfo: KeyVaultInfo;
17
- }
18
- export declare const certImportFromVault: ({ certNames, namespace, vaultInfo, ...others }: ImportCertFromVaultProps) => Promise<void>;
19
- export {};
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.certImportFromVault = exports.certImportFromFolder = exports.certImportFromCertOrder = void 0;
4
- const Helpers_1 = require("./Helpers");
5
- const CertHelper_1 = require("./CertHelper");
6
- const fs = require("fs");
7
- const Helper_1 = require("../KeyVault/Helper");
8
- const KsCertSecret_1 = require("./Core/KsCertSecret");
9
- const Certificate_1 = require("../Certificate");
10
- /** Import Cert to K8s from Azure Cert Order*/
11
- const certImportFromCertOrder = async ({ namespaces, certName, ...others }) => {
12
- const cert = await (0, Helpers_1.getKubeDomainCert)(certName);
13
- if (!cert)
14
- return;
15
- const name = (0, CertHelper_1.getTlsName)(certName, false);
16
- namespaces.map((n, i) => (0, KsCertSecret_1.default)({
17
- name: `${name}-${i}`,
18
- namespace: n,
19
- certInfo: cert,
20
- ...others,
21
- }));
22
- };
23
- exports.certImportFromCertOrder = certImportFromCertOrder;
24
- const getCertFromFolder = (folder) => {
25
- const cert = fs.readFileSync(`./${folder}/cert.crt`, { encoding: 'utf8' });
26
- const ca = fs.readFileSync(`./${folder}/ca.crt`, { encoding: 'utf8' });
27
- const privateKey = fs.readFileSync(`./${folder}/private.key`, {
28
- encoding: 'utf8',
29
- });
30
- return { cert, ca, privateKey };
31
- };
32
- const certImportFromFolder = ({ certName, namespaces, certFolder, ...others }) => {
33
- const cert = getCertFromFolder(certFolder);
34
- if (!cert)
35
- return;
36
- const name = (0, CertHelper_1.getTlsName)(certName, false);
37
- namespaces.map((n, i) => (0, KsCertSecret_1.default)({
38
- name: `${name}-${i}`,
39
- namespace: n,
40
- certInfo: cert,
41
- ...others,
42
- }));
43
- return name;
44
- };
45
- exports.certImportFromFolder = certImportFromFolder;
46
- const certImportFromVault = async ({ certNames, namespace, vaultInfo, ...others }) => {
47
- await Promise.all(certNames.map(async (c, i) => {
48
- const cert = await (0, Helper_1.getSecret)({
49
- name: c,
50
- nameFormatted: false,
51
- vaultInfo,
52
- });
53
- const pems = cert?.value
54
- ? (0, Certificate_1.convertPfxToPem)({
55
- base64Cert: cert.value,
56
- password: '',
57
- })
58
- : undefined;
59
- if (pems) {
60
- (0, KsCertSecret_1.default)({
61
- name: `${c}-${i}`,
62
- namespace,
63
- certInfo: pems,
64
- ...others,
65
- });
66
- }
67
- }));
68
- };
69
- exports.certImportFromVault = certImportFromVault;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2VydEltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvS3ViZVgvQ2VydEltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQThDO0FBQzlDLDZDQUEwQztBQUMxQyx5QkFBeUI7QUFFekIsK0NBQStDO0FBRS9DLHNEQUErQztBQUMvQyxnREFBaUQ7QUFRakQsOENBQThDO0FBQ3ZDLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxFQUFFLEVBQzVDLFVBQVUsRUFDVixRQUFRLEVBQ1IsR0FBRyxNQUFNLEVBQ1UsRUFBRSxFQUFFO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSwyQkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFFbEIsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3RCLElBQUEsc0JBQVksRUFBQztRQUNYLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7UUFDcEIsU0FBUyxFQUFFLENBQUM7UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBakJXLFFBQUEsdUJBQXVCLDJCQWlCbEM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDM0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0UsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkUsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sY0FBYyxFQUFFO1FBQzVELFFBQVEsRUFBRSxNQUFNO0tBQ2pCLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVLLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxFQUNuQyxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixHQUFHLE1BQU0sRUFDbUMsRUFBRSxFQUFFO0lBQ2hELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTztJQUVsQixNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFVLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsSUFBQSxzQkFBWSxFQUFDO1FBQ1gsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRTtRQUNwQixTQUFTLEVBQUUsQ0FBQztRQUNaLFFBQVEsRUFBRSxJQUFJO1FBQ2QsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUNILENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQXBCVyxRQUFBLG9CQUFvQix3QkFvQi9CO0FBUUssTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsRUFDeEMsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxNQUFNLEVBQ2dCLEVBQUUsRUFBRTtJQUM3QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzNCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDO1lBQzNCLElBQUksRUFBRSxDQUFDO1lBQ1AsYUFBYSxFQUFFLEtBQUs7WUFDcEIsU0FBUztTQUNWLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxLQUFLO1lBQ3RCLENBQUMsQ0FBQyxJQUFBLDZCQUFlLEVBQUM7Z0JBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUN0QixRQUFRLEVBQUUsRUFBRTthQUNiLENBQUM7WUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUEsc0JBQVksRUFBQztnQkFDWCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQixTQUFTO2dCQUNULFFBQVEsRUFBRSxJQUFJO2dCQUNkLEdBQUcsTUFBTTthQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBL0JXLFFBQUEsbUJBQW1CLHVCQStCOUIifQ==
@@ -1,19 +0,0 @@
1
- import * as cf from '@pulumi/cloudflare';
2
- import { KeyVaultInfo } from '../../types';
3
- export interface CloudFlareCertCreatorProps {
4
- domainName: string;
5
- vaultInfo?: KeyVaultInfo;
6
- provider: cf.Provider;
7
- lock?: boolean;
8
- }
9
- export declare const getCloudflareOriginCert: ({ domainName, vaultInfo, }: Pick<Required<CloudFlareCertCreatorProps>, 'domainName' | 'vaultInfo'>) => Promise<{
10
- privateKey: string;
11
- cert: string;
12
- ca: string;
13
- }>;
14
- declare const _default: ({ domainName, provider, vaultInfo, lock, }: CloudFlareCertCreatorProps) => Promise<{
15
- privateKey: import("@pulumi/pulumi").Output<string>;
16
- cert: import("@pulumi/pulumi").Output<string>;
17
- ca: string;
18
- }>;
19
- export default _default;
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCloudflareOriginCert = void 0;
4
- const tls = require("@pulumi/tls");
5
- const StackEnv_1 = require("../../Common/StackEnv");
6
- const cf = require("@pulumi/cloudflare");
7
- const CustomHelper_1 = require("../../KeyVault/CustomHelper");
8
- const Helper_1 = require("../../KeyVault/Helper");
9
- const getVaultNames = (domainName) => ({
10
- privateKeyName: `cloudflare-${domainName}-privateKey`,
11
- certName: `cloudflare-${domainName}-cert`,
12
- caName: `cloudflare-${domainName}-ca`,
13
- });
14
- const getCloudflareOriginCert = async ({ domainName, vaultInfo, }) => {
15
- const vaultNames = getVaultNames(domainName);
16
- const cert = await (0, Helper_1.getSecret)({
17
- name: vaultNames.certName,
18
- vaultInfo,
19
- });
20
- const ca = await (0, Helper_1.getSecret)({
21
- name: vaultNames.caName,
22
- vaultInfo,
23
- });
24
- const pk = await (0, Helper_1.getSecret)({
25
- name: vaultNames.privateKeyName,
26
- vaultInfo,
27
- });
28
- return {
29
- privateKey: pk.value,
30
- cert: cert.value,
31
- ca: ca.value,
32
- };
33
- };
34
- exports.getCloudflareOriginCert = getCloudflareOriginCert;
35
- exports.default = async ({ domainName, provider, vaultInfo, lock = true, }) => {
36
- const vaultNames = getVaultNames(domainName);
37
- const algorithm = 'RSA';
38
- //create new private key
39
- const privateKey = new tls.PrivateKey(`${domainName}_private_key`, {
40
- algorithm,
41
- });
42
- //create new CSR
43
- const csr = new tls.CertRequest(`${domainName}_csr`, {
44
- privateKeyPem: privateKey.privateKeyPem,
45
- subject: {
46
- commonName: domainName,
47
- organization: StackEnv_1.organization,
48
- },
49
- dnsNames: [domainName],
50
- });
51
- //Create a new Cert
52
- const cert = new cf.OriginCaCertificate(`${domainName}_original_cert`, {
53
- csr: csr.certRequestPem,
54
- hostnames: [domainName, `*.${domainName}`, `www.${domainName}`],
55
- requestType: 'origin-rsa',
56
- requestedValidity: 5475,
57
- }, { provider, protect: lock });
58
- //Get CA cert
59
- const ca = await cf.getOriginCaRootCertificate({
60
- algorithm,
61
- }, { provider });
62
- //Store to vault
63
- if (vaultInfo) {
64
- (0, CustomHelper_1.addCustomSecret)({
65
- name: vaultNames.privateKeyName,
66
- value: privateKey.privateKeyPem,
67
- contentType: `cloudflare ${domainName} privateKey`,
68
- vaultInfo,
69
- });
70
- (0, CustomHelper_1.addCustomSecret)({
71
- name: vaultNames.certName,
72
- value: cert.certificate,
73
- contentType: `cloudflare ${domainName} certificate`,
74
- vaultInfo,
75
- });
76
- (0, CustomHelper_1.addCustomSecret)({
77
- name: vaultNames.caName,
78
- value: ca.certPem,
79
- contentType: `cloudflare ${domainName} CA`,
80
- vaultInfo,
81
- });
82
- }
83
- //return results
84
- return {
85
- privateKey: privateKey.privateKeyPem,
86
- cert: cert.certificate,
87
- ca: ca.certPem,
88
- };
89
- };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2VydENyZWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvQ2xvdWRGbGFyZS9DZXJ0Q3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsb0RBQXFEO0FBQ3JELHlDQUF5QztBQUV6Qyw4REFBOEQ7QUFDOUQsa0RBQWtEO0FBU2xELE1BQU0sYUFBYSxHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QyxjQUFjLEVBQUUsY0FBYyxVQUFVLGFBQWE7SUFDckQsUUFBUSxFQUFFLGNBQWMsVUFBVSxPQUFPO0lBQ3pDLE1BQU0sRUFBRSxjQUFjLFVBQVUsS0FBSztDQUN0QyxDQUFDLENBQUM7QUFFSSxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFBRSxFQUM1QyxVQUFVLEVBQ1YsU0FBUyxHQUM4RCxFQUFFLEVBQUU7SUFDM0UsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDO1FBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixTQUFTO0tBQ1YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGtCQUFTLEVBQUM7UUFDekIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1FBQ3ZCLFNBQVM7S0FDVixDQUFDLENBQUM7SUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsa0JBQVMsRUFBQztRQUN6QixJQUFJLEVBQUUsVUFBVSxDQUFDLGNBQWM7UUFDL0IsU0FBUztLQUNWLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxVQUFVLEVBQUUsRUFBRyxDQUFDLEtBQU07UUFDdEIsSUFBSSxFQUFFLElBQUssQ0FBQyxLQUFNO1FBQ2xCLEVBQUUsRUFBRSxFQUFHLENBQUMsS0FBTTtLQUNmLENBQUM7QUFDSixDQUFDLENBQUM7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
@@ -1,17 +0,0 @@
1
- import { K8sArgs } from '../types';
2
- import * as pulumi from '@pulumi/pulumi';
3
- import * as cf from '@pulumi/cloudflare';
4
- import { KeyVaultInfo } from '../../types';
5
- export interface CloudFlareCertImportProps extends K8sArgs {
6
- namespaces: pulumi.Input<string>[];
7
- cloudflare: Array<{
8
- apiKey?: pulumi.Input<string>;
9
- provider?: cf.Provider;
10
- zones: string[];
11
- }>;
12
- /**Load existing cert from Key Vault*/
13
- certExisted?: boolean;
14
- vaultInfo?: KeyVaultInfo;
15
- }
16
- declare const _default: ({ namespaces, cloudflare, certExisted, vaultInfo, ...others }: CloudFlareCertImportProps) => Promise<Promise<pulumi.Output<pulumi.Output<import("@pulumi/kubernetes/core/v1/secret").Secret>[]>>[][]>;
17
- export default _default;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const pulumi = require("@pulumi/pulumi");
4
- const cf = require("@pulumi/cloudflare");
5
- const CertCreator_1 = require("./CertCreator");
6
- const KsCertSecret_1 = require("../Core/KsCertSecret");
7
- const CertHelper_1 = require("../CertHelper");
8
- exports.default = async ({ namespaces, cloudflare, certExisted, vaultInfo, ...others }) => await Promise.all(cloudflare.map((c, i) => {
9
- if (!c.apiKey && !c.provider)
10
- throw new Error('Either CloudFlare API Key or Provider must be provided.');
11
- const cfProvider = c.provider ??
12
- new cf.Provider(`cloudflare_${i}`, {
13
- apiToken: c.apiKey,
14
- });
15
- return c.zones.map(async (z) => {
16
- const cert = certExisted && vaultInfo
17
- ? await (0, CertCreator_1.getCloudflareOriginCert)({ domainName: z, vaultInfo })
18
- : await (0, CertCreator_1.default)({
19
- domainName: z,
20
- vaultInfo,
21
- provider: cfProvider,
22
- });
23
- // const ns = c.namespaces ?? namespaces;
24
- // if (!ns || !Array.isArray(ns))
25
- // throw new Error(`The namespaces of ${z} is invalid.`);
26
- return pulumi.all([namespaces]).apply(([ns]) => ns.map((n) => (0, KsCertSecret_1.default)({
27
- name: (0, CertHelper_1.getTlsName)(z, false),
28
- namespace: n,
29
- certInfo: cert,
30
- ...others,
31
- })));
32
- });
33
- }));
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2VydEltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvQ2xvdWRGbGFyZS9DZXJ0SW1wb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlDQUF5QztBQUN6Qyx5Q0FBeUM7QUFDekMsK0NBQXFFO0FBQ3JFLHVEQUFnRDtBQUNoRCw4Q0FBMkM7QUFnQjNDLGtCQUFlLEtBQUssRUFBRSxFQUNwQixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxNQUFNLEVBQ2lCLEVBQUUsRUFBRSxDQUM5QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELENBQzFELENBQUM7SUFFSixNQUFNLFVBQVUsR0FDZCxDQUFDLENBQUMsUUFBUTtRQUNWLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ2pDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7SUFFTCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3QixNQUFNLElBQUksR0FDUixXQUFXLElBQUksU0FBUztZQUN0QixDQUFDLENBQUMsTUFBTSxJQUFBLHFDQUF1QixFQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUM3RCxDQUFDLENBQUMsTUFBTSxJQUFBLHFCQUFXLEVBQUM7Z0JBQ2hCLFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQyxDQUFDO1FBRVQseUNBQXlDO1FBQ3pDLGlDQUFpQztRQUNqQywyREFBMkQ7UUFFM0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDN0MsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ1gsSUFBQSxzQkFBWSxFQUFDO1lBQ1gsSUFBSSxFQUFFLElBQUEsdUJBQVUsRUFBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1lBQzFCLFNBQVMsRUFBRSxDQUFDO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDIn0=
@@ -1,21 +0,0 @@
1
- import * as k8s from '@pulumi/kubernetes';
2
- import { Input, Resource } from '@pulumi/pulumi';
3
- type CloudFlareProps = {
4
- apiKey: Input<string>;
5
- zones: Array<{
6
- id: Input<string>;
7
- proxied?: boolean;
8
- aRecords: Array<{
9
- name: string;
10
- proxied?: boolean;
11
- }>;
12
- }>;
13
- };
14
- export interface DynamicDnsProps {
15
- namespace: Input<string>;
16
- cloudFlare: Array<CloudFlareProps>;
17
- provider: k8s.Provider;
18
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
19
- }
20
- declare const _default: ({ namespace, cloudFlare, ...others }: DynamicDnsProps) => void;
21
- export default _default;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Deployment_1 = require("../Deployment");
4
- exports.default = ({ namespace, cloudFlare = [], ...others }) => {
5
- const name = 'cloudflare-ddns';
6
- const image = 'baoduy2412/cloudflare-ddns:latest';
7
- const configMap = {};
8
- const secrets = {};
9
- cloudFlare.forEach((c, ci) => {
10
- secrets[`Cloudflare__${ci}__ApiKey`] = c.apiKey;
11
- c.zones.forEach((z, zi) => {
12
- configMap[`Cloudflare__${ci}__Zones__${zi}__Id`] = z.id;
13
- if (z.proxied)
14
- configMap[`Cloudflare__${ci}__Zones__${zi}__Proxied`] = z.proxied
15
- ? 'true'
16
- : 'false';
17
- z.aRecords.forEach((r, rI) => {
18
- configMap[`Cloudflare__${ci}__Zones__${zi}__ARecords__${rI}__Name`] =
19
- r.name;
20
- if (r.proxied)
21
- configMap[`Cloudflare__${ci}__Zones__${zi}__ARecords__${rI}__Proxied`] = r.proxied ? 'true' : 'false';
22
- });
23
- });
24
- });
25
- (0, Deployment_1.default)({
26
- name,
27
- namespace,
28
- configMap,
29
- secrets,
30
- podConfig: {
31
- ports: { http: 8080 },
32
- image,
33
- resources: { requests: { memory: '1Mi', cpu: '1m' } },
34
- },
35
- deploymentConfig: { replicas: 1 },
36
- ...others,
37
- });
38
- };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY0Rucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9DbG91ZEZsYXJlL0R5bmFtaWNEbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSw4Q0FBdUM7QUFtQnZDLGtCQUFlLENBQUMsRUFDZCxTQUFTLEVBQ1QsVUFBVSxHQUFHLEVBQUUsRUFFZixHQUFHLE1BQU0sRUFDTyxFQUFFLEVBQUU7SUFDcEIsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUM7SUFDL0IsTUFBTSxLQUFLLEdBQUcsbUNBQW1DLENBQUM7SUFFbEQsTUFBTSxTQUFTLEdBQWtDLEVBQUUsQ0FBQztJQUNwRCxNQUFNLE9BQU8sR0FBa0MsRUFBRSxDQUFDO0lBRWxELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRWhELENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFeEQsSUFBSSxDQUFDLENBQUMsT0FBTztnQkFDWCxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTztvQkFDL0QsQ0FBQyxDQUFDLE1BQU07b0JBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUVkLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMzQixTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDO29CQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUVULElBQUksQ0FBQyxDQUFDLE9BQU87b0JBQ1gsU0FBUyxDQUNQLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FDNUQsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFVLEVBQUM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUVULFNBQVM7UUFDVCxPQUFPO1FBRVAsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNyQixLQUFLO1lBQ0wsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7U0FDdEQ7UUFDRCxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7UUFFakMsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
@@ -1,17 +0,0 @@
1
- import { DefaultK8sArgs } from '../types';
2
- import { Input } from '@pulumi/pulumi';
3
- import * as k8s from '@pulumi/kubernetes';
4
- export type TunnelHelmParameters = {
5
- account: Input<string>;
6
- tunnelName: Input<string>;
7
- tunnelId: Input<string>;
8
- secret: Input<string>;
9
- enableWarp?: Input<boolean>;
10
- };
11
- export interface TunnelHelmProps extends Omit<DefaultK8sArgs, 'name'> {
12
- name?: string;
13
- replicas?: number;
14
- parameters: TunnelHelmParameters;
15
- }
16
- declare const _default: ({ name, namespace, parameters, replicas, ...others }: TunnelHelmProps) => k8s.helm.v3.Chart;
17
- export default _default;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const k8s = require("@pulumi/kubernetes");
4
- exports.default = ({ name = 'tunnel', namespace, parameters, replicas = 2, ...others }) => new k8s.helm.v3.Chart(name, {
5
- namespace,
6
- chart: 'cloudflare-tunnel',
7
- fetchOpts: { repo: 'https://cloudflare.github.io/helm-charts' },
8
- values: {
9
- cloudflare: parameters,
10
- },
11
- }, others);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVubmVsLUhlbG0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvQ2xvdWRGbGFyZS9UdW5uZWwtSGVsbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDBDQUEwQztBQWdCMUMsa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxRQUFRLEVBQ2YsU0FBUyxFQUVULFVBQVUsRUFDVixRQUFRLEdBQUcsQ0FBQyxFQUNaLEdBQUcsTUFBTSxFQUNPLEVBQUUsRUFBRSxDQUNwQixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDbkIsSUFBSSxFQUNKO0lBQ0UsU0FBUztJQUNULEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLDBDQUEwQyxFQUFFO0lBRS9ELE1BQU0sRUFBRTtRQUNOLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0NBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQyJ9
@@ -1,23 +0,0 @@
1
- import { DefaultK8sArgs } from '../types';
2
- import { Input } from '@pulumi/pulumi';
3
- export type TunnelParameters = {
4
- token: Input<string>;
5
- enableLiveness?: boolean;
6
- enableMetrics?: boolean;
7
- tcp?: Array<{
8
- host: string;
9
- service: string;
10
- port: number;
11
- }>;
12
- };
13
- export interface TunnelProps extends Omit<DefaultK8sArgs, 'name'> {
14
- name?: string;
15
- replicas?: number;
16
- parameters: TunnelParameters;
17
- }
18
- declare const _default: ({ name, namespace, parameters, replicas, ...others }: TunnelProps) => {
19
- deployment: import("../kx").Deployment | undefined;
20
- service: import("../kx").Service | undefined;
21
- jobs: (import("@pulumi/kubernetes/batch/v1/cronJob").CronJob | import("../kx").Job)[] | undefined;
22
- };
23
- export default _default;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Deployment_1 = require("../Deployment");
4
- exports.default = ({ name = 'tunnel', namespace, parameters, replicas = 2, ...others }) => {
5
- const tcpArgs = parameters.tcp
6
- ? parameters.tcp.flatMap((t) => [
7
- '--hostname',
8
- t.host,
9
- '--url',
10
- `tcp://${t.service}:${t.port}`,
11
- ])
12
- : [];
13
- const args = [
14
- 'tunnel',
15
- ...tcpArgs,
16
- '--no-autoupdate',
17
- 'run',
18
- '--token',
19
- '$(token)',
20
- // '--config',
21
- // '/etc/cloudflared/config/config.yaml',
22
- ];
23
- if (parameters.enableMetrics) {
24
- args.push('--metrics', '0.0.0.0:8081');
25
- }
26
- const tunnel = (0, Deployment_1.default)({
27
- name,
28
- namespace,
29
- secrets: { token: parameters.token },
30
- podConfig: {
31
- ports: { http: 3000 },
32
- image: 'cloudflare/cloudflared:latest',
33
- podSecurityContext: { readOnlyRootFilesystem: true },
34
- probes: {
35
- liveness: parameters.enableLiveness
36
- ? {
37
- httpGet: '/ready',
38
- port: 8081,
39
- initialDelaySeconds: 10,
40
- periodSeconds: 10,
41
- failureThreshold: 3,
42
- }
43
- : undefined,
44
- },
45
- },
46
- deploymentConfig: {
47
- replicas,
48
- args,
49
- },
50
- ...others,
51
- });
52
- return tunnel;
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0t1YmVYL0Nsb3VkRmxhcmUvVHVubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOENBQXVDO0FBaUJ2QyxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxHQUFHLFFBQVEsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsR0FBRyxDQUFDLEVBRVosR0FBRyxNQUFNLEVBQ0csRUFBRSxFQUFFO0lBQ2hCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHO1FBQzVCLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsWUFBWTtZQUNaLENBQUMsQ0FBQyxJQUFJO1lBQ04sT0FBTztZQUNQLFNBQVMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1NBQy9CLENBQUM7UUFDSixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsTUFBTSxJQUFJLEdBQUc7UUFDWCxRQUFRO1FBQ1IsR0FBRyxPQUFPO1FBQ1YsaUJBQWlCO1FBQ2pCLEtBQUs7UUFDTCxTQUFTO1FBQ1QsVUFBVTtRQUNWLGNBQWM7UUFDZCx5Q0FBeUM7S0FDMUMsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFVLEVBQUM7UUFDeEIsSUFBSTtRQUNKLFNBQVM7UUFFVCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRTtRQUVwQyxTQUFTLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsa0JBQWtCLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUU7WUFDcEQsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxVQUFVLENBQUMsY0FBYztvQkFDakMsQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRSxRQUFRO3dCQUNqQixJQUFJLEVBQUUsSUFBSTt3QkFDVixtQkFBbUIsRUFBRSxFQUFFO3dCQUN2QixhQUFhLEVBQUUsRUFBRTt3QkFDakIsZ0JBQWdCLEVBQUUsQ0FBQztxQkFDcEI7b0JBQ0gsQ0FBQyxDQUFDLFNBQVM7YUFDZDtTQUNGO1FBRUQsZ0JBQWdCLEVBQUU7WUFDaEIsUUFBUTtZQUNSLElBQUk7U0FDTDtRQUVELEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyJ9
@@ -1,13 +0,0 @@
1
- import { K8sArgs } from '../types';
2
- import { DynamicDnsProps } from './DynamicDns';
3
- import { TunnelProps } from './Tunnel';
4
- import { TunnelHelmProps } from './Tunnel-Helm';
5
- import { CloudFlareCertImportProps } from './CertImports';
6
- interface Props extends K8sArgs {
7
- namespace?: string;
8
- certImports?: Omit<CloudFlareCertImportProps, 'namespace' | 'provider' | 'dependsOn'>;
9
- dynamicDns?: Omit<DynamicDnsProps, 'namespace' | 'provider' | 'dependsOn'>;
10
- tunnel?: Omit<TunnelProps | TunnelHelmProps, 'namespace' | 'provider' | 'dependsOn'>;
11
- }
12
- declare const _default: ({ namespace, dynamicDns, tunnel, certImports, ...others }: Props) => void;
13
- export default _default;