@highstate/k8s 0.20.0 → 0.21.1
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/dist/chunk-23vn2rdc.js +11 -0
- package/dist/chunk-2pfx13ay.js +11 -0
- package/dist/chunk-46ntav0c.js +299 -0
- package/dist/chunk-556pc9e6.js +155 -0
- package/dist/chunk-7kgjgcft.js +170 -0
- package/dist/{chunk-ADHZK6V2.js → chunk-9hs97f1q.js} +13 -11
- package/dist/chunk-aame3x1b.js +11 -0
- package/dist/chunk-b05q6fm2.js +37 -0
- package/dist/chunk-bmvc9d2d.js +11 -0
- package/dist/chunk-de82bbp2.js +7 -0
- package/dist/chunk-facs31cb.js +624 -0
- package/dist/chunk-h1b79v66.js +1425 -0
- package/dist/chunk-k4w9zpn5.js +215 -0
- package/dist/chunk-pqc6w52f.js +352 -0
- package/dist/chunk-qyshvz32.js +176 -0
- package/dist/chunk-tpfyj6fe.js +199 -0
- package/dist/chunk-z6bmpnm7.js +180 -0
- package/dist/highstate.manifest.json +3 -3
- package/dist/impl/dynamic-endpoint-resolver.js +82 -81
- package/dist/impl/gateway-route.js +131 -168
- package/dist/impl/tls-certificate.js +31 -32
- package/dist/index.js +245 -201
- package/dist/units/cert-manager/index.js +19 -13
- package/dist/units/cluster-patch/index.js +9 -8
- package/dist/units/dns01-issuer/index.js +44 -41
- package/dist/units/existing-cluster/index.js +25 -13
- package/dist/units/gateway-api/index.js +15 -16
- package/dist/units/reduced-access-cluster/index.js +28 -32
- package/package.json +21 -21
- package/src/cron-job.ts +26 -1
- package/src/deployment.ts +17 -1
- package/src/job.ts +15 -1
- package/src/scripting/bundle.ts +21 -98
- package/src/scripting/environment.ts +2 -9
- package/src/shared.ts +1 -1
- package/src/stateful-set.ts +17 -1
- package/src/workload.ts +31 -14
- package/LICENSE +0 -21
- package/dist/chunk-23X5SXQG.js +0 -301
- package/dist/chunk-23X5SXQG.js.map +0 -1
- package/dist/chunk-ADHZK6V2.js.map +0 -1
- package/dist/chunk-BTAEFJ5N.js +0 -291
- package/dist/chunk-BTAEFJ5N.js.map +0 -1
- package/dist/chunk-HH2JJELM.js +0 -13
- package/dist/chunk-HH2JJELM.js.map +0 -1
- package/dist/chunk-IXE3OKB4.js +0 -249
- package/dist/chunk-IXE3OKB4.js.map +0 -1
- package/dist/chunk-OG2OPX7B.js +0 -333
- package/dist/chunk-OG2OPX7B.js.map +0 -1
- package/dist/chunk-P26SQ2ZB.js +0 -393
- package/dist/chunk-P26SQ2ZB.js.map +0 -1
- package/dist/chunk-PG27ZY2H.js +0 -319
- package/dist/chunk-PG27ZY2H.js.map +0 -1
- package/dist/chunk-PZYGZSN5.js +0 -54
- package/dist/chunk-PZYGZSN5.js.map +0 -1
- package/dist/chunk-S77TE7UC.js +0 -309
- package/dist/chunk-S77TE7UC.js.map +0 -1
- package/dist/chunk-SZKOAHNX.js +0 -1804
- package/dist/chunk-SZKOAHNX.js.map +0 -1
- package/dist/chunk-TOLFVF4S.js +0 -889
- package/dist/chunk-TOLFVF4S.js.map +0 -1
- package/dist/chunk-TVKT3ZYX.js +0 -423
- package/dist/chunk-TVKT3ZYX.js.map +0 -1
- package/dist/cron-job-RKB2HYTO.js +0 -7
- package/dist/cron-job-RKB2HYTO.js.map +0 -1
- package/dist/deployment-T35TUOL2.js +0 -7
- package/dist/deployment-T35TUOL2.js.map +0 -1
- package/dist/impl/dynamic-endpoint-resolver.js.map +0 -1
- package/dist/impl/gateway-route.js.map +0 -1
- package/dist/impl/tls-certificate.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/job-PE4AKOHB.js +0 -7
- package/dist/job-PE4AKOHB.js.map +0 -1
- package/dist/stateful-set-LUIRHQJY.js +0 -7
- package/dist/stateful-set-LUIRHQJY.js.map +0 -1
- package/dist/units/cert-manager/index.js.map +0 -1
- package/dist/units/cluster-patch/index.js.map +0 -1
- package/dist/units/dns01-issuer/index.js.map +0 -1
- package/dist/units/existing-cluster/index.js.map +0 -1
- package/dist/units/gateway-api/index.js.map +0 -1
- package/dist/units/reduced-access-cluster/index.js.map +0 -1
package/dist/chunk-BTAEFJ5N.js
DELETED
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
import { Workload, getWorkloadServiceComponents, workloadServiceExtraArgs, filterPatchOwnedContainersInTemplate } from './chunk-SZKOAHNX.js';
|
|
2
|
-
import { Namespace, mapMetadata, getProvider } from './chunk-TOLFVF4S.js';
|
|
3
|
-
import { getOrCreate } from '@highstate/contract';
|
|
4
|
-
import { k8s } from '@highstate/library';
|
|
5
|
-
import { output, interpolate, makeEntityOutput, toPromise } from '@highstate/pulumi';
|
|
6
|
-
import { apps } from '@pulumi/kubernetes';
|
|
7
|
-
import { deepmerge } from 'deepmerge-ts';
|
|
8
|
-
import { omit } from 'remeda';
|
|
9
|
-
|
|
10
|
-
var Deployment = class _Deployment extends Workload {
|
|
11
|
-
constructor(type, name, args, opts, metadata, namespace, terminalArgs, containers, networkPolicy, service, routes, spec, status) {
|
|
12
|
-
super(
|
|
13
|
-
type,
|
|
14
|
-
name,
|
|
15
|
-
args,
|
|
16
|
-
opts,
|
|
17
|
-
metadata,
|
|
18
|
-
namespace,
|
|
19
|
-
terminalArgs,
|
|
20
|
-
containers,
|
|
21
|
-
spec.template,
|
|
22
|
-
networkPolicy,
|
|
23
|
-
service,
|
|
24
|
-
routes
|
|
25
|
-
);
|
|
26
|
-
this.spec = spec;
|
|
27
|
-
this.status = status;
|
|
28
|
-
}
|
|
29
|
-
static apiVersion = "apps/v1";
|
|
30
|
-
static kind = "Deployment";
|
|
31
|
-
get templateMetadata() {
|
|
32
|
-
return this.spec.template.metadata;
|
|
33
|
-
}
|
|
34
|
-
getTerminalMeta() {
|
|
35
|
-
return output({
|
|
36
|
-
title: "Deployment",
|
|
37
|
-
globalTitle: interpolate`Deployment | ${this.metadata.name}`,
|
|
38
|
-
description: "The shell inside the deployment.",
|
|
39
|
-
icon: "devicon:kubernetes"
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* The Highstate deployment entity.
|
|
44
|
-
*/
|
|
45
|
-
get entity() {
|
|
46
|
-
const service = this._service.apply((service2) => service2?.entity);
|
|
47
|
-
return makeEntityOutput({
|
|
48
|
-
entity: k8s.deploymentEntity,
|
|
49
|
-
identity: this.metadata.uid,
|
|
50
|
-
meta: {
|
|
51
|
-
title: this.metadata.name
|
|
52
|
-
},
|
|
53
|
-
value: {
|
|
54
|
-
...this.entityBase,
|
|
55
|
-
service,
|
|
56
|
-
spec: this.spec
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Creates a new deployment.
|
|
62
|
-
*/
|
|
63
|
-
static create(name, args, opts) {
|
|
64
|
-
return new CreatedDeployment(name, args, opts);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Creates a new deployment or patches an existing one.
|
|
68
|
-
*
|
|
69
|
-
* @param name The name of the resource. May not be the same as the deployment name.
|
|
70
|
-
* @param args The arguments to create or patch the deployment with.
|
|
71
|
-
* @param opts Optional resource options.
|
|
72
|
-
*/
|
|
73
|
-
static createOrPatch(name, args, opts) {
|
|
74
|
-
if (args.existing) {
|
|
75
|
-
return new DeploymentPatch(name, {
|
|
76
|
-
...args,
|
|
77
|
-
name: output(args.existing).metadata.name,
|
|
78
|
-
namespace: Namespace.forResourceAsync(args.existing, output(args.namespace).cluster)
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return new CreatedDeployment(name, args, opts);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Creates a new deployment or gets an existing one.
|
|
85
|
-
*
|
|
86
|
-
* @param name The name of the resource. May not be the same as the deployment name. Will not be used when existing deployment is retrieved.
|
|
87
|
-
* @param args The arguments to create or get the deployment with.
|
|
88
|
-
* @param opts Optional resource options.
|
|
89
|
-
*/
|
|
90
|
-
static async createOrGet(name, args, opts) {
|
|
91
|
-
if (args.existing) {
|
|
92
|
-
return await _Deployment.forAsync(args.existing, output(args.namespace).cluster);
|
|
93
|
-
}
|
|
94
|
-
return new CreatedDeployment(name, args, opts);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Patches an existing deployment.
|
|
98
|
-
*
|
|
99
|
-
* Will throw an error if the deployment does not exist.
|
|
100
|
-
*
|
|
101
|
-
* @param name The name of the resource. May not be the same as the deployment name.
|
|
102
|
-
* @param args The arguments to patch the deployment with.
|
|
103
|
-
* @param opts Optional resource options.
|
|
104
|
-
*/
|
|
105
|
-
static patch(name, args, opts) {
|
|
106
|
-
return new DeploymentPatch(name, args, opts);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Wraps an existing Kubernetes deployment.
|
|
110
|
-
*/
|
|
111
|
-
static wrap(name, args, opts) {
|
|
112
|
-
return new WrappedDeployment(name, args, opts);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Gets an existing deployment.
|
|
116
|
-
*
|
|
117
|
-
* Will throw an error if the deployment does not exist.
|
|
118
|
-
*/
|
|
119
|
-
static get(name, args, opts) {
|
|
120
|
-
return new ExternalDeployment(name, args, opts);
|
|
121
|
-
}
|
|
122
|
-
static deploymentCache = /* @__PURE__ */ new Map();
|
|
123
|
-
/**
|
|
124
|
-
* Gets an existing deployment for a given entity.
|
|
125
|
-
* Prefer this method over `get` when possible.
|
|
126
|
-
*
|
|
127
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
128
|
-
*
|
|
129
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
130
|
-
*
|
|
131
|
-
* @param entity The entity to get the deployment for.
|
|
132
|
-
* @param cluster The cluster where the deployment is located.
|
|
133
|
-
*/
|
|
134
|
-
static for(entity, cluster) {
|
|
135
|
-
return getOrCreate(
|
|
136
|
-
_Deployment.deploymentCache,
|
|
137
|
-
`${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,
|
|
138
|
-
(name) => {
|
|
139
|
-
return _Deployment.get(name, {
|
|
140
|
-
name: entity.metadata.name,
|
|
141
|
-
namespace: Namespace.forResource(entity, cluster)
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Gets an existing deployment for a given entity.
|
|
148
|
-
* Prefer this method over `get` when possible.
|
|
149
|
-
*
|
|
150
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
151
|
-
*
|
|
152
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
153
|
-
*
|
|
154
|
-
* @param entity The entity to get the deployment for.
|
|
155
|
-
* @param cluster The cluster where the deployment is located.
|
|
156
|
-
*/
|
|
157
|
-
static async forAsync(entity, cluster) {
|
|
158
|
-
const resolvedEntity = await toPromise(entity);
|
|
159
|
-
return _Deployment.for(resolvedEntity, cluster);
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
var CreatedDeployment = class extends Deployment {
|
|
163
|
-
constructor(name, args, opts) {
|
|
164
|
-
const { labels, podTemplate, networkPolicy, containers, service, routes } = getWorkloadServiceComponents(name, args, () => this, opts);
|
|
165
|
-
const deployment = output(args.namespace).cluster.apply((cluster) => {
|
|
166
|
-
return new apps.v1.Deployment(
|
|
167
|
-
name,
|
|
168
|
-
{
|
|
169
|
-
metadata: mapMetadata(args, name),
|
|
170
|
-
spec: output({ args, podTemplate, labels }).apply(({ args: args2, podTemplate: podTemplate2, labels: labels2 }) => {
|
|
171
|
-
return deepmerge(
|
|
172
|
-
{
|
|
173
|
-
template: podTemplate2,
|
|
174
|
-
selector: { matchLabels: labels2 }
|
|
175
|
-
},
|
|
176
|
-
omit(args2, workloadServiceExtraArgs)
|
|
177
|
-
);
|
|
178
|
-
})
|
|
179
|
-
},
|
|
180
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
181
|
-
);
|
|
182
|
-
});
|
|
183
|
-
super(
|
|
184
|
-
"highstate:k8s:Deployment",
|
|
185
|
-
name,
|
|
186
|
-
args,
|
|
187
|
-
opts,
|
|
188
|
-
deployment.metadata,
|
|
189
|
-
output(args.namespace),
|
|
190
|
-
output(args.terminal ?? {}),
|
|
191
|
-
containers,
|
|
192
|
-
networkPolicy,
|
|
193
|
-
service,
|
|
194
|
-
routes,
|
|
195
|
-
deployment.spec,
|
|
196
|
-
deployment.status
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
var DeploymentPatch = class extends Deployment {
|
|
201
|
-
constructor(name, args, opts) {
|
|
202
|
-
const { podTemplate, networkPolicy, containers, service, routes } = getWorkloadServiceComponents(name, args, () => this, opts, true);
|
|
203
|
-
const deployment = output(args.namespace).cluster.apply((cluster) => {
|
|
204
|
-
return new apps.v1.DeploymentPatch(
|
|
205
|
-
name,
|
|
206
|
-
{
|
|
207
|
-
metadata: mapMetadata(args, name),
|
|
208
|
-
spec: output({ args, podTemplate }).apply(({ args: args2, podTemplate: podTemplate2 }) => {
|
|
209
|
-
const spec = deepmerge(
|
|
210
|
-
{ template: podTemplate2 },
|
|
211
|
-
omit(args2, workloadServiceExtraArgs)
|
|
212
|
-
);
|
|
213
|
-
if (spec.template) {
|
|
214
|
-
spec.template = filterPatchOwnedContainersInTemplate(spec.template, podTemplate2);
|
|
215
|
-
}
|
|
216
|
-
return spec;
|
|
217
|
-
})
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
...opts,
|
|
221
|
-
parent: this,
|
|
222
|
-
provider: getProvider(cluster)
|
|
223
|
-
}
|
|
224
|
-
);
|
|
225
|
-
});
|
|
226
|
-
super(
|
|
227
|
-
"highstate:k8s:DeploymentPatch",
|
|
228
|
-
name,
|
|
229
|
-
args,
|
|
230
|
-
opts,
|
|
231
|
-
deployment.metadata,
|
|
232
|
-
output(args.namespace),
|
|
233
|
-
output(args.terminal ?? {}),
|
|
234
|
-
containers,
|
|
235
|
-
networkPolicy,
|
|
236
|
-
service,
|
|
237
|
-
routes,
|
|
238
|
-
deployment.spec,
|
|
239
|
-
deployment.status
|
|
240
|
-
);
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
var WrappedDeployment = class extends Deployment {
|
|
244
|
-
constructor(name, args, opts) {
|
|
245
|
-
super(
|
|
246
|
-
"highstate:k8s:WrappedDeployment",
|
|
247
|
-
name,
|
|
248
|
-
args,
|
|
249
|
-
opts,
|
|
250
|
-
output(args.deployment).metadata,
|
|
251
|
-
output(args.namespace),
|
|
252
|
-
output(args.terminal ?? {}),
|
|
253
|
-
output([]),
|
|
254
|
-
output(void 0),
|
|
255
|
-
output(void 0),
|
|
256
|
-
output([]),
|
|
257
|
-
output(args.deployment).spec,
|
|
258
|
-
output(args.deployment).status
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
|
-
};
|
|
262
|
-
var ExternalDeployment = class extends Deployment {
|
|
263
|
-
constructor(name, args, opts) {
|
|
264
|
-
const deployment = output(args.namespace).cluster.apply((cluster) => {
|
|
265
|
-
return apps.v1.Deployment.get(
|
|
266
|
-
name,
|
|
267
|
-
interpolate`${output(args.namespace).metadata.name}/${args.name}`,
|
|
268
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
269
|
-
);
|
|
270
|
-
});
|
|
271
|
-
super(
|
|
272
|
-
"highstate:k8s:ExternalDeployment",
|
|
273
|
-
name,
|
|
274
|
-
args,
|
|
275
|
-
opts,
|
|
276
|
-
deployment.metadata,
|
|
277
|
-
output(args.namespace),
|
|
278
|
-
output({}),
|
|
279
|
-
output([]),
|
|
280
|
-
output(void 0),
|
|
281
|
-
output(void 0),
|
|
282
|
-
output([]),
|
|
283
|
-
deployment.spec,
|
|
284
|
-
deployment.status
|
|
285
|
-
);
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
export { Deployment };
|
|
290
|
-
//# sourceMappingURL=chunk-BTAEFJ5N.js.map
|
|
291
|
-
//# sourceMappingURL=chunk-BTAEFJ5N.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deployment.ts"],"names":["service","args","podTemplate","labels"],"mappings":"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","file":"chunk-BTAEFJ5N.js","sourcesContent":["import type { AccessPointRoute } from \"@highstate/common\"\nimport type { Container } from \"./container\"\nimport type { NetworkPolicy } from \"./network-policy\"\nimport type { Service } from \"./service\"\nimport { getOrCreate, type UnitTerminal } from \"@highstate/contract\"\nimport { k8s } from \"@highstate/library\"\nimport {\n type ComponentResourceOptions,\n type Input,\n type Inputs,\n interpolate,\n makeEntityOutput,\n type Output,\n output,\n toPromise,\n type Unwrap,\n} from \"@highstate/pulumi\"\nimport { apps, type types } from \"@pulumi/kubernetes\"\nimport { deepmerge } from \"deepmerge-ts\"\nimport { omit } from \"remeda\"\nimport { Namespace } from \"./namespace\"\nimport { getProvider, mapMetadata } from \"./shared\"\nimport {\n filterPatchOwnedContainersInTemplate,\n getWorkloadServiceComponents,\n Workload,\n type WorkloadServiceArgs,\n type WorkloadTerminalArgs,\n workloadServiceExtraArgs,\n} from \"./workload\"\n\nexport type DeploymentArgs = Omit<WorkloadServiceArgs, \"existing\"> &\n Omit<Partial<types.input.apps.v1.DeploymentSpec>, \"template\"> & {\n template?: {\n metadata?: types.input.meta.v1.ObjectMeta\n spec?: Partial<types.input.core.v1.PodSpec>\n }\n }\n\nexport type CreateOrGetDeploymentArgs = DeploymentArgs & {\n /**\n * The entity to use to determine the deployment to patch.\n */\n existing: Input<k8s.Deployment> | undefined\n}\n\nexport abstract class Deployment extends Workload {\n static readonly apiVersion = \"apps/v1\"\n static readonly kind = \"Deployment\"\n\n protected constructor(\n type: string,\n name: string,\n args: Inputs,\n opts: ComponentResourceOptions | undefined,\n\n metadata: Output<types.output.meta.v1.ObjectMeta>,\n namespace: Output<Namespace>,\n\n terminalArgs: Output<Unwrap<WorkloadTerminalArgs>>,\n containers: Output<Container[]>,\n networkPolicy: Output<NetworkPolicy | undefined>,\n\n service: Output<Service | undefined>,\n routes: Output<AccessPointRoute[]>,\n\n /**\n * The spec of the underlying Kubernetes deployment.\n */\n readonly spec: Output<types.output.apps.v1.DeploymentSpec>,\n\n /**\n * The status of the underlying Kubernetes deployment.\n */\n readonly status: Output<types.output.apps.v1.DeploymentStatus>,\n ) {\n super(\n type,\n name,\n args,\n opts,\n metadata,\n namespace,\n terminalArgs,\n containers,\n spec.template,\n networkPolicy,\n service,\n routes,\n )\n }\n\n protected override get templateMetadata(): Output<types.output.meta.v1.ObjectMeta> {\n return this.spec.template.metadata\n }\n\n protected override getTerminalMeta(): Output<UnitTerminal[\"meta\"]> {\n return output({\n title: \"Deployment\",\n globalTitle: interpolate`Deployment | ${this.metadata.name}`,\n description: \"The shell inside the deployment.\",\n icon: \"devicon:kubernetes\",\n })\n }\n\n /**\n * The Highstate deployment entity.\n */\n get entity(): Output<k8s.Deployment> {\n const service = this._service.apply(service => service?.entity)\n\n return makeEntityOutput({\n entity: k8s.deploymentEntity,\n identity: this.metadata.uid,\n meta: {\n title: this.metadata.name,\n },\n value: {\n ...this.entityBase,\n service,\n spec: this.spec,\n },\n })\n }\n\n /**\n * Creates a new deployment.\n */\n static create(name: string, args: DeploymentArgs, opts?: ComponentResourceOptions): Deployment {\n return new CreatedDeployment(name, args, opts)\n }\n\n /**\n * Creates a new deployment or patches an existing one.\n *\n * @param name The name of the resource. May not be the same as the deployment name.\n * @param args The arguments to create or patch the deployment with.\n * @param opts Optional resource options.\n */\n static createOrPatch(\n name: string,\n args: CreateOrGetDeploymentArgs,\n opts?: ComponentResourceOptions,\n ): Deployment {\n if (args.existing) {\n return new DeploymentPatch(name, {\n ...args,\n name: output(args.existing).metadata.name,\n namespace: Namespace.forResourceAsync(args.existing, output(args.namespace).cluster),\n })\n }\n\n return new CreatedDeployment(name, args, opts)\n }\n\n /**\n * Creates a new deployment or gets an existing one.\n *\n * @param name The name of the resource. May not be the same as the deployment name. Will not be used when existing deployment is retrieved.\n * @param args The arguments to create or get the deployment with.\n * @param opts Optional resource options.\n */\n static async createOrGet(\n name: string,\n args: CreateOrGetDeploymentArgs,\n opts?: ComponentResourceOptions,\n ): Promise<Deployment> {\n if (args.existing) {\n return await Deployment.forAsync(args.existing, output(args.namespace).cluster)\n }\n\n return new CreatedDeployment(name, args, opts)\n }\n\n /**\n * Patches an existing deployment.\n *\n * Will throw an error if the deployment does not exist.\n *\n * @param name The name of the resource. May not be the same as the deployment name.\n * @param args The arguments to patch the deployment with.\n * @param opts Optional resource options.\n */\n static patch(name: string, args: DeploymentArgs, opts?: ComponentResourceOptions): Deployment {\n return new DeploymentPatch(name, args, opts)\n }\n\n /**\n * Wraps an existing Kubernetes deployment.\n */\n static wrap(\n name: string,\n args: WrappedDeploymentArgs,\n opts?: ComponentResourceOptions,\n ): Deployment {\n return new WrappedDeployment(name, args, opts)\n }\n\n /**\n * Gets an existing deployment.\n *\n * Will throw an error if the deployment does not exist.\n */\n static get(\n name: string,\n args: ExternalDeploymentArgs,\n opts?: ComponentResourceOptions,\n ): Deployment {\n return new ExternalDeployment(name, args, opts)\n }\n\n private static readonly deploymentCache = new Map<string, Deployment>()\n\n /**\n * Gets an existing deployment for a given entity.\n * Prefer this method over `get` when possible.\n *\n * It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.\n *\n * This method is idempotent and will return the same instance for the same entity.\n *\n * @param entity The entity to get the deployment for.\n * @param cluster The cluster where the deployment is located.\n */\n static for(entity: k8s.Deployment, cluster: Input<k8s.Cluster>): Deployment {\n return getOrCreate(\n Deployment.deploymentCache,\n `${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,\n name => {\n return Deployment.get(name, {\n name: entity.metadata.name,\n namespace: Namespace.forResource(entity, cluster),\n })\n },\n )\n }\n\n /**\n * Gets an existing deployment for a given entity.\n * Prefer this method over `get` when possible.\n *\n * It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.\n *\n * This method is idempotent and will return the same instance for the same entity.\n *\n * @param entity The entity to get the deployment for.\n * @param cluster The cluster where the deployment is located.\n */\n static async forAsync(\n entity: Input<k8s.Deployment>,\n cluster: Input<k8s.Cluster>,\n ): Promise<Deployment> {\n const resolvedEntity = await toPromise(entity)\n return Deployment.for(resolvedEntity, cluster)\n }\n}\n\nclass CreatedDeployment extends Deployment {\n constructor(name: string, args: DeploymentArgs, opts?: ComponentResourceOptions) {\n const { labels, podTemplate, networkPolicy, containers, service, routes } =\n getWorkloadServiceComponents(name, args, () => this, opts)\n\n const deployment = output(args.namespace).cluster.apply(cluster => {\n return new apps.v1.Deployment(\n name,\n {\n metadata: mapMetadata(args, name),\n spec: output({ args, podTemplate, labels }).apply(({ args, podTemplate, labels }) => {\n return deepmerge(\n {\n template: podTemplate,\n selector: { matchLabels: labels },\n },\n omit(args, workloadServiceExtraArgs),\n ) as types.input.apps.v1.DeploymentSpec\n }),\n },\n { ...opts, parent: this, provider: getProvider(cluster) },\n )\n })\n\n super(\n \"highstate:k8s:Deployment\",\n name,\n args,\n opts,\n\n deployment.metadata,\n output(args.namespace),\n\n output(args.terminal ?? {}),\n containers,\n\n networkPolicy,\n service,\n routes,\n\n deployment.spec,\n deployment.status,\n )\n }\n}\n\nclass DeploymentPatch extends Deployment {\n constructor(name: string, args: DeploymentArgs, opts?: ComponentResourceOptions) {\n const { podTemplate, networkPolicy, containers, service, routes } =\n getWorkloadServiceComponents(name, args, () => this, opts, true)\n\n const deployment = output(args.namespace).cluster.apply(cluster => {\n return new apps.v1.DeploymentPatch(\n name,\n {\n metadata: mapMetadata(args, name),\n spec: output({ args, podTemplate }).apply(({ args, podTemplate }) => {\n const spec = deepmerge(\n { template: podTemplate },\n omit(args, workloadServiceExtraArgs),\n ) as Unwrap<types.input.apps.v1.DeploymentSpec>\n\n if (spec.template) {\n spec.template = filterPatchOwnedContainersInTemplate(spec.template, podTemplate)\n }\n\n return spec\n }),\n },\n {\n ...opts,\n parent: this,\n provider: getProvider(cluster),\n },\n )\n })\n\n super(\n \"highstate:k8s:DeploymentPatch\",\n name,\n args,\n opts,\n\n deployment.metadata,\n output(args.namespace),\n output(args.terminal ?? {}),\n containers,\n networkPolicy,\n\n service,\n routes,\n\n deployment.spec,\n deployment.status,\n )\n }\n}\n\nexport type WrappedDeploymentArgs = {\n /**\n * The underlying Kubernetes deployment to wrap.\n */\n deployment: Input<apps.v1.Deployment>\n\n /**\n * The namespace where the deployment is located.\n */\n namespace: Input<Namespace>\n\n /**\n * The args for the terminal to use.\n */\n terminal?: Input<WorkloadTerminalArgs>\n}\n\nclass WrappedDeployment extends Deployment {\n constructor(name: string, args: WrappedDeploymentArgs, opts?: ComponentResourceOptions) {\n super(\n \"highstate:k8s:WrappedDeployment\",\n name,\n args,\n opts,\n\n output(args.deployment).metadata,\n output(args.namespace),\n output(args.terminal ?? {}),\n output([]),\n\n output(undefined),\n output(undefined),\n output([]),\n\n output(args.deployment).spec,\n output(args.deployment).status,\n )\n }\n}\n\nexport type ExternalDeploymentArgs = {\n /**\n * The name of the deployment to get.\n */\n name: Input<string>\n\n /**\n * The namespace where the deployment is located.\n */\n namespace: Input<Namespace>\n}\n\nclass ExternalDeployment extends Deployment {\n constructor(name: string, args: ExternalDeploymentArgs, opts?: ComponentResourceOptions) {\n const deployment = output(args.namespace).cluster.apply(cluster => {\n return apps.v1.Deployment.get(\n name,\n interpolate`${output(args.namespace).metadata.name}/${args.name}`,\n { ...opts, parent: this, provider: getProvider(cluster) },\n )\n })\n\n super(\n \"highstate:k8s:ExternalDeployment\",\n name,\n args,\n opts,\n\n deployment.metadata,\n output(args.namespace),\n output({}),\n output([]),\n\n output(undefined),\n output(undefined),\n output([]),\n\n deployment.spec,\n deployment.status,\n )\n }\n}\n"]}
|
package/dist/chunk-HH2JJELM.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ImplementationMediator } from '@highstate/common';
|
|
2
|
-
import { z } from '@highstate/contract';
|
|
3
|
-
|
|
4
|
-
// src/dns01-solver.ts
|
|
5
|
-
var dns01SolverMediator = new ImplementationMediator(
|
|
6
|
-
"dns01-solver",
|
|
7
|
-
z.object({ namespace: z.custom() }),
|
|
8
|
-
z.custom()
|
|
9
|
-
);
|
|
10
|
-
|
|
11
|
-
export { dns01SolverMediator };
|
|
12
|
-
//# sourceMappingURL=chunk-HH2JJELM.js.map
|
|
13
|
-
//# sourceMappingURL=chunk-HH2JJELM.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dns01-solver.ts"],"names":[],"mappings":";;;;AAKO,IAAM,sBAAsB,IAAI,sBAAA;AAAA,EACrC,cAAA;AAAA,EACA,EAAE,MAAA,CAAO,EAAE,WAAW,CAAA,CAAE,MAAA,IAAqB,CAAA;AAAA,EAC7C,EAAE,MAAA;AACJ","file":"chunk-HH2JJELM.js","sourcesContent":["import type { types } from \"@highstate/cert-manager\"\nimport type { Namespace } from \"./namespace\"\nimport { ImplementationMediator } from \"@highstate/common\"\nimport { z } from \"@highstate/contract\"\n\nexport const dns01SolverMediator = new ImplementationMediator(\n \"dns01-solver\",\n z.object({ namespace: z.custom<Namespace>() }),\n z.custom<types.input.cert_manager.v1.ClusterIssuerSpecAcmeSolversDns01>(),\n)\n"]}
|
package/dist/chunk-IXE3OKB4.js
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { NamespacedResource, Secret, Namespace, commonExtraArgs, getProvider, mapMetadata } from './chunk-TOLFVF4S.js';
|
|
2
|
-
import { cert_manager } from '@highstate/cert-manager';
|
|
3
|
-
import { getOrCreate } from '@highstate/contract';
|
|
4
|
-
import { k8s } from '@highstate/library';
|
|
5
|
-
import { makeEntityOutput, output, toPromise, interpolate } from '@highstate/pulumi';
|
|
6
|
-
import { omit } from 'remeda';
|
|
7
|
-
|
|
8
|
-
var certManagerCertificateWaitFor = "condition=Ready";
|
|
9
|
-
function mapCertificateMetadata(args, fallbackName) {
|
|
10
|
-
return mapMetadata(args, fallbackName).apply((metadata) => ({
|
|
11
|
-
...metadata,
|
|
12
|
-
annotations: {
|
|
13
|
-
...metadata.annotations,
|
|
14
|
-
"pulumi.com/waitFor": metadata.annotations?.["pulumi.com/waitFor"] ?? certManagerCertificateWaitFor
|
|
15
|
-
}
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
var Certificate = class _Certificate extends NamespacedResource {
|
|
19
|
-
constructor(type, name, args, opts, metadata, namespace, spec, status) {
|
|
20
|
-
super(type, name, args, opts, metadata, namespace);
|
|
21
|
-
this.name = name;
|
|
22
|
-
this.spec = spec;
|
|
23
|
-
this.status = status;
|
|
24
|
-
}
|
|
25
|
-
static apiVersion = "cert-manager.io/v1";
|
|
26
|
-
static kind = "Certificate";
|
|
27
|
-
_secret;
|
|
28
|
-
/**
|
|
29
|
-
* The Highstate certificate entity.
|
|
30
|
-
*/
|
|
31
|
-
get entity() {
|
|
32
|
-
return makeEntityOutput({
|
|
33
|
-
entity: k8s.certificateEntity,
|
|
34
|
-
identity: this.metadata.uid,
|
|
35
|
-
meta: {
|
|
36
|
-
title: this.metadata.name
|
|
37
|
-
},
|
|
38
|
-
value: {
|
|
39
|
-
...this.entityBase
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* The secret containing the certificate data.
|
|
45
|
-
*/
|
|
46
|
-
get secret() {
|
|
47
|
-
if (this._secret) {
|
|
48
|
-
return this._secret;
|
|
49
|
-
}
|
|
50
|
-
this._secret = output({
|
|
51
|
-
secretName: this.spec.apply((spec) => spec.secretName),
|
|
52
|
-
namespace: this.namespace
|
|
53
|
-
}).apply(({ secretName, namespace }) => {
|
|
54
|
-
return Secret.get(`${this.name}.secret`, {
|
|
55
|
-
name: secretName,
|
|
56
|
-
namespace
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
return this._secret;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Creates a new certificate.
|
|
63
|
-
*/
|
|
64
|
-
static create(name, args, opts) {
|
|
65
|
-
return new CreatedCertificate(name, args, opts);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Creates a new certificate or patches an existing one.
|
|
69
|
-
*
|
|
70
|
-
* @param name The name of the resource. May not be the same as the certificate name.
|
|
71
|
-
* @param args The arguments to create or patch the certificate with.
|
|
72
|
-
* @param opts Optional resource options.
|
|
73
|
-
*/
|
|
74
|
-
static createOrPatch(name, args, opts) {
|
|
75
|
-
if (args.existing) {
|
|
76
|
-
return new CertificatePatch(name, {
|
|
77
|
-
...args,
|
|
78
|
-
name: output(args.existing).metadata.name,
|
|
79
|
-
namespace: Namespace.forResourceAsync(args.existing, output(args.namespace).cluster)
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
return new CreatedCertificate(name, args, opts);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Creates a new certificate or gets an existing one.
|
|
86
|
-
*
|
|
87
|
-
* @param name The name of the resource. May not be the same as the certificate name. Will not be used when existing certificate is retrieved.
|
|
88
|
-
* @param args The arguments to create or get the certificate with.
|
|
89
|
-
* @param opts Optional resource options.
|
|
90
|
-
*/
|
|
91
|
-
static async createOrGet(name, args, opts) {
|
|
92
|
-
if (args.existing) {
|
|
93
|
-
return await _Certificate.forAsync(args.existing, output(args.namespace).cluster);
|
|
94
|
-
}
|
|
95
|
-
return new CreatedCertificate(name, args, opts);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Patches an existing certificate.
|
|
99
|
-
*
|
|
100
|
-
* Will throw an error if the certificate does not exist.
|
|
101
|
-
*
|
|
102
|
-
* @param name The name of the resource. May not be the same as the certificate name.
|
|
103
|
-
* @param args The arguments to patch the certificate with.
|
|
104
|
-
* @param opts Optional resource options.
|
|
105
|
-
*/
|
|
106
|
-
static patch(name, args, opts) {
|
|
107
|
-
return new CertificatePatch(name, args, opts);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Wraps an existing cert-manager certificate.
|
|
111
|
-
*/
|
|
112
|
-
static wrap(name, args, opts) {
|
|
113
|
-
return new WrappedCertificate(name, args, opts);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Gets an existing certificate.
|
|
117
|
-
*
|
|
118
|
-
* Will throw an error if the certificate does not exist.
|
|
119
|
-
*/
|
|
120
|
-
static get(name, args, opts) {
|
|
121
|
-
return new ExternalCertificate(name, args, opts);
|
|
122
|
-
}
|
|
123
|
-
static certificateCache = /* @__PURE__ */ new Map();
|
|
124
|
-
/**
|
|
125
|
-
* Gets an existing certificate for a given entity.
|
|
126
|
-
* Prefer this method over `get` when possible.
|
|
127
|
-
*
|
|
128
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
129
|
-
*
|
|
130
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
131
|
-
*
|
|
132
|
-
* @param entity The entity to get the certificate for.
|
|
133
|
-
* @param cluster The cluster where the certificate is located.
|
|
134
|
-
*/
|
|
135
|
-
static for(entity, cluster) {
|
|
136
|
-
return getOrCreate(
|
|
137
|
-
_Certificate.certificateCache,
|
|
138
|
-
`${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,
|
|
139
|
-
(name) => {
|
|
140
|
-
return _Certificate.get(name, {
|
|
141
|
-
name: entity.metadata.name,
|
|
142
|
-
namespace: Namespace.forResourceAsync(entity, cluster)
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Gets an existing certificate for a given entity.
|
|
149
|
-
* Prefer this method over `get` when possible.
|
|
150
|
-
*
|
|
151
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
152
|
-
*
|
|
153
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
154
|
-
*
|
|
155
|
-
* @param entity The entity to get the certificate for.
|
|
156
|
-
* @param cluster The cluster where the certificate is located.
|
|
157
|
-
*/
|
|
158
|
-
static async forAsync(entity, cluster) {
|
|
159
|
-
const resolvedEntity = await toPromise(entity);
|
|
160
|
-
return _Certificate.for(resolvedEntity, output(cluster));
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
var CreatedCertificate = class extends Certificate {
|
|
164
|
-
constructor(name, args, opts) {
|
|
165
|
-
const certificate = output(args.namespace).cluster.apply((cluster) => {
|
|
166
|
-
return new cert_manager.v1.Certificate(
|
|
167
|
-
name,
|
|
168
|
-
{
|
|
169
|
-
metadata: mapCertificateMetadata(args, name),
|
|
170
|
-
spec: omit(args, commonExtraArgs)
|
|
171
|
-
},
|
|
172
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
173
|
-
);
|
|
174
|
-
});
|
|
175
|
-
super(
|
|
176
|
-
"highstate:k8s:Certificate",
|
|
177
|
-
name,
|
|
178
|
-
args,
|
|
179
|
-
opts,
|
|
180
|
-
certificate.metadata,
|
|
181
|
-
output(args.namespace),
|
|
182
|
-
certificate.spec,
|
|
183
|
-
certificate.status
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
var CertificatePatch = class extends Certificate {
|
|
188
|
-
constructor(name, args, opts) {
|
|
189
|
-
const certificate = output(args.namespace).cluster.apply((cluster) => {
|
|
190
|
-
return new cert_manager.v1.CertificatePatch(
|
|
191
|
-
name,
|
|
192
|
-
{
|
|
193
|
-
metadata: mapCertificateMetadata(args, name),
|
|
194
|
-
spec: omit(args, commonExtraArgs)
|
|
195
|
-
},
|
|
196
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
197
|
-
);
|
|
198
|
-
});
|
|
199
|
-
super(
|
|
200
|
-
"highstate:k8s:CertificatePatch",
|
|
201
|
-
name,
|
|
202
|
-
args,
|
|
203
|
-
opts,
|
|
204
|
-
certificate.metadata,
|
|
205
|
-
output(args.namespace),
|
|
206
|
-
certificate.spec,
|
|
207
|
-
certificate.status
|
|
208
|
-
);
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
var WrappedCertificate = class extends Certificate {
|
|
212
|
-
constructor(name, args, opts) {
|
|
213
|
-
super(
|
|
214
|
-
"highstate:k8s:WrappedCertificate",
|
|
215
|
-
name,
|
|
216
|
-
args,
|
|
217
|
-
opts,
|
|
218
|
-
output(args.certificate).metadata,
|
|
219
|
-
output(args.namespace),
|
|
220
|
-
output(args.certificate).spec,
|
|
221
|
-
output(args.certificate).status
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
var ExternalCertificate = class extends Certificate {
|
|
226
|
-
constructor(name, args, opts) {
|
|
227
|
-
const certificate = output(args.namespace).cluster.apply((cluster) => {
|
|
228
|
-
return cert_manager.v1.Certificate.get(
|
|
229
|
-
name,
|
|
230
|
-
interpolate`${output(args.namespace).metadata.name}/${args.name}`,
|
|
231
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
232
|
-
);
|
|
233
|
-
});
|
|
234
|
-
super(
|
|
235
|
-
"highstate:k8s:ExternalCertificate",
|
|
236
|
-
name,
|
|
237
|
-
args,
|
|
238
|
-
opts,
|
|
239
|
-
certificate.metadata,
|
|
240
|
-
output(args.namespace),
|
|
241
|
-
certificate.spec,
|
|
242
|
-
certificate.status
|
|
243
|
-
);
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
export { Certificate };
|
|
248
|
-
//# sourceMappingURL=chunk-IXE3OKB4.js.map
|
|
249
|
-
//# sourceMappingURL=chunk-IXE3OKB4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tls.ts"],"names":[],"mappings":"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","file":"chunk-IXE3OKB4.js","sourcesContent":["import type { types } from \"@pulumi/kubernetes\"\nimport { cert_manager, type types as cmTypes } from \"@highstate/cert-manager\"\nimport { getOrCreate } from \"@highstate/contract\"\nimport { k8s } from \"@highstate/library\"\nimport {\n type ComponentResourceOptions,\n type Input,\n type Inputs,\n interpolate,\n makeEntityOutput,\n type Output,\n output,\n toPromise,\n} from \"@highstate/pulumi\"\nimport { omit } from \"remeda\"\nimport { Namespace } from \"./namespace\"\nimport { Secret } from \"./secret\"\nimport {\n commonExtraArgs,\n getProvider,\n mapMetadata,\n NamespacedResource,\n type ScopedResourceArgs,\n} from \"./shared\"\n\nexport type CertificateArgs = ScopedResourceArgs & cmTypes.input.cert_manager.v1.CertificateSpec\n\nexport type CreateOrGetCertificateArgs = CertificateArgs & {\n /**\n * The certificate entity to patch/retrieve.\n */\n existing: Input<k8s.Certificate> | undefined\n}\n\nconst certManagerCertificateWaitFor = \"condition=Ready\"\n\nfunction mapCertificateMetadata(\n args: CertificateArgs,\n fallbackName: string,\n): Output<types.input.meta.v1.ObjectMeta> {\n return mapMetadata(args, fallbackName).apply(metadata => ({\n ...metadata,\n annotations: {\n ...metadata.annotations,\n \"pulumi.com/waitFor\":\n metadata.annotations?.[\"pulumi.com/waitFor\"] ?? certManagerCertificateWaitFor,\n },\n }))\n}\n\n/**\n * Represents a cert-manager Certificate resource with metadata and secret.\n */\nexport abstract class Certificate extends NamespacedResource {\n static readonly apiVersion = \"cert-manager.io/v1\"\n static readonly kind = \"Certificate\"\n\n private _secret?: Output<Secret>\n\n protected constructor(\n type: string,\n private readonly name: string,\n args: Inputs,\n opts: ComponentResourceOptions | undefined,\n\n metadata: Output<types.output.meta.v1.ObjectMeta>,\n namespace: Output<Namespace>,\n\n /**\n * The spec of the underlying cert-manager certificate.\n */\n readonly spec: Output<cmTypes.output.cert_manager.v1.CertificateSpec>,\n\n /**\n * The status of the underlying cert-manager certificate.\n */\n readonly status: Output<cmTypes.output.cert_manager.v1.CertificateStatus>,\n ) {\n super(type, name, args, opts, metadata, namespace)\n }\n\n /**\n * The Highstate certificate entity.\n */\n get entity(): Output<k8s.Certificate> {\n return makeEntityOutput({\n entity: k8s.certificateEntity,\n identity: this.metadata.uid,\n meta: {\n title: this.metadata.name,\n },\n value: {\n ...this.entityBase,\n },\n })\n }\n\n /**\n * The secret containing the certificate data.\n */\n get secret(): Output<Secret> {\n if (this._secret) {\n return this._secret\n }\n\n this._secret = output({\n secretName: this.spec.apply(spec => spec.secretName),\n namespace: this.namespace,\n }).apply(({ secretName, namespace }) => {\n return Secret.get(`${this.name}.secret`, {\n name: secretName,\n namespace,\n })\n })\n\n return this._secret\n }\n\n /**\n * Creates a new certificate.\n */\n static create(name: string, args: CertificateArgs, opts?: ComponentResourceOptions): Certificate {\n return new CreatedCertificate(name, args, opts)\n }\n\n /**\n * Creates a new certificate or patches an existing one.\n *\n * @param name The name of the resource. May not be the same as the certificate name.\n * @param args The arguments to create or patch the certificate with.\n * @param opts Optional resource options.\n */\n static createOrPatch(\n name: string,\n args: CreateOrGetCertificateArgs,\n opts?: ComponentResourceOptions,\n ): Certificate {\n if (args.existing) {\n return new CertificatePatch(name, {\n ...args,\n name: output(args.existing).metadata.name,\n namespace: Namespace.forResourceAsync(args.existing, output(args.namespace).cluster),\n })\n }\n\n return new CreatedCertificate(name, args, opts)\n }\n\n /**\n * Creates a new certificate or gets an existing one.\n *\n * @param name The name of the resource. May not be the same as the certificate name. Will not be used when existing certificate is retrieved.\n * @param args The arguments to create or get the certificate with.\n * @param opts Optional resource options.\n */\n static async createOrGet(\n name: string,\n args: CreateOrGetCertificateArgs,\n opts?: ComponentResourceOptions,\n ): Promise<Certificate> {\n if (args.existing) {\n return await Certificate.forAsync(args.existing, output(args.namespace).cluster)\n }\n\n return new CreatedCertificate(name, args, opts)\n }\n\n /**\n * Patches an existing certificate.\n *\n * Will throw an error if the certificate does not exist.\n *\n * @param name The name of the resource. May not be the same as the certificate name.\n * @param args The arguments to patch the certificate with.\n * @param opts Optional resource options.\n */\n static patch(name: string, args: CertificateArgs, opts?: ComponentResourceOptions): Certificate {\n return new CertificatePatch(name, args, opts)\n }\n\n /**\n * Wraps an existing cert-manager certificate.\n */\n static wrap(\n name: string,\n args: WrappedCertificateArgs,\n opts?: ComponentResourceOptions,\n ): Certificate {\n return new WrappedCertificate(name, args, opts)\n }\n\n /**\n * Gets an existing certificate.\n *\n * Will throw an error if the certificate does not exist.\n */\n static get(\n name: string,\n args: ExternalCertificateArgs,\n opts?: ComponentResourceOptions,\n ): Certificate {\n return new ExternalCertificate(name, args, opts)\n }\n\n private static readonly certificateCache = new Map<string, Certificate>()\n\n /**\n * Gets an existing certificate for a given entity.\n * Prefer this method over `get` when possible.\n *\n * It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.\n *\n * This method is idempotent and will return the same instance for the same entity.\n *\n * @param entity The entity to get the certificate for.\n * @param cluster The cluster where the certificate is located.\n */\n static for(entity: k8s.Certificate, cluster: Input<k8s.Cluster>): Certificate {\n return getOrCreate(\n Certificate.certificateCache,\n `${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,\n name => {\n return Certificate.get(name, {\n name: entity.metadata.name,\n namespace: Namespace.forResourceAsync(entity, cluster),\n })\n },\n )\n }\n\n /**\n * Gets an existing certificate for a given entity.\n * Prefer this method over `get` when possible.\n *\n * It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.\n *\n * This method is idempotent and will return the same instance for the same entity.\n *\n * @param entity The entity to get the certificate for.\n * @param cluster The cluster where the certificate is located.\n */\n static async forAsync(\n entity: Input<k8s.Certificate>,\n cluster: Input<k8s.Cluster>,\n ): Promise<Certificate> {\n const resolvedEntity = await toPromise(entity)\n return Certificate.for(resolvedEntity, output(cluster))\n }\n}\n\nclass CreatedCertificate extends Certificate {\n constructor(name: string, args: CertificateArgs, opts?: ComponentResourceOptions) {\n const certificate = output(args.namespace).cluster.apply(cluster => {\n return new cert_manager.v1.Certificate(\n name,\n {\n metadata: mapCertificateMetadata(args, name),\n spec: omit(args, commonExtraArgs),\n },\n { ...opts, parent: this, provider: getProvider(cluster) },\n )\n })\n\n super(\n \"highstate:k8s:Certificate\",\n name,\n args,\n opts,\n\n certificate.metadata as Output<types.output.meta.v1.ObjectMeta>,\n output(args.namespace),\n certificate.spec,\n certificate.status,\n )\n }\n}\n\nclass CertificatePatch extends Certificate {\n constructor(name: string, args: CertificateArgs, opts?: ComponentResourceOptions) {\n const certificate = output(args.namespace).cluster.apply(cluster => {\n return new cert_manager.v1.CertificatePatch(\n name,\n {\n metadata: mapCertificateMetadata(args, name),\n spec: omit(args, commonExtraArgs),\n },\n { ...opts, parent: this, provider: getProvider(cluster) },\n )\n })\n\n super(\n \"highstate:k8s:CertificatePatch\",\n name,\n args,\n opts,\n\n certificate.metadata as Output<types.output.meta.v1.ObjectMeta>,\n output(args.namespace),\n certificate.spec,\n certificate.status,\n )\n }\n}\n\nexport type WrappedCertificateArgs = {\n /**\n * The underlying cert-manager certificate to wrap.\n */\n certificate: Input<cert_manager.v1.Certificate>\n\n /**\n * The namespace where the certificate is located.\n */\n namespace: Input<Namespace>\n}\n\nclass WrappedCertificate extends Certificate {\n constructor(name: string, args: WrappedCertificateArgs, opts?: ComponentResourceOptions) {\n super(\n \"highstate:k8s:WrappedCertificate\",\n name,\n args,\n opts,\n\n output(args.certificate).metadata as Output<types.output.meta.v1.ObjectMeta>,\n output(args.namespace),\n output(args.certificate).spec,\n output(args.certificate).status,\n )\n }\n}\n\nexport type ExternalCertificateArgs = {\n /**\n * The name of the certificate to get.\n */\n name: Input<string>\n\n /**\n * The namespace of the certificate to get.\n */\n namespace: Input<Namespace>\n}\n\nclass ExternalCertificate extends Certificate {\n constructor(name: string, args: ExternalCertificateArgs, opts?: ComponentResourceOptions) {\n const certificate = output(args.namespace).cluster.apply(cluster => {\n return cert_manager.v1.Certificate.get(\n name,\n interpolate`${output(args.namespace).metadata.name}/${args.name}`,\n { ...opts, parent: this, provider: getProvider(cluster) },\n )\n })\n\n super(\n \"highstate:k8s:ExternalCertificate\",\n name,\n args,\n opts,\n\n certificate.metadata as Output<types.output.meta.v1.ObjectMeta>,\n output(args.namespace),\n certificate.spec,\n certificate.status,\n )\n }\n}\n"]}
|