@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.
- package/Aks/Helper.d.ts +0 -18
- package/Aks/Helper.js +50 -32
- package/Common/AutoTags.js +2 -1
- package/package.json +3 -6
- package/KubeX/AcrSecret.d.ts +0 -15
- package/KubeX/AcrSecret.js +0 -31
- package/KubeX/Apps/AstroPage.d.ts +0 -12
- package/KubeX/Apps/AstroPage.js +0 -33
- package/KubeX/Apps/KafKa.d.ts +0 -6
- package/KubeX/Apps/KafKa.js +0 -13
- package/KubeX/Apps/Nobelium.d.ts +0 -13
- package/KubeX/Apps/Nobelium.js +0 -37
- package/KubeX/Apps/Wikijs.d.ts +0 -30
- package/KubeX/Apps/Wikijs.js +0 -54
- package/KubeX/Apps/WordPress.d.ts +0 -24
- package/KubeX/Apps/WordPress.js +0 -55
- package/KubeX/Apps/YarpProxy/index.d.ts +0 -17
- package/KubeX/Apps/YarpProxy/index.js +0 -107
- package/KubeX/Apps/YarpProxy/type.d.ts +0 -55
- package/KubeX/Apps/YarpProxy/type.js +0 -3
- package/KubeX/CertHelper.d.ts +0 -1
- package/KubeX/CertHelper.js +0 -9
- package/KubeX/CertImports.d.ts +0 -19
- package/KubeX/CertImports.js +0 -70
- package/KubeX/CloudFlare/CertCreator.d.ts +0 -19
- package/KubeX/CloudFlare/CertCreator.js +0 -90
- package/KubeX/CloudFlare/CertImports.d.ts +0 -17
- package/KubeX/CloudFlare/CertImports.js +0 -34
- package/KubeX/CloudFlare/DynamicDns.d.ts +0 -21
- package/KubeX/CloudFlare/DynamicDns.js +0 -39
- package/KubeX/CloudFlare/Tunnel-Helm.d.ts +0 -17
- package/KubeX/CloudFlare/Tunnel-Helm.js +0 -12
- package/KubeX/CloudFlare/Tunnel.d.ts +0 -23
- package/KubeX/CloudFlare/Tunnel.js +0 -54
- package/KubeX/CloudFlare/index.d.ts +0 -13
- package/KubeX/CloudFlare/index.js +0 -36
- package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +0 -6
- package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +0 -60
- package/KubeX/ConfigSecret.d.ts +0 -24
- package/KubeX/ConfigSecret.js +0 -38
- package/KubeX/Core/CertManager/index.d.ts +0 -24
- package/KubeX/Core/CertManager/index.js +0 -96
- package/KubeX/Core/KsCertSecret.d.ts +0 -12
- package/KubeX/Core/KsCertSecret.js +0 -22
- package/KubeX/Core/KsSecret.d.ts +0 -9
- package/KubeX/Core/KsSecret.js +0 -12
- package/KubeX/Core/LoadBalancer/MetalLB.d.ts +0 -7
- package/KubeX/Core/LoadBalancer/MetalLB.js +0 -21
- package/KubeX/Core/Monitoring/index.d.ts +0 -22
- package/KubeX/Core/Monitoring/index.js +0 -322
- package/KubeX/Core/Namespace.d.ts +0 -12
- package/KubeX/Core/Namespace.js +0 -41
- package/KubeX/Core/Nginx/index.d.ts +0 -60
- package/KubeX/Core/Nginx/index.js +0 -109
- package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
- package/KubeX/Core/OAuthProxy/index.js +0 -3
- package/KubeX/Core/ResourceQuota.d.ts +0 -12
- package/KubeX/Core/ResourceQuota.js +0 -13
- package/KubeX/Core/SecurityRules.d.ts +0 -34
- package/KubeX/Core/SecurityRules.js +0 -93
- package/KubeX/Core/StorageClass/azureBlob.d.ts +0 -20
- package/KubeX/Core/StorageClass/azureBlob.js +0 -77
- package/KubeX/Core/StorageClass/azureFile.d.ts +0 -17
- package/KubeX/Core/StorageClass/azureFile.js +0 -45
- package/KubeX/Core/StorageClass/index.d.ts +0 -13
- package/KubeX/Core/StorageClass/index.js +0 -25
- package/KubeX/Core/index.d.ts +0 -57
- package/KubeX/Core/index.js +0 -94
- package/KubeX/Databases/MariaDb.d.ts +0 -11
- package/KubeX/Databases/MariaDb.js +0 -39
- package/KubeX/Databases/MySql.V2.d.ts +0 -11
- package/KubeX/Databases/MySql.V2.js +0 -40
- package/KubeX/Databases/MySql.d.ts +0 -13
- package/KubeX/Databases/MySql.js +0 -55
- package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +0 -10
- package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +0 -47
- package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +0 -10
- package/KubeX/Databases/PostgreSql/PostgreSQL.js +0 -51
- package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +0 -13
- package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +0 -56
- package/KubeX/Databases/PostgreSql/index.d.ts +0 -17
- package/KubeX/Databases/PostgreSql/index.js +0 -6
- package/KubeX/Databases/RedisCache.d.ts +0 -14
- package/KubeX/Databases/RedisCache.js +0 -65
- package/KubeX/Databases/SqlServer.d.ts +0 -15
- package/KubeX/Databases/SqlServer.js +0 -77
- package/KubeX/Deployment/PodAutoscaler.d.ts +0 -14
- package/KubeX/Deployment/PodAutoscaler.js +0 -51
- package/KubeX/Deployment/index.d.ts +0 -136
- package/KubeX/Deployment/index.js +0 -306
- package/KubeX/Helpers.d.ts +0 -4
- package/KubeX/Helpers.js +0 -17
- package/KubeX/Ingress/AppGatewayIngress.d.ts +0 -2
- package/KubeX/Ingress/AppGatewayIngress.js +0 -4
- package/KubeX/Ingress/Conts.d.ts +0 -13
- package/KubeX/Ingress/Conts.js +0 -18
- package/KubeX/Ingress/NginxIngress.d.ts +0 -3
- package/KubeX/Ingress/NginxIngress.js +0 -186
- package/KubeX/Ingress/NginxProxy.d.ts +0 -21
- package/KubeX/Ingress/NginxProxy.js +0 -43
- package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +0 -15
- package/KubeX/Ingress/TraefikIngress/CustomHeader.js +0 -15
- package/KubeX/Ingress/TraefikIngress/index.d.ts +0 -11
- package/KubeX/Ingress/TraefikIngress/index.js +0 -95
- package/KubeX/Ingress/index.d.ts +0 -5
- package/KubeX/Ingress/index.js +0 -12
- package/KubeX/Ingress/type.d.ts +0 -82
- package/KubeX/Ingress/type.js +0 -3
- package/KubeX/Providers/index.d.ts +0 -8
- package/KubeX/Providers/index.js +0 -15
- package/KubeX/Storage/Longhorn/index.d.ts +0 -15
- package/KubeX/Storage/Longhorn/index.js +0 -54
- package/KubeX/Storage/index.d.ts +0 -25
- package/KubeX/Storage/index.js +0 -79
- package/KubeX/Tools/AWS/LocalStack.d.ts +0 -7
- package/KubeX/Tools/AWS/LocalStack.js +0 -29
- package/KubeX/Tools/AWS/S3.d.ts +0 -6
- package/KubeX/Tools/AWS/S3.js +0 -44
- package/KubeX/Tools/AWS/index.d.ts +0 -7
- package/KubeX/Tools/AWS/index.js +0 -14
- package/KubeX/Tools/AppHealthzMonitor.d.ts +0 -18
- package/KubeX/Tools/AppHealthzMonitor.js +0 -52
- package/KubeX/Tools/ArgoCD/index.d.ts +0 -17
- package/KubeX/Tools/ArgoCD/index.js +0 -131
- package/KubeX/Tools/Dapr/Storage.d.ts +0 -66
- package/KubeX/Tools/Dapr/Storage.js +0 -70
- package/KubeX/Tools/Dapr/index.d.ts +0 -10
- package/KubeX/Tools/Dapr/index.js +0 -31
- package/KubeX/Tools/Echo-App.d.ts +0 -3
- package/KubeX/Tools/Echo-App.js +0 -21
- package/KubeX/Tools/Gitea/GiteaRepo.d.ts +0 -72
- package/KubeX/Tools/Gitea/GiteaRepo.js +0 -184
- package/KubeX/Tools/Gitea/GiteaRunner.d.ts +0 -11
- package/KubeX/Tools/Gitea/GiteaRunner.js +0 -37
- package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +0 -11
- package/KubeX/Tools/Gitea/GiteaRunner.v1.js +0 -123
- package/KubeX/Tools/HarborRepo.d.ts +0 -29
- package/KubeX/Tools/HarborRepo.js +0 -78
- package/KubeX/Tools/HelloWorld.d.ts +0 -3
- package/KubeX/Tools/HelloWorld.js +0 -21
- package/KubeX/Tools/KubeCleanup.d.ts +0 -9
- package/KubeX/Tools/KubeCleanup.js +0 -34
- package/KubeX/Tools/NoIp.d.ts +0 -13
- package/KubeX/Tools/NoIp.js +0 -24
- package/KubeX/Tools/OpenLDAP/index.d.ts +0 -12
- package/KubeX/Tools/OpenLDAP/index.js +0 -56
- package/KubeX/Tools/OutlineVpn/index.d.ts +0 -25
- package/KubeX/Tools/OutlineVpn/index.js +0 -256
- package/KubeX/Tools/SqlPad.d.ts +0 -29
- package/KubeX/Tools/SqlPad.js +0 -133
- package/KubeX/Tools/ToolPod.d.ts +0 -10
- package/KubeX/Tools/ToolPod.js +0 -40
- package/KubeX/Tools/UptimeKuma.d.ts +0 -6
- package/KubeX/Tools/UptimeKuma.js +0 -38
- package/KubeX/Tools/index.d.ts +0 -27
- package/KubeX/Tools/index.js +0 -35
- package/KubeX/VairableResolvers/index.d.ts +0 -15
- package/KubeX/VairableResolvers/index.js +0 -49
- package/KubeX/kx/index.d.ts +0 -114
- package/KubeX/kx/index.js +0 -423
- package/KubeX/types.d.ts +0 -49
- package/KubeX/types.js +0 -3
|
@@ -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==
|
package/KubeX/Core/index.d.ts
DELETED
|
@@ -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;
|
package/KubeX/Core/index.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Namespace_1 = require("./Namespace");
|
|
4
|
-
const Nginx_1 = require("./Nginx");
|
|
5
|
-
const Monitoring_1 = require("./Monitoring");
|
|
6
|
-
const CertManager_1 = require("./CertManager");
|
|
7
|
-
const StorageClass_1 = require("./StorageClass");
|
|
8
|
-
const MetalLB_1 = require("./LoadBalancer/MetalLB");
|
|
9
|
-
const Longhorn_1 = require("../Storage/Longhorn");
|
|
10
|
-
exports.default = async ({ namespaces, provider, dependsOn, metalLb, longhorn, nginx, monitoring, certManager, storageClasses, }) => {
|
|
11
|
-
//Create Namespaces
|
|
12
|
-
const namespacesList = namespaces.map((n) => (0, Namespace_1.default)({ ...n, provider }));
|
|
13
|
-
const resources = new Array();
|
|
14
|
-
if (metalLb) {
|
|
15
|
-
const lb = (0, MetalLB_1.default)({ ...metalLb, provider, dependsOn });
|
|
16
|
-
resources.push(lb);
|
|
17
|
-
}
|
|
18
|
-
if (nginx) {
|
|
19
|
-
const rs = nginxCreator({ ...nginx, provider, dependsOn: resources });
|
|
20
|
-
if (rs.publicIngress)
|
|
21
|
-
resources.push(rs.publicIngress);
|
|
22
|
-
if (rs.privateIngress)
|
|
23
|
-
resources.push(rs.privateIngress);
|
|
24
|
-
}
|
|
25
|
-
if (storageClasses) {
|
|
26
|
-
Object.keys(storageClasses).forEach((k) => {
|
|
27
|
-
const c = storageClasses[k];
|
|
28
|
-
if (!c)
|
|
29
|
-
return undefined;
|
|
30
|
-
return (0, StorageClass_1.default)({ provider, ...c });
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (certManager) {
|
|
34
|
-
resources.push((0, CertManager_1.default)({
|
|
35
|
-
...certManager,
|
|
36
|
-
provider,
|
|
37
|
-
dependsOn: resources,
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
if (monitoring) {
|
|
41
|
-
resources.push(await (0, Monitoring_1.default)({ ...monitoring, provider, dependsOn }));
|
|
42
|
-
}
|
|
43
|
-
if (longhorn) {
|
|
44
|
-
resources.push((0, Longhorn_1.default)({ ...longhorn, provider, dependsOn }));
|
|
45
|
-
}
|
|
46
|
-
return { namespacesList, resources };
|
|
47
|
-
};
|
|
48
|
-
const nginxCreator = ({ namespace, version, replicaCount, vnetResourceGroup, internalIngress, allowSnippetAnnotations, provider, ...info }) => {
|
|
49
|
-
//Namespace
|
|
50
|
-
const ns = (0, Namespace_1.default)({ name: namespace, provider });
|
|
51
|
-
let privateIngress;
|
|
52
|
-
let publicIngress;
|
|
53
|
-
if (info.public) {
|
|
54
|
-
//Public
|
|
55
|
-
publicIngress = (0, Nginx_1.default)({
|
|
56
|
-
name: info.public.name,
|
|
57
|
-
version,
|
|
58
|
-
namespace,
|
|
59
|
-
replicaCount,
|
|
60
|
-
allowSnippetAnnotations,
|
|
61
|
-
useIngressClassOnly: info.public.forceUseIngressClass || info.private !== undefined,
|
|
62
|
-
tcp: info.public.tcp,
|
|
63
|
-
udp: info.public.udp,
|
|
64
|
-
network: {
|
|
65
|
-
internalIngress,
|
|
66
|
-
vnetResourceGroup,
|
|
67
|
-
loadBalancerIP: info.public.publicIpAddress || info.public.internalIpAddress,
|
|
68
|
-
},
|
|
69
|
-
provider,
|
|
70
|
-
dependsOn: ns,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (info.private) {
|
|
74
|
-
//Private
|
|
75
|
-
privateIngress = (0, Nginx_1.default)({
|
|
76
|
-
name: info.private.name,
|
|
77
|
-
version,
|
|
78
|
-
namespace,
|
|
79
|
-
useIngressClassOnly: true,
|
|
80
|
-
allowSnippetAnnotations,
|
|
81
|
-
tcp: info.private.tcp,
|
|
82
|
-
udp: info.private.udp,
|
|
83
|
-
network: {
|
|
84
|
-
internalIngress,
|
|
85
|
-
vnetResourceGroup,
|
|
86
|
-
loadBalancerIP: info.private.internalIpAddress,
|
|
87
|
-
},
|
|
88
|
-
provider,
|
|
89
|
-
dependsOn: ns,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return { publicIngress, privateIngress };
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvQ29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJDQUFvQztBQUNwQyxtQ0FBNEI7QUFDNUIsNkNBQTJEO0FBQzNELCtDQUE4RDtBQUU5RCxpREFBaUU7QUFFakUsb0RBQStEO0FBQy9ELGtEQUE4RDtBQTJDOUQsa0JBQWUsS0FBSyxFQUFFLEVBQ3BCLFVBQVUsRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsY0FBYyxHQUNSLEVBQUUsRUFBRTtJQUNWLG1CQUFtQjtJQUNuQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLG1CQUFTLEVBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQVksQ0FBQztJQUV4QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxFQUFFLEdBQUcsSUFBQSxpQkFBTyxFQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEQsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLEVBQUUsQ0FBQyxhQUFhO1lBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsSUFBSSxFQUFFLENBQUMsY0FBYztZ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
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MySqlProps } from '../types';
|
|
2
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
3
|
-
interface MariaDbProps extends MySqlProps {
|
|
4
|
-
}
|
|
5
|
-
declare const _default: ({ name, namespace, version, vaultInfo, auth, storageClassName, provider, }: MariaDbProps) => {
|
|
6
|
-
mariadb: k8s.helm.v3.Chart;
|
|
7
|
-
host: import("@pulumi/pulumi").Output<string>;
|
|
8
|
-
username: string;
|
|
9
|
-
password: import("@pulumi/pulumi").Input<string>;
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Random_1 = require("../../Core/Random");
|
|
4
|
-
const k8s = require("@pulumi/kubernetes");
|
|
5
|
-
const pulumi_1 = require("@pulumi/pulumi");
|
|
6
|
-
exports.default = ({ name = 'mariadb', namespace, version, vaultInfo, auth, storageClassName, provider, }) => {
|
|
7
|
-
const password = auth?.rootPass
|
|
8
|
-
? auth.rootPass
|
|
9
|
-
: (0, Random_1.randomPassword)({
|
|
10
|
-
name,
|
|
11
|
-
length: 25,
|
|
12
|
-
options: { special: false },
|
|
13
|
-
vaultInfo,
|
|
14
|
-
}).result;
|
|
15
|
-
const mariadb = new k8s.helm.v3.Chart(name, {
|
|
16
|
-
namespace,
|
|
17
|
-
chart: 'mariadb',
|
|
18
|
-
fetchOpts: { repo: 'https://charts.bitnami.com/bitnami' },
|
|
19
|
-
values: {
|
|
20
|
-
global: {
|
|
21
|
-
storageClass: storageClassName,
|
|
22
|
-
},
|
|
23
|
-
image: { tag: version },
|
|
24
|
-
auth: {
|
|
25
|
-
rootPassword: password,
|
|
26
|
-
password,
|
|
27
|
-
username: name,
|
|
28
|
-
database: name,
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
}, { provider });
|
|
32
|
-
return {
|
|
33
|
-
mariadb,
|
|
34
|
-
host: (0, pulumi_1.interpolate) `${name}.${namespace}.svc.cluster.local`,
|
|
35
|
-
username: name,
|
|
36
|
-
password,
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFyaWFEYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9EYXRhYmFzZXMvTWFyaWFEYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhDQUFtRDtBQUNuRCwwQ0FBMEM7QUFDMUMsMkNBQTZDO0FBSTdDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsU0FBUyxFQUNoQixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFFBQVEsR0FDSyxFQUFFLEVBQUU7SUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLFFBQVE7UUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO1FBQ2YsQ0FBQyxDQUFDLElBQUEsdUJBQWMsRUFBQztZQUNiLElBQUk7WUFDSixNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDM0IsU0FBUztTQUNWLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFZCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDbkMsSUFBSSxFQUNKO1FBQ0UsU0FBUztRQUNULEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxvQ0FBb0MsRUFBRTtRQUV6RCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUU7Z0JBQ04sWUFBWSxFQUFFLGdCQUFnQjthQUMvQjtZQUNELEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxFQUFFO2dCQUNKLFlBQVksRUFBRSxRQUFRO2dCQUN0QixRQUFRO2dCQUNSLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxJQUFJLEVBQUUsSUFBQSxvQkFBVyxFQUFBLEdBQUcsSUFBSSxJQUFJLFNBQVMsb0JBQW9CO1FBQ3pELFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MySqlProps } from '../types';
|
|
2
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
3
|
-
interface MariaDbProps extends MySqlProps {
|
|
4
|
-
}
|
|
5
|
-
declare const _default: ({ name, namespace, version, auth, vaultInfo, storageClassName, provider, }: MariaDbProps) => {
|
|
6
|
-
mysql: k8s.helm.v3.Chart;
|
|
7
|
-
host: import("@pulumi/pulumi").Output<string>;
|
|
8
|
-
username: string;
|
|
9
|
-
password: import("@pulumi/pulumi").Input<string>;
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Random_1 = require("../../Core/Random");
|
|
4
|
-
const k8s = require("@pulumi/kubernetes");
|
|
5
|
-
const pulumi_1 = require("@pulumi/pulumi");
|
|
6
|
-
exports.default = ({ name = 'mysql', namespace, version, auth, vaultInfo, storageClassName, provider, }) => {
|
|
7
|
-
const password = auth?.rootPass
|
|
8
|
-
? auth.rootPass
|
|
9
|
-
: (0, Random_1.randomPassword)({
|
|
10
|
-
name,
|
|
11
|
-
length: 25,
|
|
12
|
-
options: { special: false },
|
|
13
|
-
policy: false,
|
|
14
|
-
vaultInfo,
|
|
15
|
-
}).result;
|
|
16
|
-
const mysql = new k8s.helm.v3.Chart(name, {
|
|
17
|
-
namespace,
|
|
18
|
-
chart: 'mysql',
|
|
19
|
-
fetchOpts: { repo: 'https://charts.bitnami.com/bitnami' },
|
|
20
|
-
values: {
|
|
21
|
-
global: {
|
|
22
|
-
storageClass: storageClassName,
|
|
23
|
-
},
|
|
24
|
-
image: { tag: version },
|
|
25
|
-
auth: {
|
|
26
|
-
rootPassword: password,
|
|
27
|
-
password,
|
|
28
|
-
username: name,
|
|
29
|
-
database: name,
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
}, { provider });
|
|
33
|
-
return {
|
|
34
|
-
mysql,
|
|
35
|
-
host: (0, pulumi_1.interpolate) `${name}.${namespace}.svc.cluster.local`,
|
|
36
|
-
username: name,
|
|
37
|
-
password,
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWwuVjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvRGF0YWJhc2VzL015U3FsLlYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOENBQW1EO0FBQ25ELDBDQUEwQztBQUMxQywyQ0FBNkM7QUFJN0Msa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxPQUFPLEVBQ2QsU0FBUyxFQUNULE9BQU8sRUFDUCxJQUFJLEVBQ0osU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEdBQ0ssRUFBRSxFQUFFO0lBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRO1FBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtRQUNmLENBQUMsQ0FBQyxJQUFBLHVCQUFjLEVBQUM7WUFDYixJQUFJO1lBQ0osTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQzNCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsU0FBUztTQUNWLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFZCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDakMsSUFBSSxFQUNKO1FBQ0UsU0FBUztRQUNULEtBQUssRUFBRSxPQUFPO1FBQ2QsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLG9DQUFvQyxFQUFFO1FBRXpELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRTtnQkFDTixZQUFZLEVBQUUsZ0JBQWdCO2FBQy9CO1lBQ0QsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRTtZQUN2QixJQUFJLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLFFBQVE7Z0JBQ1IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO0tBQ0YsRUFDRCxFQUFFLFFBQVEsRUFBRSxDQUNiLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSztRQUNMLElBQUksRUFBRSxJQUFBLG9CQUFXLEVBQUEsR0FBRyxJQUFJLElBQUksU0FBUyxvQkFBb0I7UUFDekQsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { MySqlProps } from '../types';
|
|
2
|
-
declare const _default: ({ name, namespace, version, customPort, useClusterIP, vaultInfo, storageClassName, auth, ...others }: MySqlProps) => {
|
|
3
|
-
mysql: {
|
|
4
|
-
deployment: import("../kx").Deployment | undefined;
|
|
5
|
-
service: import("../kx").Service | undefined;
|
|
6
|
-
jobs: (import("@pulumi/kubernetes/batch/v1/cronJob").CronJob | import("../kx").Job)[] | undefined;
|
|
7
|
-
};
|
|
8
|
-
host: import("@pulumi/pulumi").Output<string>;
|
|
9
|
-
port: number;
|
|
10
|
-
username: string;
|
|
11
|
-
password: import("@pulumi/pulumi").Input<string>;
|
|
12
|
-
};
|
|
13
|
-
export default _default;
|
package/KubeX/Databases/MySql.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Random_1 = require("../../Core/Random");
|
|
4
|
-
const pulumi_1 = require("@pulumi/pulumi");
|
|
5
|
-
const Deployment_1 = require("../Deployment");
|
|
6
|
-
const Storage_1 = require("../Storage");
|
|
7
|
-
exports.default = ({ name = 'mysql', namespace, version = 'latest', customPort, useClusterIP, vaultInfo, storageClassName, auth, ...others }) => {
|
|
8
|
-
const password = auth?.rootPass ||
|
|
9
|
-
(0, Random_1.randomPassword)({
|
|
10
|
-
name,
|
|
11
|
-
length: 25,
|
|
12
|
-
policy: false,
|
|
13
|
-
options: { special: false },
|
|
14
|
-
vaultInfo,
|
|
15
|
-
}).result;
|
|
16
|
-
const persisVolume = (0, Storage_1.createPVCForStorageClass)({
|
|
17
|
-
name,
|
|
18
|
-
namespace,
|
|
19
|
-
accessMode: 'ReadWriteMany',
|
|
20
|
-
...others,
|
|
21
|
-
storageClassName,
|
|
22
|
-
});
|
|
23
|
-
const port = 3306;
|
|
24
|
-
const mysql = (0, Deployment_1.default)({
|
|
25
|
-
name,
|
|
26
|
-
namespace,
|
|
27
|
-
...others,
|
|
28
|
-
secrets: { MYSQL_ROOT_PASSWORD: password },
|
|
29
|
-
podConfig: {
|
|
30
|
-
ports: { http: port },
|
|
31
|
-
image: `mysql:${version}`,
|
|
32
|
-
volumes: [
|
|
33
|
-
{
|
|
34
|
-
name: 'mysql-data',
|
|
35
|
-
persistentVolumeClaim: persisVolume.metadata.name,
|
|
36
|
-
mountPath: '/var/lib/mysql',
|
|
37
|
-
readOnly: false,
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
podSecurityContext: { runAsGroup: 1001, runAsUser: 1001 },
|
|
41
|
-
},
|
|
42
|
-
deploymentConfig: {
|
|
43
|
-
args: ['--default-authentication-plugin=mysql_native_password'],
|
|
44
|
-
},
|
|
45
|
-
//serviceConfig: { port: customPort || port, useClusterIP },
|
|
46
|
-
});
|
|
47
|
-
return {
|
|
48
|
-
mysql,
|
|
49
|
-
host: (0, pulumi_1.interpolate) `${name}.${namespace}.svc.cluster.local`,
|
|
50
|
-
port,
|
|
51
|
-
username: 'root',
|
|
52
|
-
password,
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvRGF0YWJhc2VzL015U3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQW1EO0FBQ25ELDJDQUE2QztBQUM3Qyw4Q0FBdUM7QUFDdkMsd0NBQXNEO0FBR3RELGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsT0FBTyxFQUNkLFNBQVMsRUFDVCxPQUFPLEdBQUcsUUFBUSxFQUNsQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLEdBQUcsTUFBTSxFQUNFLEVBQUUsRUFBRTtJQUNmLE1BQU0sUUFBUSxHQUNaLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBQSx1QkFBYyxFQUFDO1lBQ2IsSUFBSTtZQUNKLE1BQU0sRUFBRSxFQUFFO1lBQ1YsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQzNCLFNBQVM7U0FDVixDQUFDLENBQUMsTUFBTSxDQUFDO0lBRVosTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBd0IsRUFBQztRQUM1QyxJQUFJO1FBQ0osU0FBUztRQUNULFVBQVUsRUFBRSxlQUFlO1FBQzNCLEdBQUcsTUFBTTtRQUNULGdCQUFnQjtLQUNqQixDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBVSxFQUFDO1FBQ3ZCLElBQUk7UUFDSixTQUFTO1FBQ1QsR0FBRyxNQUFNO1FBQ1QsT0FBTyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFO1FBQzFDLFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDckIsS0FBSyxFQUFFLFNBQVMsT0FBTyxFQUFFO1lBQ3pCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIscUJBQXFCLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJO29CQUNqRCxTQUFTLEVBQUUsZ0JBQWdCO29CQUMzQixRQUFRLEVBQUUsS0FBSztpQkFDaEI7YUFDRjtZQUNELGtCQUFrQixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO1NBQzFEO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDaEIsSUFBSSxFQUFFLENBQUMsdURBQXVELENBQUM7U0FDaEU7UUFDRCw0REFBNEQ7S0FDN0QsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLEtBQUs7UUFDTCxJQUFJLEVBQUUsSUFBQSxvQkFBVyxFQUFBLEdBQUcsSUFBSSxJQUFJLFNBQVMsb0JBQW9CO1FBQ3pELElBQUk7UUFDSixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|