@intentius/chant-lexicon-k8s 0.1.21 → 0.1.23

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.
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "f40fc25f533fecde7d6d15bac92e1ba8317cda2b870af8c5a8615118794a49cf",
5
- "meta.json": "4b5a8e54681b5968490520a0e166d8d4c14448e404bd6f1d890311a5425a348a",
6
- "types/index.d.ts": "d4bb24d2e60e97dcc25d5c902b14a87ce34f2ba9c0ca6fc520bb908e9901609d",
4
+ "manifest.json": "a40500a319710239828776b5e04b46374aeb39f60313b0cb3f9770d9bc844d8c",
5
+ "meta.json": "8e9c0279eb8666c8b181897a55f614c7e803fed6fc6cb549249d8f998aa764d2",
6
+ "types/index.d.ts": "7eb3017762f49faa57dae1d71f3e77a08e52ac8fc7eeab192cba4e981b7efed6",
7
7
  "rules/argo-appset-single-project.ts": "afa9f310753aa2d475f35012b13135b2dfaebed2a35d44edbe185ebc07673674",
8
8
  "rules/argo-ast.ts": "f57b7d84fef9c9cd326a7cad0dff290914e01299415d64bdab48e2f6eb4181c3",
9
9
  "rules/argo-automated-prune.ts": "176ac5441c3ccb7106a194abab3abe22fd8a29f976716761c66c243b72d57b14",
@@ -50,5 +50,5 @@
50
50
  "skills/chant-k8s-aks.md": "e18f0e2b055f72cd7a37deaf258d7027c2d4d3e286e8fd4975b27a1f981a3ad9",
51
51
  "skills/chant-k8s-argo.md": "b1a0b826559d8c5033a479c5781efaf650320f0aee4419d8841170bd3393cea5"
52
52
  },
53
- "composite": "37fec7d459f6ae28828bef835c044a6697cdacb752f128b1f36345fe130b6753"
53
+ "composite": "2aaafe56e3fec2c11f54aacbc10457a680b4b06216f9da5ec80b9e1376fbaf32"
54
54
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k8s",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "K8s",
6
6
  "intrinsics": [],
package/dist/meta.json CHANGED
@@ -41,6 +41,11 @@
41
41
  "apiVersion": "v1",
42
42
  "gvkKind": "APIVersions"
43
43
  },
44
+ "AdditionalOutputFormat": {
45
+ "resourceType": "K8s::CertManager::Certificate.additionalOutputFormats",
46
+ "kind": "property",
47
+ "lexicon": "k8s"
48
+ },
44
49
  "Address": {
45
50
  "resourceType": "K8s::Gateway::Gateway.addresses",
46
51
  "kind": "property",
@@ -255,6 +260,25 @@
255
260
  "kind": "property",
256
261
  "lexicon": "k8s"
257
262
  },
263
+ "Certificate": {
264
+ "resourceType": "K8s::CertManager::Certificate",
265
+ "kind": "resource",
266
+ "lexicon": "k8s",
267
+ "apiVersion": "cert-manager.io/v1",
268
+ "gvkKind": "Certificate"
269
+ },
270
+ "CertificateRequest": {
271
+ "resourceType": "K8s::CertManager::CertificateRequest",
272
+ "kind": "resource",
273
+ "lexicon": "k8s",
274
+ "apiVersion": "cert-manager.io/v1",
275
+ "gvkKind": "CertificateRequest"
276
+ },
277
+ "CertificateRequest_IssuerRef": {
278
+ "resourceType": "K8s::CertManager::CertificateRequest.issuerRef",
279
+ "kind": "property",
280
+ "lexicon": "k8s"
281
+ },
258
282
  "CertificateSigningRequest": {
259
283
  "resourceType": "K8s::Certificates::CertificateSigningRequest",
260
284
  "kind": "resource",
@@ -269,6 +293,95 @@
269
293
  "apiVersion": "certificates.k8s.io/v1",
270
294
  "gvkKind": "CertificateSigningRequestList"
271
295
  },
296
+ "Certificate_AdditionalOutputFormat": {
297
+ "resourceType": "K8s::CertManager::Certificate.additionalOutputFormats",
298
+ "kind": "property",
299
+ "lexicon": "k8s"
300
+ },
301
+ "Certificate_IssuerRef": {
302
+ "resourceType": "K8s::CertManager::Certificate.issuerRef",
303
+ "kind": "property",
304
+ "lexicon": "k8s"
305
+ },
306
+ "Certificate_Keystores": {
307
+ "resourceType": "K8s::CertManager::Certificate.keystores",
308
+ "kind": "property",
309
+ "lexicon": "k8s"
310
+ },
311
+ "Certificate_NameConstraints": {
312
+ "resourceType": "K8s::CertManager::Certificate.nameConstraints",
313
+ "kind": "property",
314
+ "lexicon": "k8s"
315
+ },
316
+ "Certificate_OtherName": {
317
+ "resourceType": "K8s::CertManager::Certificate.otherNames",
318
+ "kind": "property",
319
+ "lexicon": "k8s"
320
+ },
321
+ "Certificate_PrivateKey": {
322
+ "resourceType": "K8s::CertManager::Certificate.privateKey",
323
+ "kind": "property",
324
+ "lexicon": "k8s"
325
+ },
326
+ "Certificate_SecretTemplate": {
327
+ "resourceType": "K8s::CertManager::Certificate.secretTemplate",
328
+ "kind": "property",
329
+ "lexicon": "k8s"
330
+ },
331
+ "Certificate_Subject": {
332
+ "resourceType": "K8s::CertManager::Certificate.subject",
333
+ "kind": "property",
334
+ "lexicon": "k8s"
335
+ },
336
+ "Challenge": {
337
+ "resourceType": "K8s::Acme::Challenge",
338
+ "kind": "resource",
339
+ "lexicon": "k8s",
340
+ "apiVersion": "acme.cert-manager.io/v1",
341
+ "gvkKind": "Challenge"
342
+ },
343
+ "Challenge_IssuerRef": {
344
+ "resourceType": "K8s::Acme::Challenge.issuerRef",
345
+ "kind": "property",
346
+ "lexicon": "k8s"
347
+ },
348
+ "Challenge_Solver": {
349
+ "resourceType": "K8s::Acme::Challenge.solver",
350
+ "kind": "property",
351
+ "lexicon": "k8s"
352
+ },
353
+ "ClusterIssuer": {
354
+ "resourceType": "K8s::CertManager::ClusterIssuer",
355
+ "kind": "resource",
356
+ "lexicon": "k8s",
357
+ "apiVersion": "cert-manager.io/v1",
358
+ "gvkKind": "ClusterIssuer"
359
+ },
360
+ "ClusterIssuer_Acme": {
361
+ "resourceType": "K8s::CertManager::ClusterIssuer.acme",
362
+ "kind": "property",
363
+ "lexicon": "k8s"
364
+ },
365
+ "ClusterIssuer_Ca": {
366
+ "resourceType": "K8s::CertManager::ClusterIssuer.ca",
367
+ "kind": "property",
368
+ "lexicon": "k8s"
369
+ },
370
+ "ClusterIssuer_SelfSigned": {
371
+ "resourceType": "K8s::CertManager::ClusterIssuer.selfSigned",
372
+ "kind": "property",
373
+ "lexicon": "k8s"
374
+ },
375
+ "ClusterIssuer_Vault": {
376
+ "resourceType": "K8s::CertManager::ClusterIssuer.vault",
377
+ "kind": "property",
378
+ "lexicon": "k8s"
379
+ },
380
+ "ClusterIssuer_Venafi": {
381
+ "resourceType": "K8s::CertManager::ClusterIssuer.venafi",
382
+ "kind": "property",
383
+ "lexicon": "k8s"
384
+ },
272
385
  "ClusterResourceBlacklist": {
273
386
  "resourceType": "K8s::Argo::AppProject.clusterResourceBlacklist",
274
387
  "kind": "property",
@@ -870,6 +983,38 @@
870
983
  "kind": "property",
871
984
  "lexicon": "k8s"
872
985
  },
986
+ "Issuer": {
987
+ "resourceType": "K8s::CertManager::Issuer",
988
+ "kind": "resource",
989
+ "lexicon": "k8s",
990
+ "apiVersion": "cert-manager.io/v1",
991
+ "gvkKind": "Issuer"
992
+ },
993
+ "Issuer_Acme": {
994
+ "resourceType": "K8s::CertManager::Issuer.acme",
995
+ "kind": "property",
996
+ "lexicon": "k8s"
997
+ },
998
+ "Issuer_Ca": {
999
+ "resourceType": "K8s::CertManager::Issuer.ca",
1000
+ "kind": "property",
1001
+ "lexicon": "k8s"
1002
+ },
1003
+ "Issuer_SelfSigned": {
1004
+ "resourceType": "K8s::CertManager::Issuer.selfSigned",
1005
+ "kind": "property",
1006
+ "lexicon": "k8s"
1007
+ },
1008
+ "Issuer_Vault": {
1009
+ "resourceType": "K8s::CertManager::Issuer.vault",
1010
+ "kind": "property",
1011
+ "lexicon": "k8s"
1012
+ },
1013
+ "Issuer_Venafi": {
1014
+ "resourceType": "K8s::CertManager::Issuer.venafi",
1015
+ "kind": "property",
1016
+ "lexicon": "k8s"
1017
+ },
873
1018
  "Job": {
874
1019
  "resourceType": "K8s::Batch::Job",
875
1020
  "kind": "resource",
@@ -894,6 +1039,11 @@
894
1039
  }
895
1040
  }
896
1041
  },
1042
+ "Keystores": {
1043
+ "resourceType": "K8s::CertManager::Certificate.keystores",
1044
+ "kind": "property",
1045
+ "lexicon": "k8s"
1046
+ },
897
1047
  "LabelSelector": {
898
1048
  "resourceType": "K8s::Meta::LabelSelector",
899
1049
  "kind": "property",
@@ -975,6 +1125,11 @@
975
1125
  "apiVersion": "v1",
976
1126
  "gvkKind": "Namespace"
977
1127
  },
1128
+ "NameConstraints": {
1129
+ "resourceType": "K8s::CertManager::Certificate.nameConstraints",
1130
+ "kind": "property",
1131
+ "lexicon": "k8s"
1132
+ },
978
1133
  "Namespace": {
979
1134
  "resourceType": "K8s::Core::Namespace",
980
1135
  "kind": "resource",
@@ -1077,11 +1232,28 @@
1077
1232
  "kind": "property",
1078
1233
  "lexicon": "k8s"
1079
1234
  },
1235
+ "Order": {
1236
+ "resourceType": "K8s::Acme::Order",
1237
+ "kind": "resource",
1238
+ "lexicon": "k8s",
1239
+ "apiVersion": "acme.cert-manager.io/v1",
1240
+ "gvkKind": "Order"
1241
+ },
1242
+ "Order_IssuerRef": {
1243
+ "resourceType": "K8s::Acme::Order.issuerRef",
1244
+ "kind": "property",
1245
+ "lexicon": "k8s"
1246
+ },
1080
1247
  "OrphanedResources": {
1081
1248
  "resourceType": "K8s::Argo::AppProject.orphanedResources",
1082
1249
  "kind": "property",
1083
1250
  "lexicon": "k8s"
1084
1251
  },
1252
+ "OtherName": {
1253
+ "resourceType": "K8s::CertManager::Certificate.otherNames",
1254
+ "kind": "property",
1255
+ "lexicon": "k8s"
1256
+ },
1085
1257
  "PDB": {
1086
1258
  "resourceType": "K8s::Policy::PodDisruptionBudget",
1087
1259
  "kind": "resource",
@@ -1273,6 +1445,11 @@
1273
1445
  "apiVersion": "flowcontrol.apiserver.k8s.io/v1",
1274
1446
  "gvkKind": "PriorityLevelConfigurationList"
1275
1447
  },
1448
+ "PrivateKey": {
1449
+ "resourceType": "K8s::CertManager::Certificate.privateKey",
1450
+ "kind": "property",
1451
+ "lexicon": "k8s"
1452
+ },
1276
1453
  "Probe": {
1277
1454
  "resourceType": "K8s::Core::Probe",
1278
1455
  "kind": "property",
@@ -1589,6 +1766,11 @@
1589
1766
  "apiVersion": "v1",
1590
1767
  "gvkKind": "SecretList"
1591
1768
  },
1769
+ "SecretTemplate": {
1770
+ "resourceType": "K8s::CertManager::Certificate.secretTemplate",
1771
+ "kind": "property",
1772
+ "lexicon": "k8s"
1773
+ },
1592
1774
  "SecurityContext": {
1593
1775
  "resourceType": "K8s::Core::SecurityContext",
1594
1776
  "kind": "property",
@@ -1698,6 +1880,11 @@
1698
1880
  "kind": "property",
1699
1881
  "lexicon": "k8s"
1700
1882
  },
1883
+ "Solver": {
1884
+ "resourceType": "K8s::Acme::Challenge.solver",
1885
+ "kind": "property",
1886
+ "lexicon": "k8s"
1887
+ },
1701
1888
  "Source": {
1702
1889
  "resourceType": "K8s::Argo::Application.source",
1703
1890
  "kind": "property",
@@ -134,6 +134,30 @@ export declare class Binding {
134
134
  readonly uid: string;
135
135
  }
136
136
 
137
+ export declare class Certificate {
138
+ constructor(props: {
139
+ metadata?: Record<string, unknown>;
140
+ /** Specification of the desired state of the Certificate resource.
141
+ https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */
142
+ spec?: Record<string, unknown>;
143
+ });
144
+ readonly name: string;
145
+ readonly namespace: string;
146
+ readonly uid: string;
147
+ }
148
+
149
+ export declare class CertificateRequest {
150
+ constructor(props: {
151
+ metadata?: Record<string, unknown>;
152
+ /** Specification of the desired state of the CertificateRequest resource.
153
+ https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */
154
+ spec?: Record<string, unknown>;
155
+ });
156
+ readonly name: string;
157
+ readonly namespace: string;
158
+ readonly uid: string;
159
+ }
160
+
137
161
  export declare class CertificateSigningRequest {
138
162
  constructor(props: {
139
163
  /** spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. */
@@ -156,6 +180,27 @@ export declare class CertificateSigningRequestList {
156
180
  readonly uid: string;
157
181
  }
158
182
 
183
+ export declare class Challenge {
184
+ constructor(props: {
185
+ metadata: Record<string, unknown>;
186
+ spec: Record<string, unknown>;
187
+ });
188
+ readonly name: string;
189
+ readonly namespace: string;
190
+ readonly uid: string;
191
+ }
192
+
193
+ export declare class ClusterIssuer {
194
+ constructor(props: {
195
+ /** Desired state of the ClusterIssuer resource. */
196
+ spec: Record<string, unknown>;
197
+ metadata?: Record<string, unknown>;
198
+ });
199
+ readonly name: string;
200
+ readonly namespace: string;
201
+ readonly uid: string;
202
+ }
203
+
159
204
  export declare class ClusterRole {
160
205
  constructor(props: {
161
206
  /** AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller. */
@@ -919,6 +964,17 @@ export declare class IPAddressList {
919
964
  readonly uid: string;
920
965
  }
921
966
 
967
+ export declare class Issuer {
968
+ constructor(props: {
969
+ /** Desired state of the Issuer resource. */
970
+ spec: Record<string, unknown>;
971
+ metadata?: Record<string, unknown>;
972
+ });
973
+ readonly name: string;
974
+ readonly namespace: string;
975
+ readonly uid: string;
976
+ }
977
+
922
978
  export declare class Job {
923
979
  constructor(props: {
924
980
  /** Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */
@@ -1123,6 +1179,16 @@ export declare class NS {
1123
1179
  readonly uid: string;
1124
1180
  }
1125
1181
 
1182
+ export declare class Order {
1183
+ constructor(props: {
1184
+ metadata: Record<string, unknown>;
1185
+ spec: Record<string, unknown>;
1186
+ });
1187
+ readonly name: string;
1188
+ readonly namespace: string;
1189
+ readonly uid: string;
1190
+ }
1191
+
1126
1192
  export declare class PDB {
1127
1193
  constructor(props: {
1128
1194
  /** Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-k8s",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "Kubernetes lexicon for chant — declarative IaC in TypeScript",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -1486,6 +1486,8 @@ describe("SecureIngress", () => {
1486
1486
  test("creates certificate when clusterIssuer set", () => {
1487
1487
  const result = SecureIngress({ ...minProps, clusterIssuer: "letsencrypt-prod" });
1488
1488
  expect(result.certificate).toBeDefined();
1489
+ // A real cert-manager Certificate, not the former Ingress-proxy placeholder.
1490
+ expect(result.certificate!.constructor.name).toBe("Certificate");
1489
1491
  const certSpec = p(result.certificate!).spec as any;
1490
1492
  expect(certSpec.issuerRef.name).toBe("letsencrypt-prod");
1491
1493
  expect(certSpec.dnsNames).toEqual(["app.example.com"]);
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { Composite, mergeDefaults } from "@intentius/chant";
9
- import { Ingress } from "../generated";
9
+ import { Ingress, Certificate } from "../generated";
10
10
 
11
11
  export interface SecureIngressHost {
12
12
  /** Hostname (e.g., "api.example.com"). */
@@ -44,7 +44,7 @@ export interface SecureIngressProps {
44
44
 
45
45
  export interface SecureIngressResult {
46
46
  ingress: InstanceType<typeof Ingress>;
47
- certificate?: InstanceType<typeof Ingress>; // CRD — use Ingress as proxy Declarable
47
+ certificate?: InstanceType<typeof Certificate>; // cert-manager.io/v1 Certificate
48
48
  }
49
49
 
50
50
  /**
@@ -135,8 +135,10 @@ export const SecureIngress = Composite<SecureIngressProps>((props) => {
135
135
  const result: Record<string, any> = { ingress };
136
136
 
137
137
  if (clusterIssuer) {
138
- // Certificate is a CRD use Ingress constructor as a generic Declarable wrapper
139
- result.certificate = new Ingress(mergeDefaults({
138
+ // A real cert-manager Certificate (the ingress-shim annotation on the Ingress
139
+ // above is also set, so either path issues the cert; the explicit resource
140
+ // makes the cert lifecycle declarable).
141
+ result.certificate = new Certificate(mergeDefaults({
140
142
  metadata: {
141
143
  name: secretName,
142
144
  ...(namespace && { namespace }),
@@ -74,6 +74,25 @@ const GATEWAY_API_CRD_BASE = `https://raw.githubusercontent.com/kubernetes-sigs/
74
74
  const COCKROACH_OPERATOR_VERSION = "v2.17.0";
75
75
  const COCKROACH_OPERATOR_CRD_BASE = `https://raw.githubusercontent.com/cockroachdb/cockroach-operator/${COCKROACH_OPERATOR_VERSION}/config/crd/bases`;
76
76
 
77
+ /**
78
+ * cert-manager CRDs — cert-manager.io + acme.cert-manager.io
79
+ *
80
+ * The de-facto TLS cert issuance/rotation controller. A single multi-doc bundle
81
+ * (the parser uses loadAll) produces, under the `CertManager` and `Acme`
82
+ * namespaces (first-segment rule; "cert-manager.io" → "CertManager"):
83
+ * K8s::CertManager::Certificate → cert-manager.io/v1
84
+ * K8s::CertManager::CertificateRequest → cert-manager.io/v1
85
+ * K8s::CertManager::Issuer → cert-manager.io/v1
86
+ * K8s::CertManager::ClusterIssuer → cert-manager.io/v1
87
+ * K8s::Acme::Challenge → acme.cert-manager.io/v1
88
+ * K8s::Acme::Order → acme.cert-manager.io/v1
89
+ *
90
+ * Controller install: kubectl apply -f
91
+ * https://github.com/cert-manager/cert-manager/releases/download/v1.16.2/cert-manager.yaml
92
+ */
93
+ const CERT_MANAGER_VERSION = "v1.16.2";
94
+ const CERT_MANAGER_CRD_BUNDLE = `https://github.com/cert-manager/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.crds.yaml`;
95
+
77
96
  export const CRD_SOURCES: CRDSource[] = [
78
97
  { type: "url", url: `${KUBERAY_CRD_BASE}/ray.io_rayclusters.yaml` },
79
98
  { type: "url", url: `${KUBERAY_CRD_BASE}/ray.io_rayjobs.yaml` },
@@ -87,4 +106,5 @@ export const CRD_SOURCES: CRDSource[] = [
87
106
  { type: "url", url: `${GATEWAY_API_CRD_BASE}/gateway.networking.k8s.io_grpcroutes.yaml` },
88
107
  { type: "url", url: `${GATEWAY_API_CRD_BASE}/gateway.networking.k8s.io_referencegrants.yaml` },
89
108
  { type: "url", url: `${COCKROACH_OPERATOR_CRD_BASE}/crdb.cockroachlabs.com_crdbclusters.yaml` },
109
+ { type: "url", url: CERT_MANAGER_CRD_BUNDLE },
90
110
  ];
@@ -134,6 +134,30 @@ export declare class Binding {
134
134
  readonly uid: string;
135
135
  }
136
136
 
137
+ export declare class Certificate {
138
+ constructor(props: {
139
+ metadata?: Record<string, unknown>;
140
+ /** Specification of the desired state of the Certificate resource.
141
+ https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */
142
+ spec?: Record<string, unknown>;
143
+ });
144
+ readonly name: string;
145
+ readonly namespace: string;
146
+ readonly uid: string;
147
+ }
148
+
149
+ export declare class CertificateRequest {
150
+ constructor(props: {
151
+ metadata?: Record<string, unknown>;
152
+ /** Specification of the desired state of the CertificateRequest resource.
153
+ https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */
154
+ spec?: Record<string, unknown>;
155
+ });
156
+ readonly name: string;
157
+ readonly namespace: string;
158
+ readonly uid: string;
159
+ }
160
+
137
161
  export declare class CertificateSigningRequest {
138
162
  constructor(props: {
139
163
  /** spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. */
@@ -156,6 +180,27 @@ export declare class CertificateSigningRequestList {
156
180
  readonly uid: string;
157
181
  }
158
182
 
183
+ export declare class Challenge {
184
+ constructor(props: {
185
+ metadata: Record<string, unknown>;
186
+ spec: Record<string, unknown>;
187
+ });
188
+ readonly name: string;
189
+ readonly namespace: string;
190
+ readonly uid: string;
191
+ }
192
+
193
+ export declare class ClusterIssuer {
194
+ constructor(props: {
195
+ /** Desired state of the ClusterIssuer resource. */
196
+ spec: Record<string, unknown>;
197
+ metadata?: Record<string, unknown>;
198
+ });
199
+ readonly name: string;
200
+ readonly namespace: string;
201
+ readonly uid: string;
202
+ }
203
+
159
204
  export declare class ClusterRole {
160
205
  constructor(props: {
161
206
  /** AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller. */
@@ -919,6 +964,17 @@ export declare class IPAddressList {
919
964
  readonly uid: string;
920
965
  }
921
966
 
967
+ export declare class Issuer {
968
+ constructor(props: {
969
+ /** Desired state of the Issuer resource. */
970
+ spec: Record<string, unknown>;
971
+ metadata?: Record<string, unknown>;
972
+ });
973
+ readonly name: string;
974
+ readonly namespace: string;
975
+ readonly uid: string;
976
+ }
977
+
922
978
  export declare class Job {
923
979
  constructor(props: {
924
980
  /** Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */
@@ -1123,6 +1179,16 @@ export declare class NS {
1123
1179
  readonly uid: string;
1124
1180
  }
1125
1181
 
1182
+ export declare class Order {
1183
+ constructor(props: {
1184
+ metadata: Record<string, unknown>;
1185
+ spec: Record<string, unknown>;
1186
+ });
1187
+ readonly name: string;
1188
+ readonly namespace: string;
1189
+ readonly uid: string;
1190
+ }
1191
+
1126
1192
  export declare class PDB {
1127
1193
  constructor(props: {
1128
1194
  /** Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */
@@ -12,8 +12,12 @@ export const ApplicationSet = createResource("K8s::Argo::ApplicationSet", "k8s",
12
12
  export const AppProject = createResource("K8s::Argo::AppProject", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
13
13
  export const BatchJob = createResource("K8s::Batch::Job", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
14
14
  export const Binding = createResource("K8s::Core::Binding", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
15
+ export const Certificate = createResource("K8s::CertManager::Certificate", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
16
+ export const CertificateRequest = createResource("K8s::CertManager::CertificateRequest", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
15
17
  export const CertificateSigningRequest = createResource("K8s::Certificates::CertificateSigningRequest", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
16
18
  export const CertificateSigningRequestList = createResource("K8s::Certificates::CertificateSigningRequestList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
19
+ export const Challenge = createResource("K8s::Acme::Challenge", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
20
+ export const ClusterIssuer = createResource("K8s::CertManager::ClusterIssuer", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
17
21
  export const ClusterRole = createResource("K8s::Rbac::ClusterRole", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
18
22
  export const ClusterRoleBinding = createResource("K8s::Rbac::ClusterRoleBinding", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
19
23
  export const ClusterRoleBindingList = createResource("K8s::Rbac::ClusterRoleBindingList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
@@ -70,6 +74,7 @@ export const IngressClassList = createResource("K8s::Networking::IngressClassLis
70
74
  export const IngressList = createResource("K8s::Networking::IngressList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
71
75
  export const IPAddress = createResource("K8s::Networking::IPAddress", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
72
76
  export const IPAddressList = createResource("K8s::Networking::IPAddressList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
77
+ export const Issuer = createResource("K8s::CertManager::Issuer", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
73
78
  export const Job = createResource("K8s::Batch::Job", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
74
79
  export const JobList = createResource("K8s::Batch::JobList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
75
80
  export const Lease = createResource("K8s::Coordination::Lease", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
@@ -87,6 +92,7 @@ export const NetworkPolicyList = createResource("K8s::Networking::NetworkPolicyL
87
92
  export const Node = createResource("K8s::Core::Node", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
88
93
  export const NodeList = createResource("K8s::Core::NodeList", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
89
94
  export const NS = createResource("K8s::Core::Namespace", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
95
+ export const Order = createResource("K8s::Acme::Order", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
90
96
  export const PDB = createResource("K8s::Policy::PodDisruptionBudget", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
91
97
  export const PersistentVolume = createResource("K8s::Core::PersistentVolume", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
92
98
  export const PersistentVolumeClaim = createResource("K8s::Core::PersistentVolumeClaim", "k8s", {"name":"name","namespace":"namespace","uid":"uid"});
@@ -185,6 +191,22 @@ export const AppProject_Role = createProperty("K8s::Argo::AppProject.roles", "k8
185
191
  export const AppProject_SignatureKey = createProperty("K8s::Argo::AppProject.signatureKeys", "k8s");
186
192
  export const AppProject_SyncWindow = createProperty("K8s::Argo::AppProject.syncWindows", "k8s");
187
193
  export const Capabilities = createProperty("K8s::Core::Capabilities", "k8s");
194
+ export const Certificate_AdditionalOutputFormat = createProperty("K8s::CertManager::Certificate.additionalOutputFormats", "k8s");
195
+ export const Certificate_IssuerRef = createProperty("K8s::CertManager::Certificate.issuerRef", "k8s");
196
+ export const Certificate_Keystores = createProperty("K8s::CertManager::Certificate.keystores", "k8s");
197
+ export const Certificate_NameConstraints = createProperty("K8s::CertManager::Certificate.nameConstraints", "k8s");
198
+ export const Certificate_OtherName = createProperty("K8s::CertManager::Certificate.otherNames", "k8s");
199
+ export const Certificate_PrivateKey = createProperty("K8s::CertManager::Certificate.privateKey", "k8s");
200
+ export const Certificate_SecretTemplate = createProperty("K8s::CertManager::Certificate.secretTemplate", "k8s");
201
+ export const Certificate_Subject = createProperty("K8s::CertManager::Certificate.subject", "k8s");
202
+ export const CertificateRequest_IssuerRef = createProperty("K8s::CertManager::CertificateRequest.issuerRef", "k8s");
203
+ export const Challenge_IssuerRef = createProperty("K8s::Acme::Challenge.issuerRef", "k8s");
204
+ export const Challenge_Solver = createProperty("K8s::Acme::Challenge.solver", "k8s");
205
+ export const ClusterIssuer_Acme = createProperty("K8s::CertManager::ClusterIssuer.acme", "k8s");
206
+ export const ClusterIssuer_Ca = createProperty("K8s::CertManager::ClusterIssuer.ca", "k8s");
207
+ export const ClusterIssuer_SelfSigned = createProperty("K8s::CertManager::ClusterIssuer.selfSigned", "k8s");
208
+ export const ClusterIssuer_Vault = createProperty("K8s::CertManager::ClusterIssuer.vault", "k8s");
209
+ export const ClusterIssuer_Venafi = createProperty("K8s::CertManager::ClusterIssuer.venafi", "k8s");
188
210
  export const ConfigMapKeySelector = createProperty("K8s::Core::ConfigMapKeySelector", "k8s");
189
211
  export const Container = createProperty("K8s::Core::Container", "k8s");
190
212
  export const ContainerPort = createProperty("K8s::Core::ContainerPort", "k8s");
@@ -218,6 +240,11 @@ export const IngressBackend = createProperty("K8s::Networking::IngressBackend",
218
240
  export const IngressRule = createProperty("K8s::Networking::IngressRule", "k8s");
219
241
  export const IngressServiceBackend = createProperty("K8s::Networking::IngressServiceBackend", "k8s");
220
242
  export const IngressTLS = createProperty("K8s::Networking::IngressTLS", "k8s");
243
+ export const Issuer_Acme = createProperty("K8s::CertManager::Issuer.acme", "k8s");
244
+ export const Issuer_Ca = createProperty("K8s::CertManager::Issuer.ca", "k8s");
245
+ export const Issuer_SelfSigned = createProperty("K8s::CertManager::Issuer.selfSigned", "k8s");
246
+ export const Issuer_Vault = createProperty("K8s::CertManager::Issuer.vault", "k8s");
247
+ export const Issuer_Venafi = createProperty("K8s::CertManager::Issuer.venafi", "k8s");
221
248
  export const KeyToPath = createProperty("K8s::Core::KeyToPath", "k8s");
222
249
  export const LabelSelector = createProperty("K8s::Meta::LabelSelector", "k8s");
223
250
  export const LabelSelectorRequirement = createProperty("K8s::Meta::LabelSelectorRequirement", "k8s");
@@ -229,6 +256,7 @@ export const NetworkPolicyPeer = createProperty("K8s::Networking::NetworkPolicyP
229
256
  export const NetworkPolicyPort = createProperty("K8s::Networking::NetworkPolicyPort", "k8s");
230
257
  export const ObjectMeta = createProperty("K8s::Meta::ObjectMeta", "k8s");
231
258
  export const ObjectReference = createProperty("K8s::Core::ObjectReference", "k8s");
259
+ export const Order_IssuerRef = createProperty("K8s::Acme::Order.issuerRef", "k8s");
232
260
  export const PersistentVolumeClaimSpec = createProperty("K8s::Core::PersistentVolumeClaimSpec", "k8s");
233
261
  export const PodDisruptionBudgetSpec = createProperty("K8s::Policy::PodDisruptionBudgetSpec", "k8s");
234
262
  export const PodSecurityContext = createProperty("K8s::Core::PodSecurityContext", "k8s");
@@ -41,6 +41,11 @@
41
41
  "apiVersion": "v1",
42
42
  "gvkKind": "APIVersions"
43
43
  },
44
+ "AdditionalOutputFormat": {
45
+ "resourceType": "K8s::CertManager::Certificate.additionalOutputFormats",
46
+ "kind": "property",
47
+ "lexicon": "k8s"
48
+ },
44
49
  "Address": {
45
50
  "resourceType": "K8s::Gateway::Gateway.addresses",
46
51
  "kind": "property",
@@ -255,6 +260,25 @@
255
260
  "kind": "property",
256
261
  "lexicon": "k8s"
257
262
  },
263
+ "Certificate": {
264
+ "resourceType": "K8s::CertManager::Certificate",
265
+ "kind": "resource",
266
+ "lexicon": "k8s",
267
+ "apiVersion": "cert-manager.io/v1",
268
+ "gvkKind": "Certificate"
269
+ },
270
+ "CertificateRequest": {
271
+ "resourceType": "K8s::CertManager::CertificateRequest",
272
+ "kind": "resource",
273
+ "lexicon": "k8s",
274
+ "apiVersion": "cert-manager.io/v1",
275
+ "gvkKind": "CertificateRequest"
276
+ },
277
+ "CertificateRequest_IssuerRef": {
278
+ "resourceType": "K8s::CertManager::CertificateRequest.issuerRef",
279
+ "kind": "property",
280
+ "lexicon": "k8s"
281
+ },
258
282
  "CertificateSigningRequest": {
259
283
  "resourceType": "K8s::Certificates::CertificateSigningRequest",
260
284
  "kind": "resource",
@@ -269,6 +293,95 @@
269
293
  "apiVersion": "certificates.k8s.io/v1",
270
294
  "gvkKind": "CertificateSigningRequestList"
271
295
  },
296
+ "Certificate_AdditionalOutputFormat": {
297
+ "resourceType": "K8s::CertManager::Certificate.additionalOutputFormats",
298
+ "kind": "property",
299
+ "lexicon": "k8s"
300
+ },
301
+ "Certificate_IssuerRef": {
302
+ "resourceType": "K8s::CertManager::Certificate.issuerRef",
303
+ "kind": "property",
304
+ "lexicon": "k8s"
305
+ },
306
+ "Certificate_Keystores": {
307
+ "resourceType": "K8s::CertManager::Certificate.keystores",
308
+ "kind": "property",
309
+ "lexicon": "k8s"
310
+ },
311
+ "Certificate_NameConstraints": {
312
+ "resourceType": "K8s::CertManager::Certificate.nameConstraints",
313
+ "kind": "property",
314
+ "lexicon": "k8s"
315
+ },
316
+ "Certificate_OtherName": {
317
+ "resourceType": "K8s::CertManager::Certificate.otherNames",
318
+ "kind": "property",
319
+ "lexicon": "k8s"
320
+ },
321
+ "Certificate_PrivateKey": {
322
+ "resourceType": "K8s::CertManager::Certificate.privateKey",
323
+ "kind": "property",
324
+ "lexicon": "k8s"
325
+ },
326
+ "Certificate_SecretTemplate": {
327
+ "resourceType": "K8s::CertManager::Certificate.secretTemplate",
328
+ "kind": "property",
329
+ "lexicon": "k8s"
330
+ },
331
+ "Certificate_Subject": {
332
+ "resourceType": "K8s::CertManager::Certificate.subject",
333
+ "kind": "property",
334
+ "lexicon": "k8s"
335
+ },
336
+ "Challenge": {
337
+ "resourceType": "K8s::Acme::Challenge",
338
+ "kind": "resource",
339
+ "lexicon": "k8s",
340
+ "apiVersion": "acme.cert-manager.io/v1",
341
+ "gvkKind": "Challenge"
342
+ },
343
+ "Challenge_IssuerRef": {
344
+ "resourceType": "K8s::Acme::Challenge.issuerRef",
345
+ "kind": "property",
346
+ "lexicon": "k8s"
347
+ },
348
+ "Challenge_Solver": {
349
+ "resourceType": "K8s::Acme::Challenge.solver",
350
+ "kind": "property",
351
+ "lexicon": "k8s"
352
+ },
353
+ "ClusterIssuer": {
354
+ "resourceType": "K8s::CertManager::ClusterIssuer",
355
+ "kind": "resource",
356
+ "lexicon": "k8s",
357
+ "apiVersion": "cert-manager.io/v1",
358
+ "gvkKind": "ClusterIssuer"
359
+ },
360
+ "ClusterIssuer_Acme": {
361
+ "resourceType": "K8s::CertManager::ClusterIssuer.acme",
362
+ "kind": "property",
363
+ "lexicon": "k8s"
364
+ },
365
+ "ClusterIssuer_Ca": {
366
+ "resourceType": "K8s::CertManager::ClusterIssuer.ca",
367
+ "kind": "property",
368
+ "lexicon": "k8s"
369
+ },
370
+ "ClusterIssuer_SelfSigned": {
371
+ "resourceType": "K8s::CertManager::ClusterIssuer.selfSigned",
372
+ "kind": "property",
373
+ "lexicon": "k8s"
374
+ },
375
+ "ClusterIssuer_Vault": {
376
+ "resourceType": "K8s::CertManager::ClusterIssuer.vault",
377
+ "kind": "property",
378
+ "lexicon": "k8s"
379
+ },
380
+ "ClusterIssuer_Venafi": {
381
+ "resourceType": "K8s::CertManager::ClusterIssuer.venafi",
382
+ "kind": "property",
383
+ "lexicon": "k8s"
384
+ },
272
385
  "ClusterResourceBlacklist": {
273
386
  "resourceType": "K8s::Argo::AppProject.clusterResourceBlacklist",
274
387
  "kind": "property",
@@ -870,6 +983,38 @@
870
983
  "kind": "property",
871
984
  "lexicon": "k8s"
872
985
  },
986
+ "Issuer": {
987
+ "resourceType": "K8s::CertManager::Issuer",
988
+ "kind": "resource",
989
+ "lexicon": "k8s",
990
+ "apiVersion": "cert-manager.io/v1",
991
+ "gvkKind": "Issuer"
992
+ },
993
+ "Issuer_Acme": {
994
+ "resourceType": "K8s::CertManager::Issuer.acme",
995
+ "kind": "property",
996
+ "lexicon": "k8s"
997
+ },
998
+ "Issuer_Ca": {
999
+ "resourceType": "K8s::CertManager::Issuer.ca",
1000
+ "kind": "property",
1001
+ "lexicon": "k8s"
1002
+ },
1003
+ "Issuer_SelfSigned": {
1004
+ "resourceType": "K8s::CertManager::Issuer.selfSigned",
1005
+ "kind": "property",
1006
+ "lexicon": "k8s"
1007
+ },
1008
+ "Issuer_Vault": {
1009
+ "resourceType": "K8s::CertManager::Issuer.vault",
1010
+ "kind": "property",
1011
+ "lexicon": "k8s"
1012
+ },
1013
+ "Issuer_Venafi": {
1014
+ "resourceType": "K8s::CertManager::Issuer.venafi",
1015
+ "kind": "property",
1016
+ "lexicon": "k8s"
1017
+ },
873
1018
  "Job": {
874
1019
  "resourceType": "K8s::Batch::Job",
875
1020
  "kind": "resource",
@@ -894,6 +1039,11 @@
894
1039
  }
895
1040
  }
896
1041
  },
1042
+ "Keystores": {
1043
+ "resourceType": "K8s::CertManager::Certificate.keystores",
1044
+ "kind": "property",
1045
+ "lexicon": "k8s"
1046
+ },
897
1047
  "LabelSelector": {
898
1048
  "resourceType": "K8s::Meta::LabelSelector",
899
1049
  "kind": "property",
@@ -975,6 +1125,11 @@
975
1125
  "apiVersion": "v1",
976
1126
  "gvkKind": "Namespace"
977
1127
  },
1128
+ "NameConstraints": {
1129
+ "resourceType": "K8s::CertManager::Certificate.nameConstraints",
1130
+ "kind": "property",
1131
+ "lexicon": "k8s"
1132
+ },
978
1133
  "Namespace": {
979
1134
  "resourceType": "K8s::Core::Namespace",
980
1135
  "kind": "resource",
@@ -1077,11 +1232,28 @@
1077
1232
  "kind": "property",
1078
1233
  "lexicon": "k8s"
1079
1234
  },
1235
+ "Order": {
1236
+ "resourceType": "K8s::Acme::Order",
1237
+ "kind": "resource",
1238
+ "lexicon": "k8s",
1239
+ "apiVersion": "acme.cert-manager.io/v1",
1240
+ "gvkKind": "Order"
1241
+ },
1242
+ "Order_IssuerRef": {
1243
+ "resourceType": "K8s::Acme::Order.issuerRef",
1244
+ "kind": "property",
1245
+ "lexicon": "k8s"
1246
+ },
1080
1247
  "OrphanedResources": {
1081
1248
  "resourceType": "K8s::Argo::AppProject.orphanedResources",
1082
1249
  "kind": "property",
1083
1250
  "lexicon": "k8s"
1084
1251
  },
1252
+ "OtherName": {
1253
+ "resourceType": "K8s::CertManager::Certificate.otherNames",
1254
+ "kind": "property",
1255
+ "lexicon": "k8s"
1256
+ },
1085
1257
  "PDB": {
1086
1258
  "resourceType": "K8s::Policy::PodDisruptionBudget",
1087
1259
  "kind": "resource",
@@ -1273,6 +1445,11 @@
1273
1445
  "apiVersion": "flowcontrol.apiserver.k8s.io/v1",
1274
1446
  "gvkKind": "PriorityLevelConfigurationList"
1275
1447
  },
1448
+ "PrivateKey": {
1449
+ "resourceType": "K8s::CertManager::Certificate.privateKey",
1450
+ "kind": "property",
1451
+ "lexicon": "k8s"
1452
+ },
1276
1453
  "Probe": {
1277
1454
  "resourceType": "K8s::Core::Probe",
1278
1455
  "kind": "property",
@@ -1589,6 +1766,11 @@
1589
1766
  "apiVersion": "v1",
1590
1767
  "gvkKind": "SecretList"
1591
1768
  },
1769
+ "SecretTemplate": {
1770
+ "resourceType": "K8s::CertManager::Certificate.secretTemplate",
1771
+ "kind": "property",
1772
+ "lexicon": "k8s"
1773
+ },
1592
1774
  "SecurityContext": {
1593
1775
  "resourceType": "K8s::Core::SecurityContext",
1594
1776
  "kind": "property",
@@ -1698,6 +1880,11 @@
1698
1880
  "kind": "property",
1699
1881
  "lexicon": "k8s"
1700
1882
  },
1883
+ "Solver": {
1884
+ "resourceType": "K8s::Acme::Challenge.solver",
1885
+ "kind": "property",
1886
+ "lexicon": "k8s"
1887
+ },
1701
1888
  "Source": {
1702
1889
  "resourceType": "K8s::Argo::Application.source",
1703
1890
  "kind": "property",