@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-PG27ZY2H.js
DELETED
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
import { Workload, getWorkloadComponents, filterPatchOwnedContainersInTemplate } from './chunk-SZKOAHNX.js';
|
|
2
|
-
import { commonExtraArgs, Namespace, mapMetadata, getProvider } from './chunk-TOLFVF4S.js';
|
|
3
|
-
import { getOrCreate } from '@highstate/contract';
|
|
4
|
-
import { k8s } from '@highstate/library';
|
|
5
|
-
import { makeEntityOutput, output, interpolate, toPromise } from '@highstate/pulumi';
|
|
6
|
-
import { batch } from '@pulumi/kubernetes';
|
|
7
|
-
import { deepmerge } from 'deepmerge-ts';
|
|
8
|
-
import { omit } from 'remeda';
|
|
9
|
-
|
|
10
|
-
var CronJob = class _CronJob extends Workload {
|
|
11
|
-
constructor(type, name, args, opts, metadata, namespace, terminalArgs, containers, networkPolicy, spec, status) {
|
|
12
|
-
super(
|
|
13
|
-
type,
|
|
14
|
-
name,
|
|
15
|
-
args,
|
|
16
|
-
opts,
|
|
17
|
-
metadata,
|
|
18
|
-
namespace,
|
|
19
|
-
terminalArgs,
|
|
20
|
-
containers,
|
|
21
|
-
spec.jobTemplate.spec.template,
|
|
22
|
-
networkPolicy
|
|
23
|
-
);
|
|
24
|
-
this.spec = spec;
|
|
25
|
-
this.status = status;
|
|
26
|
-
}
|
|
27
|
-
static apiVersion = "batch/v1";
|
|
28
|
-
static kind = "CronJob";
|
|
29
|
-
get templateMetadata() {
|
|
30
|
-
return this.spec.jobTemplate.spec.template.metadata;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* The Highstate cron job entity.
|
|
34
|
-
*/
|
|
35
|
-
get entity() {
|
|
36
|
-
return makeEntityOutput({
|
|
37
|
-
entity: k8s.cronJobEntity,
|
|
38
|
-
identity: this.metadata.uid,
|
|
39
|
-
meta: {
|
|
40
|
-
title: this.metadata.name
|
|
41
|
-
},
|
|
42
|
-
value: {
|
|
43
|
-
...this.entityBase,
|
|
44
|
-
spec: this.spec.jobTemplate.spec
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
getTerminalMeta() {
|
|
49
|
-
return output({
|
|
50
|
-
title: "CronJob",
|
|
51
|
-
globalTitle: interpolate`CronJob | ${this.metadata.name}`,
|
|
52
|
-
description: "The shell inside the cron job.",
|
|
53
|
-
icon: "devicon:kubernetes"
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
get resourceType() {
|
|
57
|
-
return "cronjob";
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Creates a new cron job.
|
|
61
|
-
*/
|
|
62
|
-
static create(name, args, opts) {
|
|
63
|
-
return new CreatedCronJob(name, args, opts);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Creates a new cron job or patches an existing one.
|
|
67
|
-
*
|
|
68
|
-
* @param name The name of the resource. May not be the same as the cron job name.
|
|
69
|
-
* @param args The arguments to create or patch the cron job with.
|
|
70
|
-
* @param opts Optional resource options.
|
|
71
|
-
*/
|
|
72
|
-
static createOrPatch(name, args, opts) {
|
|
73
|
-
if (args.existing) {
|
|
74
|
-
return new CronJobPatch(name, {
|
|
75
|
-
...args,
|
|
76
|
-
name: output(args.existing).metadata.name,
|
|
77
|
-
namespace: Namespace.forResourceAsync(args.existing, output(args.namespace).cluster)
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
return new CreatedCronJob(name, args, opts);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Creates a new cron job or gets an existing one.
|
|
84
|
-
*
|
|
85
|
-
* @param name The name of the resource. May not be the same as the cron job name. Will not be used when existing cron job is retrieved.
|
|
86
|
-
* @param args The arguments to create or get the cron job with.
|
|
87
|
-
* @param opts Optional resource options.
|
|
88
|
-
*/
|
|
89
|
-
static async createOrGet(name, args, opts) {
|
|
90
|
-
if (args.existing) {
|
|
91
|
-
return await _CronJob.forAsync(args.existing, output(args.namespace).cluster);
|
|
92
|
-
}
|
|
93
|
-
return new CreatedCronJob(name, args, opts);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Patches an existing cron job.
|
|
97
|
-
*
|
|
98
|
-
* Will throw an error if the cron job does not exist.
|
|
99
|
-
*
|
|
100
|
-
* @param name The name of the resource. May not be the same as the cron job name.
|
|
101
|
-
* @param args The arguments to patch the cron job with.
|
|
102
|
-
* @param opts Optional resource options.
|
|
103
|
-
*/
|
|
104
|
-
static patch(name, args, opts) {
|
|
105
|
-
return new CronJobPatch(name, args, opts);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Wraps an existing Kubernetes cron job.
|
|
109
|
-
*/
|
|
110
|
-
static wrap(name, args, opts) {
|
|
111
|
-
return new WrappedCronJob(name, args, opts);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Gets an existing cron job.
|
|
115
|
-
*
|
|
116
|
-
* Will throw an error if the cron job does not exist.
|
|
117
|
-
*/
|
|
118
|
-
static get(name, args, opts) {
|
|
119
|
-
return new ExternalCronJob(name, args, opts);
|
|
120
|
-
}
|
|
121
|
-
static cronJobCache = /* @__PURE__ */ new Map();
|
|
122
|
-
/**
|
|
123
|
-
* Gets an existing cron job for a given entity.
|
|
124
|
-
* Prefer this method over `get` when possible.
|
|
125
|
-
*
|
|
126
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
127
|
-
*
|
|
128
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
129
|
-
*
|
|
130
|
-
* @param entity The entity to get the cron job for.
|
|
131
|
-
* @param cluster The cluster where the cron job is located.
|
|
132
|
-
*/
|
|
133
|
-
static for(entity, cluster) {
|
|
134
|
-
return getOrCreate(
|
|
135
|
-
_CronJob.cronJobCache,
|
|
136
|
-
`${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,
|
|
137
|
-
(name) => {
|
|
138
|
-
return _CronJob.get(name, {
|
|
139
|
-
name: entity.metadata.name,
|
|
140
|
-
namespace: Namespace.forResource(entity, cluster)
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Gets an existing cron job for a given entity.
|
|
147
|
-
* Prefer this method over `get` when possible.
|
|
148
|
-
*
|
|
149
|
-
* It automatically names the resource with the following format: `{clusterName}.{namespace}.{name}.{clusterId}`.
|
|
150
|
-
*
|
|
151
|
-
* This method is idempotent and will return the same instance for the same entity.
|
|
152
|
-
*
|
|
153
|
-
* @param entity The entity to get the cron job for.
|
|
154
|
-
* @param cluster The cluster where the cron job is located.
|
|
155
|
-
*/
|
|
156
|
-
static async forAsync(entity, cluster) {
|
|
157
|
-
const resolvedEntity = await toPromise(entity);
|
|
158
|
-
return _CronJob.for(resolvedEntity, cluster);
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
var cronJobExtraArgs = [...commonExtraArgs, "container", "containers"];
|
|
162
|
-
var CreatedCronJob = class extends CronJob {
|
|
163
|
-
constructor(name, args, opts) {
|
|
164
|
-
const { podTemplate, containers, networkPolicy } = getWorkloadComponents(
|
|
165
|
-
name,
|
|
166
|
-
args,
|
|
167
|
-
() => this,
|
|
168
|
-
opts
|
|
169
|
-
);
|
|
170
|
-
const cronJob = output(args.namespace).cluster.apply((cluster) => {
|
|
171
|
-
return new batch.v1.CronJob(
|
|
172
|
-
name,
|
|
173
|
-
{
|
|
174
|
-
metadata: mapMetadata(args, name),
|
|
175
|
-
spec: output({ args, podTemplate }).apply(({ args: args2, podTemplate: podTemplate2 }) => {
|
|
176
|
-
return deepmerge(
|
|
177
|
-
{
|
|
178
|
-
jobTemplate: {
|
|
179
|
-
spec: {
|
|
180
|
-
template: deepmerge(
|
|
181
|
-
{
|
|
182
|
-
spec: {
|
|
183
|
-
restartPolicy: "Never"
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
podTemplate2
|
|
187
|
-
)
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
schedule: args2.schedule
|
|
191
|
-
},
|
|
192
|
-
omit(args2, cronJobExtraArgs)
|
|
193
|
-
);
|
|
194
|
-
})
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
...opts,
|
|
198
|
-
parent: this,
|
|
199
|
-
provider: getProvider(cluster)
|
|
200
|
-
}
|
|
201
|
-
);
|
|
202
|
-
});
|
|
203
|
-
super(
|
|
204
|
-
"highstate:k8s:CronJob",
|
|
205
|
-
name,
|
|
206
|
-
args,
|
|
207
|
-
opts,
|
|
208
|
-
cronJob.metadata,
|
|
209
|
-
output(args.namespace),
|
|
210
|
-
output(args.terminal ?? {}),
|
|
211
|
-
containers,
|
|
212
|
-
networkPolicy,
|
|
213
|
-
cronJob.spec,
|
|
214
|
-
cronJob.status
|
|
215
|
-
);
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
var CronJobPatch = class extends CronJob {
|
|
219
|
-
constructor(name, args, opts) {
|
|
220
|
-
const { podTemplate, containers, networkPolicy } = getWorkloadComponents(
|
|
221
|
-
name,
|
|
222
|
-
args,
|
|
223
|
-
() => this,
|
|
224
|
-
opts,
|
|
225
|
-
true
|
|
226
|
-
);
|
|
227
|
-
const cronJob = output(args.namespace).cluster.apply((cluster) => {
|
|
228
|
-
return new batch.v1.CronJobPatch(
|
|
229
|
-
name,
|
|
230
|
-
{
|
|
231
|
-
metadata: mapMetadata(args, name),
|
|
232
|
-
spec: output({ args, podTemplate }).apply(({ args: args2, podTemplate: podTemplate2 }) => {
|
|
233
|
-
const spec = deepmerge(
|
|
234
|
-
{
|
|
235
|
-
jobTemplate: {
|
|
236
|
-
spec: {
|
|
237
|
-
template: podTemplate2
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
schedule: args2.schedule
|
|
241
|
-
},
|
|
242
|
-
omit(args2, cronJobExtraArgs)
|
|
243
|
-
);
|
|
244
|
-
if (spec.jobTemplate?.spec?.template) {
|
|
245
|
-
spec.jobTemplate.spec.template = filterPatchOwnedContainersInTemplate(
|
|
246
|
-
spec.jobTemplate.spec.template,
|
|
247
|
-
podTemplate2
|
|
248
|
-
);
|
|
249
|
-
}
|
|
250
|
-
return spec;
|
|
251
|
-
})
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
...opts,
|
|
255
|
-
parent: this,
|
|
256
|
-
provider: getProvider(cluster)
|
|
257
|
-
}
|
|
258
|
-
);
|
|
259
|
-
});
|
|
260
|
-
super(
|
|
261
|
-
"highstate:k8s:CronJobPatch",
|
|
262
|
-
name,
|
|
263
|
-
args,
|
|
264
|
-
opts,
|
|
265
|
-
cronJob.metadata,
|
|
266
|
-
output(args.namespace),
|
|
267
|
-
output(args.terminal ?? {}),
|
|
268
|
-
containers,
|
|
269
|
-
networkPolicy,
|
|
270
|
-
cronJob.spec,
|
|
271
|
-
cronJob.status
|
|
272
|
-
);
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
var WrappedCronJob = class extends CronJob {
|
|
276
|
-
constructor(name, args, opts) {
|
|
277
|
-
super(
|
|
278
|
-
"highstate:k8s:WrappedCronJob",
|
|
279
|
-
name,
|
|
280
|
-
args,
|
|
281
|
-
opts,
|
|
282
|
-
output(args.cronJob).metadata,
|
|
283
|
-
output(args.namespace),
|
|
284
|
-
output(args.terminal ?? {}),
|
|
285
|
-
output([]),
|
|
286
|
-
output(void 0),
|
|
287
|
-
output(args.cronJob).spec,
|
|
288
|
-
output(args.cronJob).status
|
|
289
|
-
);
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
var ExternalCronJob = class extends CronJob {
|
|
293
|
-
constructor(name, args, opts) {
|
|
294
|
-
const cronJob = output(args.namespace).cluster.apply((cluster) => {
|
|
295
|
-
return batch.v1.CronJob.get(
|
|
296
|
-
name,
|
|
297
|
-
interpolate`${output(args.namespace).metadata.name}/${args.name}`,
|
|
298
|
-
{ ...opts, parent: this, provider: getProvider(cluster) }
|
|
299
|
-
);
|
|
300
|
-
});
|
|
301
|
-
super(
|
|
302
|
-
"highstate:k8s:ExternalCronJob",
|
|
303
|
-
name,
|
|
304
|
-
args,
|
|
305
|
-
opts,
|
|
306
|
-
cronJob.metadata,
|
|
307
|
-
output(args.namespace),
|
|
308
|
-
output({}),
|
|
309
|
-
output([]),
|
|
310
|
-
output(void 0),
|
|
311
|
-
cronJob.spec,
|
|
312
|
-
cronJob.status
|
|
313
|
-
);
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
export { CronJob };
|
|
318
|
-
//# sourceMappingURL=chunk-PG27ZY2H.js.map
|
|
319
|
-
//# sourceMappingURL=chunk-PG27ZY2H.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cron-job.ts"],"names":["args","podTemplate"],"mappings":"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","file":"chunk-PG27ZY2H.js","sourcesContent":["import type { UnitTerminal } from \"@highstate/contract\"\nimport type { Container } from \"./container\"\nimport type { NetworkPolicy } from \"./network-policy\"\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 type Unwrap,\n} from \"@highstate/pulumi\"\nimport { batch, type types } from \"@pulumi/kubernetes\"\nimport { deepmerge } from \"deepmerge-ts\"\nimport { omit } from \"remeda\"\nimport { Namespace } from \"./namespace\"\nimport { commonExtraArgs, getProvider, mapMetadata, type ScopedResourceArgs } from \"./shared\"\nimport {\n filterPatchOwnedContainersInTemplate,\n getWorkloadComponents,\n Workload,\n type WorkloadArgs,\n type WorkloadTerminalArgs,\n} from \"./workload\"\n\nexport type CronJobArgs = ScopedResourceArgs &\n Omit<Partial<types.input.batch.v1.CronJobSpec>, \"jobTemplate\"> & {\n jobTemplate?: {\n metadata?: types.input.meta.v1.ObjectMeta\n spec?: Omit<types.input.batch.v1.JobSpec, \"template\"> & {\n template?: {\n metadata?: types.input.meta.v1.ObjectMeta\n spec?: Partial<types.input.core.v1.PodSpec>\n }\n }\n }\n } & WorkloadArgs\n\nexport type CreateOrGetCronJobArgs = CronJobArgs & {\n /**\n * The cron job entity to patch/retrieve.\n */\n existing: Input<k8s.NamespacedResource> | undefined\n}\n\n/**\n * Represents a Kubernetes CronJob resource with metadata and spec.\n */\nexport abstract class CronJob extends Workload {\n static apiVersion = \"batch/v1\"\n static kind = \"CronJob\"\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 terminalArgs: Output<Unwrap<WorkloadTerminalArgs>>,\n containers: Output<Container[]>,\n networkPolicy: Output<NetworkPolicy | undefined>,\n\n /**\n * The spec of the underlying Kubernetes cron job.\n */\n readonly spec: Output<types.output.batch.v1.CronJobSpec>,\n\n /**\n * The status of the underlying Kubernetes cron job.\n */\n readonly status: Output<types.output.batch.v1.CronJobStatus>,\n ) {\n super(\n type,\n name,\n args,\n opts,\n metadata,\n namespace,\n terminalArgs,\n containers,\n spec.jobTemplate.spec.template,\n networkPolicy,\n )\n }\n\n protected override get templateMetadata(): Output<types.output.meta.v1.ObjectMeta> {\n return this.spec.jobTemplate.spec.template.metadata\n }\n\n /**\n * The Highstate cron job entity.\n */\n get entity(): Output<k8s.CronJob> {\n return makeEntityOutput({\n entity: k8s.cronJobEntity,\n identity: this.metadata.uid,\n meta: {\n title: this.metadata.name,\n },\n value: {\n ...this.entityBase,\n spec: this.spec.jobTemplate.spec,\n },\n })\n }\n\n protected getTerminalMeta(): Output<UnitTerminal[\"meta\"]> {\n return output({\n title: \"CronJob\",\n globalTitle: interpolate`CronJob | ${this.metadata.name}`,\n description: \"The shell inside the cron job.\",\n icon: \"devicon:kubernetes\",\n })\n }\n\n protected get resourceType(): string {\n return \"cronjob\"\n }\n\n /**\n * Creates a new cron job.\n */\n static create(name: string, args: CronJobArgs, opts?: ComponentResourceOptions): CronJob {\n return new CreatedCronJob(name, args, opts)\n }\n\n /**\n * Creates a new cron job or patches an existing one.\n *\n * @param name The name of the resource. May not be the same as the cron job name.\n * @param args The arguments to create or patch the cron job with.\n * @param opts Optional resource options.\n */\n static createOrPatch(\n name: string,\n args: CreateOrGetCronJobArgs,\n opts?: ComponentResourceOptions,\n ): CronJob {\n if (args.existing) {\n return new CronJobPatch(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 CreatedCronJob(name, args, opts)\n }\n\n /**\n * Creates a new cron job or gets an existing one.\n *\n * @param name The name of the resource. May not be the same as the cron job name. Will not be used when existing cron job is retrieved.\n * @param args The arguments to create or get the cron job with.\n * @param opts Optional resource options.\n */\n static async createOrGet(\n name: string,\n args: CreateOrGetCronJobArgs,\n opts?: ComponentResourceOptions,\n ): Promise<CronJob> {\n if (args.existing) {\n return await CronJob.forAsync(args.existing, output(args.namespace).cluster)\n }\n\n return new CreatedCronJob(name, args, opts)\n }\n\n /**\n * Patches an existing cron job.\n *\n * Will throw an error if the cron job does not exist.\n *\n * @param name The name of the resource. May not be the same as the cron job name.\n * @param args The arguments to patch the cron job with.\n * @param opts Optional resource options.\n */\n static patch(name: string, args: CronJobArgs, opts?: ComponentResourceOptions): CronJob {\n return new CronJobPatch(name, args, opts)\n }\n\n /**\n * Wraps an existing Kubernetes cron job.\n */\n static wrap(name: string, args: WrappedCronJobArgs, opts?: ComponentResourceOptions): CronJob {\n return new WrappedCronJob(name, args, opts)\n }\n\n /**\n * Gets an existing cron job.\n *\n * Will throw an error if the cron job does not exist.\n */\n static get(name: string, args: ExternalCronJobArgs, opts?: ComponentResourceOptions): CronJob {\n return new ExternalCronJob(name, args, opts)\n }\n\n private static readonly cronJobCache = new Map<string, CronJob>()\n\n /**\n * Gets an existing cron job 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 cron job for.\n * @param cluster The cluster where the cron job is located.\n */\n static for(entity: k8s.NamespacedResource, cluster: Input<k8s.Cluster>): CronJob {\n return getOrCreate(\n CronJob.cronJobCache,\n `${entity.clusterName}.${entity.metadata.namespace}.${entity.metadata.name}.${entity.clusterId}`,\n name => {\n return CronJob.get(name, {\n name: entity.metadata.name,\n namespace: Namespace.forResource(entity, cluster),\n })\n },\n )\n }\n\n /**\n * Gets an existing cron job 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 cron job for.\n * @param cluster The cluster where the cron job is located.\n */\n static async forAsync(\n entity: Input<k8s.NamespacedResource>,\n cluster: Input<k8s.Cluster>,\n ): Promise<CronJob> {\n const resolvedEntity = await toPromise(entity)\n return CronJob.for(resolvedEntity, cluster)\n }\n}\n\nconst cronJobExtraArgs = [...commonExtraArgs, \"container\", \"containers\"] as const\n\nclass CreatedCronJob extends CronJob {\n constructor(name: string, args: CronJobArgs, opts?: ComponentResourceOptions) {\n const { podTemplate, containers, networkPolicy } = getWorkloadComponents(\n name,\n args,\n () => this,\n opts,\n )\n\n const cronJob = output(args.namespace).cluster.apply(cluster => {\n return new batch.v1.CronJob(\n name,\n {\n metadata: mapMetadata(args, name),\n spec: output({ args, podTemplate }).apply(({ args, podTemplate }) => {\n return deepmerge(\n {\n jobTemplate: {\n spec: {\n template: deepmerge(\n {\n spec: {\n restartPolicy: \"Never\",\n },\n },\n podTemplate,\n ),\n },\n },\n schedule: args.schedule,\n },\n omit(args, cronJobExtraArgs) as types.input.batch.v1.CronJobSpec,\n )\n }),\n },\n {\n ...opts,\n parent: this,\n provider: getProvider(cluster),\n },\n )\n })\n\n super(\n \"highstate:k8s:CronJob\",\n name,\n args,\n opts,\n cronJob.metadata,\n output(args.namespace),\n output(args.terminal ?? {}),\n containers,\n networkPolicy,\n cronJob.spec,\n cronJob.status,\n )\n }\n}\n\nclass CronJobPatch extends CronJob {\n constructor(name: string, args: CronJobArgs, opts?: ComponentResourceOptions) {\n const { podTemplate, containers, networkPolicy } = getWorkloadComponents(\n name,\n args,\n () => this,\n opts,\n true,\n )\n\n const cronJob = output(args.namespace).cluster.apply(cluster => {\n return new batch.v1.CronJobPatch(\n name,\n {\n metadata: mapMetadata(args, name),\n spec: output({ args, podTemplate }).apply(({ args, podTemplate }) => {\n const spec = deepmerge(\n {\n jobTemplate: {\n spec: {\n template: podTemplate,\n },\n },\n schedule: args.schedule!,\n } satisfies types.input.batch.v1.CronJobSpec,\n omit(args, cronJobExtraArgs) as types.input.batch.v1.CronJobSpec,\n ) as Unwrap<types.input.batch.v1.CronJobSpec>\n\n if (spec.jobTemplate?.spec?.template) {\n spec.jobTemplate.spec.template = filterPatchOwnedContainersInTemplate(\n spec.jobTemplate.spec.template,\n podTemplate,\n )\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:CronJobPatch\",\n name,\n args,\n opts,\n cronJob.metadata,\n output(args.namespace),\n output(args.terminal ?? {}),\n containers,\n networkPolicy,\n cronJob.spec,\n cronJob.status,\n )\n }\n}\n\nexport type WrappedCronJobArgs = {\n /**\n * The underlying Kubernetes cron job to wrap.\n */\n cronJob: Input<batch.v1.CronJob>\n\n /**\n * The namespace where the cron job 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 WrappedCronJob extends CronJob {\n constructor(name: string, args: WrappedCronJobArgs, opts?: ComponentResourceOptions) {\n super(\n \"highstate:k8s:WrappedCronJob\",\n name,\n args,\n opts,\n\n output(args.cronJob).metadata,\n output(args.namespace),\n output(args.terminal ?? {}),\n output([]),\n output(undefined),\n\n output(args.cronJob).spec,\n output(args.cronJob).status,\n )\n }\n}\n\nexport type ExternalCronJobArgs = {\n /**\n * The name of the cron job to get.\n */\n name: Input<string>\n\n /**\n * The namespace where the cron job is located.\n */\n namespace: Input<Namespace>\n}\n\nclass ExternalCronJob extends CronJob {\n constructor(name: string, args: ExternalCronJobArgs, opts?: ComponentResourceOptions) {\n const cronJob = output(args.namespace).cluster.apply(cluster => {\n return batch.v1.CronJob.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:ExternalCronJob\",\n name,\n args,\n opts,\n\n cronJob.metadata,\n output(args.namespace),\n output({}),\n output([]),\n output(undefined),\n\n cronJob.spec,\n cronJob.status,\n )\n }\n}\n"]}
|
package/dist/chunk-PZYGZSN5.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
3
|
-
var __typeError = (msg) => {
|
|
4
|
-
throw TypeError(msg);
|
|
5
|
-
};
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __using = (stack, value, async) => {
|
|
11
|
-
if (value != null) {
|
|
12
|
-
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
13
|
-
var dispose, inner;
|
|
14
|
-
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
15
|
-
if (dispose === void 0) {
|
|
16
|
-
dispose = value[__knownSymbol("dispose")];
|
|
17
|
-
if (async) inner = dispose;
|
|
18
|
-
}
|
|
19
|
-
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
20
|
-
if (inner) dispose = function() {
|
|
21
|
-
try {
|
|
22
|
-
inner.call(this);
|
|
23
|
-
} catch (e) {
|
|
24
|
-
return Promise.reject(e);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
stack.push([async, dispose, value]);
|
|
28
|
-
} else if (async) {
|
|
29
|
-
stack.push([async]);
|
|
30
|
-
}
|
|
31
|
-
return value;
|
|
32
|
-
};
|
|
33
|
-
var __callDispose = (stack, error, hasError) => {
|
|
34
|
-
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
35
|
-
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
36
|
-
};
|
|
37
|
-
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
38
|
-
var next = (it) => {
|
|
39
|
-
while (it = stack.pop()) {
|
|
40
|
-
try {
|
|
41
|
-
var result = it[1] && it[1].call(it[2]);
|
|
42
|
-
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
43
|
-
} catch (e) {
|
|
44
|
-
fail(e);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (hasError) throw error;
|
|
48
|
-
};
|
|
49
|
-
return next();
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export { __callDispose, __export, __using };
|
|
53
|
-
//# sourceMappingURL=chunk-PZYGZSN5.js.map
|
|
54
|
-
//# sourceMappingURL=chunk-PZYGZSN5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PZYGZSN5.js"}
|