@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,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const k8s = require("@pulumi/kubernetes");
|
|
4
|
-
const pulumi_1 = require("@pulumi/pulumi");
|
|
5
|
-
const Random_1 = require("../../../Core/Random");
|
|
6
|
-
const Identity_1 = require("../../../AzAd/Identity");
|
|
7
|
-
const Role_1 = require("../../../AzAd/Role");
|
|
8
|
-
const AzureEnv_1 = require("../../../Common/AzureEnv");
|
|
9
|
-
const getCaptchaPrefixKey = (captcha) => captcha.type === 'cfturnstile' ? 'CF_TURNSTILE' : captcha.type.toUpperCase();
|
|
10
|
-
const createAzureADIdentity = ({ name, host, vaultInfo, groupMap, }) => {
|
|
11
|
-
//Create 2 Groups for Admin and Users
|
|
12
|
-
const adminGroup = (0, Role_1.default)({
|
|
13
|
-
env: AzureEnv_1.Environments.Dev,
|
|
14
|
-
appName: name,
|
|
15
|
-
roleName: 'Admins',
|
|
16
|
-
includeOrganization: true,
|
|
17
|
-
});
|
|
18
|
-
const devGroup = (0, Role_1.default)({
|
|
19
|
-
env: AzureEnv_1.Environments.Dev,
|
|
20
|
-
appName: name,
|
|
21
|
-
roleName: 'Developers',
|
|
22
|
-
includeOrganization: true,
|
|
23
|
-
members: groupMap
|
|
24
|
-
? [adminGroup.objectId, ...groupMap.map((g) => g.azureGroupId)]
|
|
25
|
-
: [adminGroup.objectId],
|
|
26
|
-
});
|
|
27
|
-
const identity = (0, Identity_1.default)({
|
|
28
|
-
name,
|
|
29
|
-
appRoleAssignmentRequired: false,
|
|
30
|
-
createPrincipal: false,
|
|
31
|
-
createClientSecret: true,
|
|
32
|
-
appType: 'web',
|
|
33
|
-
replyUrls: [`https://${host}/user/oauth2/AzureAD/callback`],
|
|
34
|
-
vaultInfo,
|
|
35
|
-
optionalClaims: {
|
|
36
|
-
idTokens: [{ name: 'groups', essential: false }],
|
|
37
|
-
accessTokens: [{ name: 'groups', essential: false }],
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
const groupTeamMap = groupMap
|
|
41
|
-
? (0, pulumi_1.output)(groupMap).apply((gs) => {
|
|
42
|
-
const rs = {};
|
|
43
|
-
gs.forEach((g) => {
|
|
44
|
-
rs[g.azureGroupId] = { [g.giteaOrganization]: [g.giteaTeam] };
|
|
45
|
-
});
|
|
46
|
-
return JSON.stringify(rs);
|
|
47
|
-
})
|
|
48
|
-
: undefined;
|
|
49
|
-
return { adminGroup, devGroup, groupTeamMap, identity };
|
|
50
|
-
};
|
|
51
|
-
// https://github.com/go-gitea/gitea
|
|
52
|
-
// https://gitea.com/gitea/helm-chart
|
|
53
|
-
exports.default = ({ name = 'gitea', namespace, host, auth = { disableRegistration: true }, captcha, storageClass, postgres, enabledActions, vaultInfo, provider, dependsOn, }) => {
|
|
54
|
-
const randomPassOptions = {
|
|
55
|
-
length: 16,
|
|
56
|
-
options: { special: false },
|
|
57
|
-
policy: false,
|
|
58
|
-
vaultInfo,
|
|
59
|
-
};
|
|
60
|
-
const captchaConfig = captcha
|
|
61
|
-
? {
|
|
62
|
-
CAPTCHA_TYPE: captcha.type,
|
|
63
|
-
[`${getCaptchaPrefixKey(captcha)}_SITEKEY`]: captcha.siteKey,
|
|
64
|
-
[`${getCaptchaPrefixKey(captcha)}_SECRET`]: captcha.secret,
|
|
65
|
-
[`${getCaptchaPrefixKey(captcha)}_URL`]: captcha.url ?? '',
|
|
66
|
-
}
|
|
67
|
-
: {};
|
|
68
|
-
const identityInfo = auth?.enableAzureAD
|
|
69
|
-
? createAzureADIdentity({
|
|
70
|
-
name,
|
|
71
|
-
host,
|
|
72
|
-
vaultInfo,
|
|
73
|
-
groupMap: auth.enableAzureAD.groupMap,
|
|
74
|
-
})
|
|
75
|
-
: undefined;
|
|
76
|
-
const gitea = new k8s.helm.v3.Chart(name, {
|
|
77
|
-
namespace,
|
|
78
|
-
chart: 'gitea',
|
|
79
|
-
fetchOpts: { repo: 'https://dl.gitea.com/charts' },
|
|
80
|
-
values: {
|
|
81
|
-
gitea: {
|
|
82
|
-
admin: auth?.localAdmin
|
|
83
|
-
? {
|
|
84
|
-
username: auth.localAdmin.username,
|
|
85
|
-
email: auth.localAdmin.email,
|
|
86
|
-
password: (0, Random_1.randomPassword)({
|
|
87
|
-
name: `${name}-admin`,
|
|
88
|
-
...randomPassOptions,
|
|
89
|
-
}).result,
|
|
90
|
-
}
|
|
91
|
-
: undefined,
|
|
92
|
-
oauth: identityInfo
|
|
93
|
-
? [
|
|
94
|
-
{
|
|
95
|
-
name: 'AzureAD',
|
|
96
|
-
iconUrl: 'https://code.benco.io/icon-collection/azure-icons/Azure-AD-B2C.svg',
|
|
97
|
-
provider: 'openidConnect',
|
|
98
|
-
key: identityInfo.identity.clientId,
|
|
99
|
-
secret: identityInfo.identity.clientSecret,
|
|
100
|
-
autoDiscoverUrl: (0, pulumi_1.interpolate) `https://login.microsoftonline.com/${AzureEnv_1.tenantId}/v2.0/.well-known/openid-configuration`,
|
|
101
|
-
requiredClaimName: 'groups',
|
|
102
|
-
requiredClaimValue: identityInfo.devGroup.objectId,
|
|
103
|
-
scopes: 'openid email',
|
|
104
|
-
groupClaimName: 'groups',
|
|
105
|
-
adminGroup: identityInfo.adminGroup.objectId,
|
|
106
|
-
groupTeamMap: identityInfo.groupTeamMap,
|
|
107
|
-
},
|
|
108
|
-
]
|
|
109
|
-
: auth?.oauth
|
|
110
|
-
? [{ provider: 'openidConnect', ...auth.oauth }]
|
|
111
|
-
: undefined,
|
|
112
|
-
ldap: auth?.ldap,
|
|
113
|
-
config: {
|
|
114
|
-
actions: { ENABLED: `${Boolean(enabledActions)}` },
|
|
115
|
-
admin: {
|
|
116
|
-
DISABLE_REGULAR_ORG_CREATION: 'true', //Only Admin able to create new Organization
|
|
117
|
-
},
|
|
118
|
-
oauth2_client: {
|
|
119
|
-
ENABLE_AUTO_REGISTRATION: 'true',
|
|
120
|
-
ACCOUNT_LINKING: 'auto',
|
|
121
|
-
UPDATE_AVATAR: 'true',
|
|
122
|
-
OPENID_CONNECT_SCOPES: 'openid email',
|
|
123
|
-
USERNAME: 'email',
|
|
124
|
-
},
|
|
125
|
-
openid: {
|
|
126
|
-
ENABLE_OPENID_SIGNIN: 'false',
|
|
127
|
-
ENABLE_OPENID_SIGNUP: 'true',
|
|
128
|
-
WHITELISTED_URIS: 'login.microsoftonline.com google.com',
|
|
129
|
-
},
|
|
130
|
-
database: {
|
|
131
|
-
DB_TYPE: 'postgres',
|
|
132
|
-
HOST: (0, pulumi_1.interpolate) `${postgres.host}:${postgres.port}`,
|
|
133
|
-
NAME: postgres.database,
|
|
134
|
-
USER: postgres.username,
|
|
135
|
-
PASSWD: postgres.password,
|
|
136
|
-
SCHEMA: 'public',
|
|
137
|
-
},
|
|
138
|
-
service: {
|
|
139
|
-
ENABLE_CAPTCHA: `${Boolean(captchaConfig)}`,
|
|
140
|
-
REQUIRE_CAPTCHA_FOR_LOGIN: `${Boolean(captchaConfig)}`,
|
|
141
|
-
...captchaConfig,
|
|
142
|
-
DISABLE_REGISTRATION: auth?.disableRegistration
|
|
143
|
-
? 'true'
|
|
144
|
-
: 'false',
|
|
145
|
-
ENABLE_BASIC_AUTHENTICATION: 'false', // `${Boolean(auth?.localAdmin)}`,
|
|
146
|
-
ALLOW_ONLY_EXTERNAL_REGISTRATION: 'true',
|
|
147
|
-
DEFAULT_ALLOW_CREATE_ORGANIZATION: 'true', //only Admin able to create Organization
|
|
148
|
-
SHOW_REGISTRATION_BUTTON: 'false',
|
|
149
|
-
},
|
|
150
|
-
server: {
|
|
151
|
-
DISABLE_SSH: 'true',
|
|
152
|
-
START_SSH_SERVER: 'false',
|
|
153
|
-
//APP_DATA_PATH = /data
|
|
154
|
-
DOMAIN: host,
|
|
155
|
-
HTTP_PORT: '3000',
|
|
156
|
-
PROTOCOL: 'http',
|
|
157
|
-
ROOT_URL: `https://${host}`,
|
|
158
|
-
SSH_DOMAIN: host,
|
|
159
|
-
SSH_LISTEN_PORT: '22',
|
|
160
|
-
SSH_PORT: '22',
|
|
161
|
-
ENABLE_PPROF: 'false',
|
|
162
|
-
DISABLE_REGISTRATION: auth?.disableRegistration
|
|
163
|
-
? 'true'
|
|
164
|
-
: 'false',
|
|
165
|
-
},
|
|
166
|
-
session: {
|
|
167
|
-
SAME_SITE: 'lax',
|
|
168
|
-
COOKIE_SECURE: 'true',
|
|
169
|
-
COOKIE_NAME: 'gitea_session',
|
|
170
|
-
DOMAIN: host,
|
|
171
|
-
},
|
|
172
|
-
repository: { DEFAULT_PRIVATE: 'true', FORCE_PRIVATE: 'true' },
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
'redis-cluster': { enabled: false },
|
|
176
|
-
postgresql: { enabled: false },
|
|
177
|
-
'postgresql-ha': { enabled: false },
|
|
178
|
-
persistence: { enabled: true, storageClass },
|
|
179
|
-
strategy: { type: 'Recreate' },
|
|
180
|
-
},
|
|
181
|
-
}, { provider, dependsOn });
|
|
182
|
-
return gitea;
|
|
183
|
-
};
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSZXBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0t1YmVYL1Rvb2xzL0dpdGVhL0dpdGVhUmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBDQUEwQztBQUMxQywyQ0FBNEQ7QUFDNUQsaURBQXNEO0FBRXRELHFEQUFxRDtBQUNyRCw2Q0FBNkM7QUFDN0MsdURBQWtFO0FBaUJsRSxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQ25ELE9BQU8sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFL0UsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQzdCLElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxFQUNULFFBQVEsR0FNVCxFQUFFLEVBQUU7SUFDSCxxQ0FBcUM7SUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBQSxjQUFXLEVBQUM7UUFDN0IsR0FBRyxFQUFFLHVCQUFZLENBQUMsR0FBRztRQUNyQixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLG1CQUFtQixFQUFFLElBQUk7S0FDMUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsSUFBQSxjQUFXLEVBQUM7UUFDM0IsR0FBRyxFQUFFLHVCQUFZLENBQUMsR0FBRztRQUNyQixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLG1CQUFtQixFQUFFLElBQUk7UUFDekIsT0FBTyxFQUFFLFFBQVE7WUFDZixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FB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
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { DefaultK8sArgs } from '../../types';
|
|
2
|
-
import { Input } from '@pulumi/pulumi';
|
|
3
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
4
|
-
interface GiteaRunnerProps extends DefaultK8sArgs {
|
|
5
|
-
storageClassName: Input<string>;
|
|
6
|
-
giteaUrl?: Input<string>;
|
|
7
|
-
giteaToken: Input<string>;
|
|
8
|
-
labels?: Input<string>;
|
|
9
|
-
}
|
|
10
|
-
declare const _default: ({ name, namespace, storageClassName, labels, giteaUrl, giteaToken, resources, ...others }: GiteaRunnerProps) => k8s.helm.v3.Chart;
|
|
11
|
-
export default _default;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const k8s = require("@pulumi/kubernetes");
|
|
4
|
-
//https://github.com/kha7iq/charts/tree/main/charts/act-runner
|
|
5
|
-
exports.default = ({ name = 'gitea-runner', namespace, storageClassName, labels, giteaUrl, giteaToken,
|
|
6
|
-
//enabledDind = true,
|
|
7
|
-
resources, ...others }) => {
|
|
8
|
-
const env = [
|
|
9
|
-
{ name: 'DOCKER_HOST', value: 'tcp://localhost:2376' },
|
|
10
|
-
{ name: 'DOCKER_CERT_PATH', value: '/certs/client' },
|
|
11
|
-
{ name: 'DOCKER_TLS_VERIFY', value: '1' },
|
|
12
|
-
{ name: 'GITEA_RUNNER_NAME', value: name },
|
|
13
|
-
{ name: 'VALID_VOLUMES', value: '**' },
|
|
14
|
-
{ name: 'NETWORK', value: 'bridge' },
|
|
15
|
-
];
|
|
16
|
-
if (labels) {
|
|
17
|
-
env.push({
|
|
18
|
-
name: 'GITEA_RUNNER_LABELS',
|
|
19
|
-
value: `${labels},ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster`,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return new k8s.helm.v3.Chart(name, {
|
|
23
|
-
namespace,
|
|
24
|
-
chart: 'act-runner',
|
|
25
|
-
fetchOpts: { repo: 'https://charts.lmno.pk' },
|
|
26
|
-
values: {
|
|
27
|
-
env,
|
|
28
|
-
runner: {
|
|
29
|
-
instanceURL: giteaUrl,
|
|
30
|
-
runnerToken: { value: giteaToken },
|
|
31
|
-
dockerDind: { enabled: true },
|
|
32
|
-
},
|
|
33
|
-
persistence: { storageClassName },
|
|
34
|
-
},
|
|
35
|
-
}, others);
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSdW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvR2l0ZWEvR2l0ZWFSdW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwwQ0FBMEM7QUFXMUMsOERBQThEO0FBQzlELGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsY0FBYyxFQUNyQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixRQUFRLEVBQ1IsVUFBVTtBQUNWLHFCQUFxQjtBQUNyQixTQUFTLEVBQ1QsR0FBRyxNQUFNLEVBQ1EsRUFBRSxFQUFFO0lBQ3JCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtRQUN0RCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQ3BELEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDekMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUMxQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN0QyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtLQUNyQyxDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLEtBQUssRUFBRSxHQUFHLE1BQU0sNkpBQTZKO1NBQzlLLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUMxQixJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLFlBQVk7UUFDbkIsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1FBRTdDLE1BQU0sRUFBRTtZQUNOLEdBQUc7WUFDSCxNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBQ2xDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7YUFDOUI7WUFDRCxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRTtTQUNsQztLQUNGLEVBQ0QsTUFBTSxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { DefaultK8sArgs } from '../../types';
|
|
2
|
-
import { Input } from '@pulumi/pulumi';
|
|
3
|
-
interface GiteaRunnerProps extends DefaultK8sArgs {
|
|
4
|
-
storageClassName: Input<string>;
|
|
5
|
-
giteaUrl?: Input<string>;
|
|
6
|
-
giteaToken: Input<string>;
|
|
7
|
-
labels?: Input<string>;
|
|
8
|
-
storageGb?: number;
|
|
9
|
-
}
|
|
10
|
-
declare const _default: ({ name, namespace, storageClassName, labels, storageGb, giteaUrl, giteaToken, resources, ...others }: GiteaRunnerProps) => import("@pulumi/kubernetes/apps/v1/deployment").Deployment;
|
|
11
|
-
export default _default;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const kubernetes_1 = require("@pulumi/kubernetes");
|
|
4
|
-
const Storage_1 = require("../../Storage");
|
|
5
|
-
const KsSecret_1 = require("../../Core/KsSecret");
|
|
6
|
-
exports.default = ({ name = 'gitea-runner', namespace, storageClassName, labels, storageGb = 10, giteaUrl, giteaToken, resources, ...others }) => {
|
|
7
|
-
const userId = 1000;
|
|
8
|
-
const dockerSock = `/run/user/${userId}/docker.sock`;
|
|
9
|
-
const persisVolume = (0, Storage_1.createPVCForStorageClass)({
|
|
10
|
-
name,
|
|
11
|
-
namespace,
|
|
12
|
-
accessMode: 'ReadWriteOnce',
|
|
13
|
-
storageGb: `${storageGb}Gi`,
|
|
14
|
-
storageClassName,
|
|
15
|
-
...others,
|
|
16
|
-
});
|
|
17
|
-
const env = [
|
|
18
|
-
{
|
|
19
|
-
name: 'DOCKER_HOST',
|
|
20
|
-
value: `unix://${dockerSock}`,
|
|
21
|
-
},
|
|
22
|
-
// {
|
|
23
|
-
// name: 'DOCKER_CERT_PATH',
|
|
24
|
-
// value: '/certs/client',
|
|
25
|
-
// },
|
|
26
|
-
// {
|
|
27
|
-
// name: 'DOCKER_TLS_VERIFY',
|
|
28
|
-
// value: '0',
|
|
29
|
-
// },
|
|
30
|
-
{
|
|
31
|
-
name: 'GITEA_RUNNER_NAME',
|
|
32
|
-
value: name,
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: 'GITEA_INSTANCE_URL',
|
|
36
|
-
value: giteaUrl,
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
if (labels) {
|
|
40
|
-
env.push({
|
|
41
|
-
name: 'GITEA_RUNNER_LABELS',
|
|
42
|
-
value: `${labels},ubuntu-latest:docker://catthehacker/ubuntu:runner-22.04,ubuntu-22.04:docker://catthehacker/ubuntu:runner-22.04,ubuntu-20.04:docker://catthehacker/ubuntu:runner-20.04`,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
else
|
|
46
|
-
env.push({
|
|
47
|
-
name: 'GITEA_RUNNER_LABELS',
|
|
48
|
-
value: 'ubuntu-latest:docker://catthehacker/ubuntu:runner-22.04,ubuntu-22.04:docker://catthehacker/ubuntu:runner-22.04,ubuntu-20.04:docker://catthehacker/ubuntu:runner-20.04',
|
|
49
|
-
});
|
|
50
|
-
const secret = (0, KsSecret_1.default)({
|
|
51
|
-
name,
|
|
52
|
-
namespace,
|
|
53
|
-
stringData: {
|
|
54
|
-
GITEA_RUNNER_REGISTRATION_TOKEN: giteaToken,
|
|
55
|
-
},
|
|
56
|
-
...others,
|
|
57
|
-
});
|
|
58
|
-
return new kubernetes_1.apps.v1.Deployment(name, {
|
|
59
|
-
metadata: {
|
|
60
|
-
name,
|
|
61
|
-
namespace,
|
|
62
|
-
labels: { app: name },
|
|
63
|
-
},
|
|
64
|
-
spec: {
|
|
65
|
-
replicas: 1,
|
|
66
|
-
selector: { matchLabels: { app: name } },
|
|
67
|
-
strategy: {},
|
|
68
|
-
template: {
|
|
69
|
-
metadata: { labels: { app: name } },
|
|
70
|
-
spec: {
|
|
71
|
-
securityContext: {
|
|
72
|
-
runAsUser: userId,
|
|
73
|
-
runAsGroup: userId,
|
|
74
|
-
fsGroup: userId,
|
|
75
|
-
},
|
|
76
|
-
containers: [
|
|
77
|
-
{
|
|
78
|
-
command: [
|
|
79
|
-
'sh',
|
|
80
|
-
'-c',
|
|
81
|
-
`(sleep 10 && chmod a+rwx ${dockerSock}) & /usr/bin/supervisord -c /etc/supervisord.conf`,
|
|
82
|
-
],
|
|
83
|
-
image: 'gitea/act_runner:nightly-dind-rootless',
|
|
84
|
-
name: 'runner',
|
|
85
|
-
env,
|
|
86
|
-
envFrom: [
|
|
87
|
-
{
|
|
88
|
-
secretRef: {
|
|
89
|
-
name: secret.metadata.name,
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
securityContext: {
|
|
94
|
-
privileged: true,
|
|
95
|
-
},
|
|
96
|
-
volumeMounts: [
|
|
97
|
-
{
|
|
98
|
-
mountPath: '/data',
|
|
99
|
-
name: 'runner-data',
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
resources: {
|
|
103
|
-
requests: {
|
|
104
|
-
'ephemeral-storage': '10Gi',
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
],
|
|
109
|
-
restartPolicy: 'Always',
|
|
110
|
-
volumes: [
|
|
111
|
-
{
|
|
112
|
-
name: 'runner-data',
|
|
113
|
-
persistentVolumeClaim: {
|
|
114
|
-
claimName: persisVolume.metadata.name,
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
],
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
},
|
|
121
|
-
}, others);
|
|
122
|
-
};
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0ZWFSdW5uZXIudjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvR2l0ZWEvR2l0ZWFSdW5uZXIudjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxtREFBMEM7QUFFMUMsMkNBQXlEO0FBRXpELGtEQUEyQztBQVczQyxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxHQUFHLGNBQWMsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEVBQ04sU0FBUyxHQUFHLEVBQUUsRUFDZCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDUSxFQUFFLEVBQUU7SUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLE1BQU0sVUFBVSxHQUFHLGFBQWEsTUFBTSxjQUFjLENBQUM7SUFFckQsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBd0IsRUFBQztRQUM1QyxJQUFJO1FBQ0osU0FBUztRQUNULFVBQVUsRUFBRSxlQUFlO1FBQzNCLFNBQVMsRUFBRSxHQUFHLFNBQVMsSUFBSTtRQUMzQixnQkFBZ0I7UUFDaEIsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUc7UUFDVjtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLEtBQUssRUFBRSxVQUFVLFVBQVUsRUFBRTtTQUM5QjtRQUNELElBQUk7UUFDSiw4QkFBOEI7UUFDOUIsNEJBQTRCO1FBQzVCLEtBQUs7UUFDTCxJQUFJO1FBQ0osK0JBQStCO1FBQy9CLGdCQUFnQjtRQUNoQixLQUFLO1FBQ0w7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsS0FBSyxFQUFFLFFBQVE7U0FDaEI7S0FDRixDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLEtBQUssRUFBRSxHQUFHLE1BQU0sd0tBQXdLO1NBQ3pMLENBQUMsQ0FBQztJQUNMLENBQUM7O1FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNQLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsS0FBSyxFQUNILHVLQUF1SztTQUMxSyxDQUFDLENBQUM7SUFFTCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFRLEVBQUM7UUFDdEIsSUFBSTtRQUNKLFNBQVM7UUFDVCxVQUFVLEVBQUU7WUFDViwrQkFBK0IsRUFBRSxVQUFVO1NBQzVDO1FBQ0QsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGlCQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FDM0IsSUFBSSxFQUNKO1FBQ0UsUUFBUSxFQUFFO1lBQ1IsSUFBSTtZQUNKLFNBQVM7WUFDVCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO1NBQ3RCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNuQyxJQUFJLEVBQUU7b0JBQ0osZUFBZSxFQUFFO3dCQUNmLFNBQVMsRUFBRSxNQUFNO3dCQUNqQixVQUFVLEVBQUUsTUFBTTt3QkFDbEIsT0FBTyxFQUFFLE1BQU07cUJBQ2hCO29CQUNELFVBQVUsRUFBRTt3QkFDVjs0QkFDRSxPQUFPLEVBQUU7Z0NBQ1AsSUFBSTtnQ0FDSixJQUFJO2dDQUNKLDRCQUE0QixVQUFVLG1EQUFtRDs2QkFDMUY7NEJBQ0QsS0FBSyxFQUFFLHdDQUF3Qzs0QkFDL0MsSUFBSSxFQUFFLFFBQVE7NEJBRWQsR0FBRzs0QkFDSCxPQUFPLEVBQUU7Z0NBQ1A7b0NBQ0UsU0FBUyxFQUFFO3dDQUNULElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7cUNBQzNCO2lDQUNGOzZCQUNGOzRCQUNELGVBQWUsRUFBRTtnQ0FDZixVQUFVLEVBQUUsSUFBSTs2QkFDakI7NEJBQ0QsWUFBWSxFQUFFO2dDQUNaO29DQUNFLFNBQVMsRUFBRSxPQUFPO29DQUNsQixJQUFJLEVBQUUsYUFBYTtpQ0FDcEI7NkJBQ0Y7NEJBRUQsU0FBUyxFQUFFO2dDQUNULFFBQVEsRUFBRTtvQ0FDUixtQkFBbUIsRUFBRSxNQUFNO2lDQUM1Qjs2QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxhQUFhLEVBQUUsUUFBUTtvQkFDdkIsT0FBTyxFQUFFO3dCQUNQOzRCQUNFLElBQUksRUFBRSxhQUFhOzRCQUNuQixxQkFBcUIsRUFBRTtnQ0FDckIsU0FBUyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSTs2QkFDdEM7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { DefaultK8sArgs } from '../types';
|
|
2
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
3
|
-
import { Input } from '@pulumi/pulumi';
|
|
4
|
-
import { KeyVaultInfo } from '../../types';
|
|
5
|
-
interface HarborRepoProps extends DefaultK8sArgs {
|
|
6
|
-
vaultInfo?: KeyVaultInfo;
|
|
7
|
-
externalURL: string;
|
|
8
|
-
coreURL: string;
|
|
9
|
-
notaryURL: string;
|
|
10
|
-
tlsSecretName: string;
|
|
11
|
-
storageClass: Input<string>;
|
|
12
|
-
accessMode?: 'ReadWriteMany' | 'ReadWriteOnce';
|
|
13
|
-
postgres: {
|
|
14
|
-
host: Input<string>;
|
|
15
|
-
port: Input<number>;
|
|
16
|
-
coreDatabase: Input<string>;
|
|
17
|
-
username: Input<string>;
|
|
18
|
-
password: Input<string>;
|
|
19
|
-
sslmode?: boolean;
|
|
20
|
-
};
|
|
21
|
-
redis?: {
|
|
22
|
-
addr: Input<string>;
|
|
23
|
-
port: Input<number>;
|
|
24
|
-
username: Input<string>;
|
|
25
|
-
password: Input<string>;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
declare const _default: ({ name, namespace, externalURL, coreURL, notaryURL, tlsSecretName, storageClass, accessMode, postgres, redis, vaultInfo, provider, dependsOn, }: HarborRepoProps) => k8s.helm.v3.Chart;
|
|
29
|
-
export default _default;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const k8s = require("@pulumi/kubernetes");
|
|
4
|
-
const Random_1 = require("../../Core/Random");
|
|
5
|
-
//https://github.com/goharbor/harbor-helm
|
|
6
|
-
exports.default = ({ name = 'harbor', namespace, externalURL, coreURL, notaryURL, tlsSecretName, storageClass, accessMode = 'ReadWriteOnce', postgres, redis, vaultInfo, provider, dependsOn, }) => {
|
|
7
|
-
const redisType = redis ? 'external' : 'internal';
|
|
8
|
-
const randomPassOptions = {
|
|
9
|
-
length: 16,
|
|
10
|
-
options: { special: false },
|
|
11
|
-
policy: false,
|
|
12
|
-
vaultInfo,
|
|
13
|
-
};
|
|
14
|
-
const harbor = new k8s.helm.v3.Chart(name, {
|
|
15
|
-
namespace,
|
|
16
|
-
chart: 'harbor',
|
|
17
|
-
fetchOpts: { repo: 'https://helm.goharbor.io' },
|
|
18
|
-
values: {
|
|
19
|
-
expose: {
|
|
20
|
-
type: 'clusterIP', // ingress, clusterIP, nodePort, loadBalancer
|
|
21
|
-
tls: { auto: { commonName: externalURL.replace('https://', '') } },
|
|
22
|
-
ingress: {
|
|
23
|
-
hosts: {
|
|
24
|
-
core: coreURL,
|
|
25
|
-
notary: notaryURL,
|
|
26
|
-
secretName: tlsSecretName,
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
externalURL,
|
|
31
|
-
//Admin Password
|
|
32
|
-
harborAdminPassword: (0, Random_1.randomPassword)({
|
|
33
|
-
name: `${name}-admin`,
|
|
34
|
-
...randomPassOptions,
|
|
35
|
-
}).result,
|
|
36
|
-
// secret: randomPassword({
|
|
37
|
-
// name: `${name}-secret`,
|
|
38
|
-
// ...randomPassOptions,
|
|
39
|
-
// }).result,
|
|
40
|
-
//Secret key for encryption mus be 16 characters
|
|
41
|
-
secretKey: (0, Random_1.randomPassword)({
|
|
42
|
-
name: `${name}-secretKey`,
|
|
43
|
-
...randomPassOptions,
|
|
44
|
-
}).result,
|
|
45
|
-
trivy: { enabled: true },
|
|
46
|
-
database: { type: 'external', external: postgres },
|
|
47
|
-
redis: {
|
|
48
|
-
type: redisType,
|
|
49
|
-
external: redis,
|
|
50
|
-
internal: redisType === 'internal' ? {} : undefined,
|
|
51
|
-
},
|
|
52
|
-
persistence: {
|
|
53
|
-
persistentVolumeClaim: {
|
|
54
|
-
registry: {
|
|
55
|
-
storageClass,
|
|
56
|
-
accessMode,
|
|
57
|
-
},
|
|
58
|
-
chartmuseum: {
|
|
59
|
-
storageClass,
|
|
60
|
-
accessMode,
|
|
61
|
-
},
|
|
62
|
-
jobservice: {
|
|
63
|
-
storageClass,
|
|
64
|
-
accessMode,
|
|
65
|
-
},
|
|
66
|
-
redis: redisType === 'internal'
|
|
67
|
-
? {
|
|
68
|
-
storageClass,
|
|
69
|
-
accessMode,
|
|
70
|
-
}
|
|
71
|
-
: undefined,
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
}, { provider, dependsOn });
|
|
76
|
-
return harbor;
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFyYm9yUmVwby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9IYXJib3JSZXBvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsMENBQTBDO0FBRTFDLDhDQUFtRDtBQTZCbkQseUNBQXlDO0FBQ3pDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsUUFBUSxFQUNmLFNBQVMsRUFFVCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEVBRWIsWUFBWSxFQUNaLFVBQVUsR0FBRyxlQUFlLEVBQzVCLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEdBQ08sRUFBRSxFQUFFO0lBQ3BCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDbEQsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixNQUFNLEVBQUUsRUFBRTtRQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDM0IsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTO0tBQ1YsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNsQyxJQUFJLEVBQ0o7UUFDRSxTQUFTO1FBQ1QsS0FBSyxFQUFFLFFBQVE7UUFDZixTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7UUFFL0MsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxXQUFXLEVBQUUsNkNBQTZDO2dCQUNoRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEUsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixNQUFNLEVBQUUsU0FBUzt3QkFDakIsVUFBVSxFQUFFLGFBQWE7cUJBQzFCO2lCQUNGO2FBQ0Y7WUFDRCxXQUFXO1lBRVgsZ0JBQWdCO1lBQ2hCLG1CQUFtQixFQUFFLElBQUEsdUJBQWMsRUFBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxRQUFRO2dCQUNyQixHQUFHLGlCQUFpQjthQUNyQixDQUFDLENBQUMsTUFBTTtZQUVULDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLGFBQWE7WUFFYixnREFBZ0Q7WUFDaEQsU0FBUyxFQUFFLElBQUEsdUJBQWMsRUFBQztnQkFDeEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxZQUFZO2dCQUN6QixHQUFHLGlCQUFpQjthQUNyQixDQUFDLENBQUMsTUFBTTtZQUVULEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ2xELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3BEO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLHFCQUFxQixFQUFFO29CQUNyQixRQUFRLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixVQUFVO3FCQUNYO29CQUNELFdBQVcsRUFBRTt3QkFDWCxZQUFZO3dCQUNaLFVBQVU7cUJBQ1g7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLFlBQVk7d0JBQ1osVUFBVTtxQkFDWDtvQkFDRCxLQUFLLEVBQ0gsU0FBUyxLQUFLLFVBQVU7d0JBQ3RCLENBQUMsQ0FBQzs0QkFDRSxZQUFZOzRCQUNaLFVBQVU7eUJBQ1g7d0JBQ0gsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hCO2FBQ0Y7U0FDRjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQ3hCLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Deployment_1 = require("../Deployment");
|
|
4
|
-
exports.default = ({ namespace, ingress, ...others }) => {
|
|
5
|
-
const name = 'hello-world';
|
|
6
|
-
const image = 'strm/helloworld-http';
|
|
7
|
-
const port = 80;
|
|
8
|
-
(0, Deployment_1.default)({
|
|
9
|
-
name,
|
|
10
|
-
namespace,
|
|
11
|
-
podConfig: {
|
|
12
|
-
image,
|
|
13
|
-
ports: { http: port },
|
|
14
|
-
resources: { requests: { memory: '1Mi', cpu: '1m' } },
|
|
15
|
-
},
|
|
16
|
-
deploymentConfig: { replicas: 1 },
|
|
17
|
-
ingressConfig: ingress,
|
|
18
|
-
...others,
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVsbG9Xb3JsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9IZWxsb1dvcmxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQXVDO0FBR3ZDLGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFvQixFQUFFLEVBQUU7SUFDckUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDO0lBQzNCLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVoQixJQUFBLG9CQUFVLEVBQUM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUVULFNBQVMsRUFBRTtZQUNULEtBQUs7WUFDTCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1NBQ3REO1FBQ0QsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1FBQ2pDLGFBQWEsRUFBRSxPQUFPO1FBRXRCLEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
2
|
-
import { Input, Resource } from '@pulumi/pulumi';
|
|
3
|
-
interface Props {
|
|
4
|
-
namespace: Input<string>;
|
|
5
|
-
provider: k8s.Provider;
|
|
6
|
-
dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
|
|
7
|
-
}
|
|
8
|
-
declare const _default: ({ namespace, provider, dependsOn }: Props) => void;
|
|
9
|
-
export default _default;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const k8s = require("@pulumi/kubernetes");
|
|
4
|
-
const SecurityRules_1 = require("../Core/SecurityRules");
|
|
5
|
-
exports.default = ({ namespace, provider, dependsOn }) => {
|
|
6
|
-
const name = 'kube-cleanup-operator';
|
|
7
|
-
new k8s.helm.v3.Chart(name, {
|
|
8
|
-
namespace,
|
|
9
|
-
chart: 'kube-cleanup-operator',
|
|
10
|
-
fetchOpts: {
|
|
11
|
-
repo: 'http://charts.lwolf.org',
|
|
12
|
-
},
|
|
13
|
-
values: {
|
|
14
|
-
rbac: {
|
|
15
|
-
global: true,
|
|
16
|
-
},
|
|
17
|
-
args: [
|
|
18
|
-
//'--namespace=default',
|
|
19
|
-
'--delete-successful-after=24h0m0s',
|
|
20
|
-
'--delete-failed-after=0',
|
|
21
|
-
'--delete-pending-pods-after=0',
|
|
22
|
-
'--delete-evicted-pods-after=0',
|
|
23
|
-
'--delete-orphaned-pods-after=0',
|
|
24
|
-
//'--ignore-owned-by-cronjobs=false',
|
|
25
|
-
//'--dry-run=false',
|
|
26
|
-
'--legacy-mode=false',
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
transformations: [
|
|
30
|
-
(obj) => (0, SecurityRules_1.applyDeploymentRules)(obj, { disableServiceAccount: false }),
|
|
31
|
-
],
|
|
32
|
-
}, { provider, dependsOn });
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS3ViZUNsZWFudXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvS3ViZUNsZWFudXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQ0FBMEM7QUFFMUMseURBQTZEO0FBUTdELGtCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBUyxFQUFFLEVBQUU7SUFDM0QsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFFckMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQ25CLElBQUksRUFDSjtRQUNFLFNBQVM7UUFDVCxLQUFLLEVBQUUsdUJBQXVCO1FBQzlCLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSx5QkFBeUI7U0FDaEM7UUFFRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUk7YUFDYjtZQUNELElBQUksRUFBRTtnQkFDSix3QkFBd0I7Z0JBQ3hCLG1DQUFtQztnQkFDbkMseUJBQXlCO2dCQUN6QiwrQkFBK0I7Z0JBQy9CLCtCQUErQjtnQkFDL0IsZ0NBQWdDO2dCQUNoQyxxQ0FBcUM7Z0JBQ3JDLG9CQUFvQjtnQkFDcEIscUJBQXFCO2FBQ3RCO1NBQ0Y7UUFFRCxlQUFlLEVBQUU7WUFDZixDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ1gsSUFBQSxvQ0FBb0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUM5RDtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQ3hCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/KubeX/Tools/NoIp.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
2
|
-
import { Input, Resource } from '@pulumi/pulumi';
|
|
3
|
-
export interface NoIpProps {
|
|
4
|
-
namespace: Input<string>;
|
|
5
|
-
username: Input<string>;
|
|
6
|
-
password: Input<string>;
|
|
7
|
-
domain: Input<string>;
|
|
8
|
-
interval?: number;
|
|
9
|
-
provider: k8s.Provider;
|
|
10
|
-
dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
|
|
11
|
-
}
|
|
12
|
-
declare const _default: ({ namespace, username, password, domain, interval, ...others }: NoIpProps) => void;
|
|
13
|
-
export default _default;
|
package/KubeX/Tools/NoIp.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Deployment_1 = require("../Deployment");
|
|
4
|
-
exports.default = ({ namespace, username, password, domain, interval = 5, ...others }) => {
|
|
5
|
-
const name = 'no-ip';
|
|
6
|
-
const image = 'aanousakis/no-ip:v1';
|
|
7
|
-
(0, Deployment_1.default)({
|
|
8
|
-
name,
|
|
9
|
-
namespace,
|
|
10
|
-
configMap: {
|
|
11
|
-
INTERVAL: interval.toString(),
|
|
12
|
-
DOMAINS: domain,
|
|
13
|
-
},
|
|
14
|
-
secrets: { USERNAME: username, PASSWORD: password },
|
|
15
|
-
podConfig: {
|
|
16
|
-
ports: { http: 8080 },
|
|
17
|
-
image,
|
|
18
|
-
resources: { requests: { memory: '1Mi', cpu: '1m' } },
|
|
19
|
-
},
|
|
20
|
-
deploymentConfig: { replicas: 1 },
|
|
21
|
-
...others,
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9JcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9LdWJlWC9Ub29scy9Ob0lwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOENBQXVDO0FBWXZDLGtCQUFlLENBQUMsRUFDZCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxHQUFHLENBQUMsRUFDWixHQUFHLE1BQU0sRUFDQyxFQUFFLEVBQUU7SUFDZCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUM7SUFDckIsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUM7SUFFcEMsSUFBQSxvQkFBVSxFQUFDO1FBQ1QsSUFBSTtRQUNKLFNBQVM7UUFFVCxTQUFTLEVBQUU7WUFDVCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUM3QixPQUFPLEVBQUUsTUFBTTtTQUNoQjtRQUNELE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtRQUVuRCxTQUFTLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLEtBQUs7WUFDTCxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtTQUN0RDtRQUNELGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtRQUVqQyxHQUFHLE1BQU07S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as k8s from '@pulumi/kubernetes';
|
|
2
|
-
import { DefaultK8sArgs } from '../../types';
|
|
3
|
-
import { KeyVaultInfo } from '../../../types';
|
|
4
|
-
export interface OpenLDAPProps extends Omit<DefaultK8sArgs, 'namespace'> {
|
|
5
|
-
vaultInfo?: KeyVaultInfo;
|
|
6
|
-
namespace?: string;
|
|
7
|
-
replicas?: number;
|
|
8
|
-
storageClassName: string;
|
|
9
|
-
ldapDomain: string;
|
|
10
|
-
}
|
|
11
|
-
declare const _default: ({ name, namespace, vaultInfo, resources, replicas, ldapDomain, storageClassName, ...others }: OpenLDAPProps) => k8s.helm.v3.Chart;
|
|
12
|
-
export default _default;
|