@drunk-pulumi/azure 0.0.19 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/Aks/Helper.d.ts +0 -18
  2. package/Aks/Helper.js +50 -32
  3. package/package.json +3 -6
  4. package/KubeX/AcrSecret.d.ts +0 -15
  5. package/KubeX/AcrSecret.js +0 -31
  6. package/KubeX/Apps/AstroPage.d.ts +0 -12
  7. package/KubeX/Apps/AstroPage.js +0 -33
  8. package/KubeX/Apps/KafKa.d.ts +0 -6
  9. package/KubeX/Apps/KafKa.js +0 -13
  10. package/KubeX/Apps/Nobelium.d.ts +0 -13
  11. package/KubeX/Apps/Nobelium.js +0 -37
  12. package/KubeX/Apps/Wikijs.d.ts +0 -30
  13. package/KubeX/Apps/Wikijs.js +0 -54
  14. package/KubeX/Apps/WordPress.d.ts +0 -24
  15. package/KubeX/Apps/WordPress.js +0 -55
  16. package/KubeX/Apps/YarpProxy/index.d.ts +0 -17
  17. package/KubeX/Apps/YarpProxy/index.js +0 -107
  18. package/KubeX/Apps/YarpProxy/type.d.ts +0 -55
  19. package/KubeX/Apps/YarpProxy/type.js +0 -3
  20. package/KubeX/CertHelper.d.ts +0 -1
  21. package/KubeX/CertHelper.js +0 -9
  22. package/KubeX/CertImports.d.ts +0 -19
  23. package/KubeX/CertImports.js +0 -70
  24. package/KubeX/CloudFlare/CertCreator.d.ts +0 -19
  25. package/KubeX/CloudFlare/CertCreator.js +0 -90
  26. package/KubeX/CloudFlare/CertImports.d.ts +0 -17
  27. package/KubeX/CloudFlare/CertImports.js +0 -34
  28. package/KubeX/CloudFlare/DynamicDns.d.ts +0 -21
  29. package/KubeX/CloudFlare/DynamicDns.js +0 -39
  30. package/KubeX/CloudFlare/Tunnel-Helm.d.ts +0 -17
  31. package/KubeX/CloudFlare/Tunnel-Helm.js +0 -12
  32. package/KubeX/CloudFlare/Tunnel.d.ts +0 -23
  33. package/KubeX/CloudFlare/Tunnel.js +0 -54
  34. package/KubeX/CloudFlare/index.d.ts +0 -13
  35. package/KubeX/CloudFlare/index.js +0 -36
  36. package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +0 -6
  37. package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +0 -60
  38. package/KubeX/ConfigSecret.d.ts +0 -24
  39. package/KubeX/ConfigSecret.js +0 -38
  40. package/KubeX/Core/CertManager/index.d.ts +0 -24
  41. package/KubeX/Core/CertManager/index.js +0 -96
  42. package/KubeX/Core/KsCertSecret.d.ts +0 -12
  43. package/KubeX/Core/KsCertSecret.js +0 -22
  44. package/KubeX/Core/KsSecret.d.ts +0 -9
  45. package/KubeX/Core/KsSecret.js +0 -12
  46. package/KubeX/Core/LoadBalancer/MetalLB.d.ts +0 -7
  47. package/KubeX/Core/LoadBalancer/MetalLB.js +0 -21
  48. package/KubeX/Core/Monitoring/index.d.ts +0 -22
  49. package/KubeX/Core/Monitoring/index.js +0 -322
  50. package/KubeX/Core/Namespace.d.ts +0 -12
  51. package/KubeX/Core/Namespace.js +0 -41
  52. package/KubeX/Core/Nginx/index.d.ts +0 -60
  53. package/KubeX/Core/Nginx/index.js +0 -109
  54. package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
  55. package/KubeX/Core/OAuthProxy/index.js +0 -3
  56. package/KubeX/Core/ResourceQuota.d.ts +0 -12
  57. package/KubeX/Core/ResourceQuota.js +0 -13
  58. package/KubeX/Core/SecurityRules.d.ts +0 -34
  59. package/KubeX/Core/SecurityRules.js +0 -93
  60. package/KubeX/Core/StorageClass/azureBlob.d.ts +0 -20
  61. package/KubeX/Core/StorageClass/azureBlob.js +0 -77
  62. package/KubeX/Core/StorageClass/azureFile.d.ts +0 -17
  63. package/KubeX/Core/StorageClass/azureFile.js +0 -45
  64. package/KubeX/Core/StorageClass/index.d.ts +0 -13
  65. package/KubeX/Core/StorageClass/index.js +0 -25
  66. package/KubeX/Core/index.d.ts +0 -57
  67. package/KubeX/Core/index.js +0 -94
  68. package/KubeX/Databases/MariaDb.d.ts +0 -11
  69. package/KubeX/Databases/MariaDb.js +0 -39
  70. package/KubeX/Databases/MySql.V2.d.ts +0 -11
  71. package/KubeX/Databases/MySql.V2.js +0 -40
  72. package/KubeX/Databases/MySql.d.ts +0 -13
  73. package/KubeX/Databases/MySql.js +0 -55
  74. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +0 -10
  75. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +0 -47
  76. package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +0 -10
  77. package/KubeX/Databases/PostgreSql/PostgreSQL.js +0 -51
  78. package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +0 -13
  79. package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +0 -56
  80. package/KubeX/Databases/PostgreSql/index.d.ts +0 -17
  81. package/KubeX/Databases/PostgreSql/index.js +0 -6
  82. package/KubeX/Databases/RedisCache.d.ts +0 -14
  83. package/KubeX/Databases/RedisCache.js +0 -65
  84. package/KubeX/Databases/SqlServer.d.ts +0 -15
  85. package/KubeX/Databases/SqlServer.js +0 -77
  86. package/KubeX/Deployment/PodAutoscaler.d.ts +0 -14
  87. package/KubeX/Deployment/PodAutoscaler.js +0 -51
  88. package/KubeX/Deployment/index.d.ts +0 -136
  89. package/KubeX/Deployment/index.js +0 -306
  90. package/KubeX/Helpers.d.ts +0 -4
  91. package/KubeX/Helpers.js +0 -17
  92. package/KubeX/Ingress/AppGatewayIngress.d.ts +0 -2
  93. package/KubeX/Ingress/AppGatewayIngress.js +0 -4
  94. package/KubeX/Ingress/Conts.d.ts +0 -13
  95. package/KubeX/Ingress/Conts.js +0 -18
  96. package/KubeX/Ingress/NginxIngress.d.ts +0 -3
  97. package/KubeX/Ingress/NginxIngress.js +0 -186
  98. package/KubeX/Ingress/NginxProxy.d.ts +0 -21
  99. package/KubeX/Ingress/NginxProxy.js +0 -43
  100. package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +0 -15
  101. package/KubeX/Ingress/TraefikIngress/CustomHeader.js +0 -15
  102. package/KubeX/Ingress/TraefikIngress/index.d.ts +0 -11
  103. package/KubeX/Ingress/TraefikIngress/index.js +0 -95
  104. package/KubeX/Ingress/index.d.ts +0 -5
  105. package/KubeX/Ingress/index.js +0 -12
  106. package/KubeX/Ingress/type.d.ts +0 -82
  107. package/KubeX/Ingress/type.js +0 -3
  108. package/KubeX/Providers/index.d.ts +0 -8
  109. package/KubeX/Providers/index.js +0 -15
  110. package/KubeX/Storage/Longhorn/index.d.ts +0 -15
  111. package/KubeX/Storage/Longhorn/index.js +0 -54
  112. package/KubeX/Storage/index.d.ts +0 -25
  113. package/KubeX/Storage/index.js +0 -79
  114. package/KubeX/Tools/AWS/LocalStack.d.ts +0 -7
  115. package/KubeX/Tools/AWS/LocalStack.js +0 -29
  116. package/KubeX/Tools/AWS/S3.d.ts +0 -6
  117. package/KubeX/Tools/AWS/S3.js +0 -44
  118. package/KubeX/Tools/AWS/index.d.ts +0 -7
  119. package/KubeX/Tools/AWS/index.js +0 -14
  120. package/KubeX/Tools/AppHealthzMonitor.d.ts +0 -18
  121. package/KubeX/Tools/AppHealthzMonitor.js +0 -52
  122. package/KubeX/Tools/ArgoCD/index.d.ts +0 -17
  123. package/KubeX/Tools/ArgoCD/index.js +0 -131
  124. package/KubeX/Tools/Dapr/Storage.d.ts +0 -66
  125. package/KubeX/Tools/Dapr/Storage.js +0 -70
  126. package/KubeX/Tools/Dapr/index.d.ts +0 -10
  127. package/KubeX/Tools/Dapr/index.js +0 -31
  128. package/KubeX/Tools/Echo-App.d.ts +0 -3
  129. package/KubeX/Tools/Echo-App.js +0 -21
  130. package/KubeX/Tools/Gitea/GiteaRepo.d.ts +0 -72
  131. package/KubeX/Tools/Gitea/GiteaRepo.js +0 -184
  132. package/KubeX/Tools/Gitea/GiteaRunner.d.ts +0 -11
  133. package/KubeX/Tools/Gitea/GiteaRunner.js +0 -37
  134. package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +0 -11
  135. package/KubeX/Tools/Gitea/GiteaRunner.v1.js +0 -123
  136. package/KubeX/Tools/HarborRepo.d.ts +0 -29
  137. package/KubeX/Tools/HarborRepo.js +0 -78
  138. package/KubeX/Tools/HelloWorld.d.ts +0 -3
  139. package/KubeX/Tools/HelloWorld.js +0 -21
  140. package/KubeX/Tools/KubeCleanup.d.ts +0 -9
  141. package/KubeX/Tools/KubeCleanup.js +0 -34
  142. package/KubeX/Tools/NoIp.d.ts +0 -13
  143. package/KubeX/Tools/NoIp.js +0 -24
  144. package/KubeX/Tools/OpenLDAP/index.d.ts +0 -12
  145. package/KubeX/Tools/OpenLDAP/index.js +0 -56
  146. package/KubeX/Tools/OutlineVpn/index.d.ts +0 -25
  147. package/KubeX/Tools/OutlineVpn/index.js +0 -256
  148. package/KubeX/Tools/SqlPad.d.ts +0 -29
  149. package/KubeX/Tools/SqlPad.js +0 -133
  150. package/KubeX/Tools/ToolPod.d.ts +0 -10
  151. package/KubeX/Tools/ToolPod.js +0 -40
  152. package/KubeX/Tools/UptimeKuma.d.ts +0 -6
  153. package/KubeX/Tools/UptimeKuma.js +0 -38
  154. package/KubeX/Tools/index.d.ts +0 -27
  155. package/KubeX/Tools/index.js +0 -35
  156. package/KubeX/VairableResolvers/index.d.ts +0 -15
  157. package/KubeX/VairableResolvers/index.js +0 -49
  158. package/KubeX/kx/index.d.ts +0 -114
  159. package/KubeX/kx/index.js +0 -423
  160. package/KubeX/types.d.ts +0 -49
  161. package/KubeX/types.js +0 -3
@@ -1,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 = 'echo-app';
6
- const image = 'ealen/echo-server';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWNoby1BcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvS3ViZVgvVG9vbHMvRWNoby1BcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBdUM7QUFHdkMsa0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEVBQW9CLEVBQUUsRUFBRTtJQUNyRSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUM7SUFDeEIsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWhCLElBQUEsb0JBQVUsRUFBQztRQUNULElBQUk7UUFDSixTQUFTO1FBRVQsU0FBUyxFQUFFO1lBQ1QsS0FBSztZQUNMLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDckIsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7U0FDdEQ7UUFDRCxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7UUFDakMsYUFBYSxFQUFFLE9BQU87UUFFdEIsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
@@ -1,72 +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
- type CaptchaType = {
6
- type: 'image' | 'recaptcha' | 'hcaptcha' | 'mcaptcha' | 'cfturnstile';
7
- siteKey: Input<string>;
8
- secret: Input<string>;
9
- url?: Input<string>;
10
- };
11
- type GroupMapType = {
12
- azureGroupId: Input<string>;
13
- giteaOrganization: Input<string>;
14
- giteaTeam: Input<string>;
15
- };
16
- type GroupMapsType = Array<GroupMapType>;
17
- interface HarborRepoProps extends DefaultK8sArgs {
18
- vaultInfo?: KeyVaultInfo;
19
- storageClass: Input<string>;
20
- host: string;
21
- auth?: {
22
- localAdmin?: {
23
- username: string;
24
- email: string;
25
- };
26
- disableRegistration?: boolean;
27
- enableAzureAD?: {
28
- enabled: true;
29
- groupMap?: GroupMapsType;
30
- };
31
- oauth?: {
32
- name: string;
33
- iconUrl?: Input<string>;
34
- key: Input<string>;
35
- secret: Input<string>;
36
- scopes?: Input<string>;
37
- autoDiscoverUrl?: Input<string>;
38
- useCustomUrls?: Input<string>;
39
- customAuthUrl?: Input<string>;
40
- customTokenUrl?: Input<string>;
41
- customProfileUrl?: Input<string>;
42
- customEmailUrl?: Input<string>;
43
- };
44
- ldap?: {
45
- name: string;
46
- iconUrl?: Input<string>;
47
- securityProtocol: Input<string>;
48
- host: Input<string>;
49
- port: Input<string>;
50
- userSearchBase: Input<string>;
51
- userFilter: Input<string>;
52
- adminFilter: Input<string>;
53
- emailAttribute: Input<string>;
54
- bindDn: Input<string>;
55
- bindPassword: Input<string>;
56
- usernameAttribute: Input<string>;
57
- publicSSHKeyAttribute: Input<string>;
58
- };
59
- };
60
- captcha?: CaptchaType;
61
- enabledActions?: boolean;
62
- postgres: {
63
- host: Input<string>;
64
- port: Input<number>;
65
- database: Input<string>;
66
- username: Input<string>;
67
- password: Input<string>;
68
- sslmode?: boolean;
69
- };
70
- }
71
- declare const _default: ({ name, namespace, host, auth, captcha, storageClass, postgres, enabledActions, vaultInfo, provider, dependsOn, }: HarborRepoProps) => k8s.helm.v3.Chart;
72
- export default _default;
@@ -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,3 +0,0 @@
1
- import { DefaultKsAppArgs } from '../types';
2
- declare const _default: ({ namespace, ingress, ...others }: DefaultKsAppArgs) => void;
3
- export default _default;
@@ -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;