@microagi/alchemy-gcp 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/lib/Auth/Credentials.d.ts +10 -4
  2. package/lib/Auth/Credentials.d.ts.map +1 -1
  3. package/lib/Auth/Credentials.js +13 -4
  4. package/lib/Auth/Credentials.js.map +1 -1
  5. package/lib/Compute/Address.d.ts +97 -0
  6. package/lib/Compute/Address.d.ts.map +1 -0
  7. package/lib/Compute/Address.js +143 -0
  8. package/lib/Compute/Address.js.map +1 -0
  9. package/lib/Compute/Firewall.d.ts +108 -0
  10. package/lib/Compute/Firewall.d.ts.map +1 -0
  11. package/lib/Compute/Firewall.js +163 -0
  12. package/lib/Compute/Firewall.js.map +1 -0
  13. package/lib/Compute/ForwardingRule.d.ts +106 -0
  14. package/lib/Compute/ForwardingRule.d.ts.map +1 -0
  15. package/lib/Compute/ForwardingRule.js +152 -0
  16. package/lib/Compute/ForwardingRule.js.map +1 -0
  17. package/lib/Compute/index.d.ts +3 -0
  18. package/lib/Compute/index.d.ts.map +1 -1
  19. package/lib/Compute/index.js +3 -0
  20. package/lib/Compute/index.js.map +1 -1
  21. package/lib/Container/Cluster.d.ts +20 -0
  22. package/lib/Container/Cluster.d.ts.map +1 -1
  23. package/lib/Container/Cluster.js +5 -2
  24. package/lib/Container/Cluster.js.map +1 -1
  25. package/lib/Container/NodePool.d.ts +26 -1
  26. package/lib/Container/NodePool.d.ts.map +1 -1
  27. package/lib/Container/NodePool.js +45 -8
  28. package/lib/Container/NodePool.js.map +1 -1
  29. package/lib/Kubernetes/Secret.d.ts +89 -0
  30. package/lib/Kubernetes/Secret.d.ts.map +1 -0
  31. package/lib/Kubernetes/Secret.js +139 -0
  32. package/lib/Kubernetes/Secret.js.map +1 -0
  33. package/lib/Kubernetes/client.d.ts +58 -0
  34. package/lib/Kubernetes/client.d.ts.map +1 -0
  35. package/lib/Kubernetes/client.js +131 -0
  36. package/lib/Kubernetes/client.js.map +1 -0
  37. package/lib/Kubernetes/index.d.ts +2 -0
  38. package/lib/Kubernetes/index.d.ts.map +1 -0
  39. package/lib/Kubernetes/index.js +2 -0
  40. package/lib/Kubernetes/index.js.map +1 -0
  41. package/lib/ManagedLustre/Instance.d.ts.map +1 -1
  42. package/lib/ManagedLustre/Instance.js +25 -5
  43. package/lib/ManagedLustre/Instance.js.map +1 -1
  44. package/lib/Providers.d.ts +1 -1
  45. package/lib/Providers.d.ts.map +1 -1
  46. package/lib/Providers.js +9 -1
  47. package/lib/Providers.js.map +1 -1
  48. package/lib/Sqladmin/Instance.d.ts.map +1 -1
  49. package/lib/Sqladmin/Instance.js +28 -6
  50. package/lib/Sqladmin/Instance.js.map +1 -1
  51. package/lib/index.d.ts +1 -0
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +1 -0
  54. package/lib/index.js.map +1 -1
  55. package/package.json +1 -1
  56. package/src/Auth/Credentials.ts +15 -5
  57. package/src/Compute/Address.ts +288 -0
  58. package/src/Compute/Firewall.ts +330 -0
  59. package/src/Compute/ForwardingRule.ts +301 -0
  60. package/src/Compute/index.ts +3 -0
  61. package/src/Container/Cluster.ts +25 -2
  62. package/src/Container/NodePool.ts +87 -13
  63. package/src/Kubernetes/Secret.ts +274 -0
  64. package/src/Kubernetes/client.ts +219 -0
  65. package/src/Kubernetes/index.ts +1 -0
  66. package/src/ManagedLustre/Instance.ts +35 -6
  67. package/src/Providers.ts +18 -0
  68. package/src/Sqladmin/Instance.ts +36 -7
  69. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"NodePool.js","sourceRoot":"","sources":["../../src/Container/NodePool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodePool.js","sourceRoot":"","sources":["../../src/Container/NodePool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { Credentials } from "@distilled.cloud/gcp";
2
+ import { Resource } from "alchemy";
3
+ import * as Provider from "alchemy/Provider";
4
+ import * as Redacted from "effect/Redacted";
5
+ import type * as GCP from "../Providers.ts";
6
+ /**
7
+ * An Opaque Kubernetes Secret in a GKE cluster.
8
+ *
9
+ * Unlike the rest of the GCP provider (which calls typed
10
+ * `@distilled.cloud/gcp` operations), this resource talks directly to a
11
+ * GKE cluster's Kubernetes API server — alchemy's upstream Kubernetes
12
+ * provider is EKS-only. The control-plane connection (`endpoint` +
13
+ * `caCertificate`) comes from a {@link GCP.Cluster}'s attributes; the
14
+ * bearer token is minted from the provider's ADC {@link Credentials}.
15
+ *
16
+ * Ownership for adoption is gated on alchemy-internal `metadata.labels`
17
+ * (same triple as labelled GCP resources), so a Secret created out of
18
+ * band reads back as {@link Unowned} until adopted.
19
+ *
20
+ * @section Creating a Secret
21
+ * @example Wire a Cloudflare tunnel token into the cluster
22
+ * ```typescript
23
+ * // `tunnel.token` is a `Redacted<string>`; pass it straight through —
24
+ * // the value is unwrapped only at the moment it's written to the API,
25
+ * // and stays redacted in logs/plan output.
26
+ * yield* GCP.KubernetesSecret("CloudflaredTunnelSecret", {
27
+ * endpoint: cluster.endpoint,
28
+ * caCertificate: cluster.clusterCaCertificate,
29
+ * namespace: "admin",
30
+ * name: "cloudflared-tunnel",
31
+ * stringData: { TUNNEL_TOKEN: tunnel.token },
32
+ * }).pipe(adopt(true)); // take over a secret previously applied by kubectl
33
+ * ```
34
+ */
35
+ export type KubernetesSecretProps = {
36
+ /**
37
+ * GKE control-plane endpoint (IP or hostname, no scheme) — typically
38
+ * `cluster.endpoint`. Mutable (a cluster replace yields a new one).
39
+ */
40
+ endpoint: string;
41
+ /**
42
+ * Base64-encoded cluster CA certificate (PEM) — typically
43
+ * `cluster.clusterCaCertificate`. Mutable.
44
+ */
45
+ caCertificate: string;
46
+ /** Target namespace. Immutable — replace if changed. */
47
+ namespace: string;
48
+ /**
49
+ * Secret name. Defaults to `createPhysicalName({ id, lowercase: true,
50
+ * maxLength: 63 })`. Immutable — replace if changed.
51
+ */
52
+ name?: string;
53
+ /** Secret `type`. Default `"Opaque"`. Mutable. */
54
+ type?: string;
55
+ /**
56
+ * String data (written under `stringData`; UTF-8 values). Mutable.
57
+ *
58
+ * Values may be `Redacted<string>` (e.g. a resource's secret output
59
+ * like `tunnel.token`) — they are unwrapped only when written to the
60
+ * Kubernetes API and stay opaque in logs/plan output. Plain strings
61
+ * are accepted too.
62
+ *
63
+ * NOTE: the underlying values are persisted in alchemy stack state
64
+ * (the engine diffs on the real value) — protect the state backend.
65
+ */
66
+ stringData: Record<string, Redacted.Redacted<string> | string>;
67
+ /** Extra metadata labels (alchemy ownership labels merge on top). Mutable. */
68
+ labels?: Record<string, string>;
69
+ };
70
+ export type KubernetesSecretAttributes = {
71
+ /** Secret name. */
72
+ name: string;
73
+ /** Namespace. */
74
+ namespace: string;
75
+ /** Control-plane endpoint, threaded through for delete/read. */
76
+ endpoint: string;
77
+ /** Cluster CA certificate, threaded through for delete/read. */
78
+ caCertificate: string;
79
+ /** Secret type. */
80
+ type: string;
81
+ /** Server-assigned uid. */
82
+ uid: string | undefined;
83
+ /** Server-assigned resourceVersion at last apply. */
84
+ resourceVersion: string | undefined;
85
+ };
86
+ export type KubernetesSecret = Resource<"GCP.KubernetesSecret", KubernetesSecretProps, KubernetesSecretAttributes, never, GCP.Providers>;
87
+ export declare const KubernetesSecret: import("alchemy").ResourceClass<KubernetesSecret>;
88
+ export declare const KubernetesSecretProvider: () => import("effect/Layer").Layer<Provider.Provider<KubernetesSecret>, never, import("alchemy").Stack | import("alchemy").Stage | Credentials>;
89
+ //# sourceMappingURL=Secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/Secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/D,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,qDAAqD;IACrD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACrC,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AACF,eAAO,MAAM,gBAAgB,mDAE5B,CAAC;AA2CF,eAAO,MAAM,wBAAwB,iJAwHlC,CAAC"}
@@ -0,0 +1,139 @@
1
+ import { Credentials } from "@distilled.cloud/gcp";
2
+ import { Resource } from "alchemy";
3
+ import { Unowned } from "alchemy/AdoptPolicy";
4
+ import { isResolved, somePropsAreDifferent } from "alchemy/Diff";
5
+ import { createPhysicalName } from "alchemy/PhysicalName";
6
+ import * as Provider from "alchemy/Provider";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Redacted from "effect/Redacted";
9
+ import { gcpInternalLabels, hasAlchemyLabels } from "../Tags.js";
10
+ import { applySecret, deleteSecret, getSecret, KubernetesApiError, } from "./client.js";
11
+ export const KubernetesSecret = Resource("GCP.KubernetesSecret");
12
+ const toAttributes = (s, parent) => ({
13
+ name: s?.metadata?.name ?? parent.name,
14
+ namespace: s?.metadata?.namespace ?? parent.namespace,
15
+ endpoint: parent.endpoint,
16
+ caCertificate: parent.caCertificate,
17
+ type: s?.type ?? parent.type,
18
+ uid: s?.metadata?.uid,
19
+ resourceVersion: s?.metadata?.resourceVersion,
20
+ });
21
+ /** Mint a fresh GKE connection from props + ADC credentials. */
22
+ const connect = Effect.fn("k8sSecret.connect")(function* (props) {
23
+ const { accessToken } = yield* yield* Credentials;
24
+ return {
25
+ endpoint: props.endpoint,
26
+ caCertificate: props.caCertificate,
27
+ token: Redacted.value(accessToken),
28
+ };
29
+ });
30
+ const observe = (connection, namespace, name) => getSecret(connection, namespace, name).pipe(Effect.catchIf((e) => e instanceof KubernetesApiError && e.statusCode === 404, () => Effect.succeed(undefined)));
31
+ export const KubernetesSecretProvider = () => Provider.effect(KubernetesSecret, Effect.gen(function* () {
32
+ return {
33
+ // Attributes unchanged by an in-place update (so dependents can
34
+ // resolve them at plan time): identity (name/namespace), the
35
+ // server-assigned uid, and endpoint — which is a replace trigger,
36
+ // so it never changes on update. caCertificate is intentionally
37
+ // excluded: it can rotate on the same cluster.
38
+ stables: ["name", "namespace", "endpoint", "uid"],
39
+ diff: Effect.fn(function* ({ id, news, olds = {} }) {
40
+ if (!isResolved(news))
41
+ return undefined;
42
+ const o = olds;
43
+ // Compare the RESOLVED name and type (with their defaults
44
+ // applied), not the raw props — otherwise omitting `name` on one
45
+ // side and setting it to the generated physical name on the
46
+ // other (or the same for `type`/"Opaque") triggers a spurious
47
+ // replace.
48
+ const defaultName = (yield* createPhysicalName({ id, maxLength: 63 })).toLowerCase();
49
+ const sameName = (o.name ?? defaultName) === (news.name ?? defaultName);
50
+ const sameType = (o.type ?? "Opaque") === (news.type ?? "Opaque");
51
+ // Replace (create new + delete old) rather than in-place SSA on:
52
+ // - `endpoint`: points at a different cluster (would orphan the
53
+ // old Secret). caCertificate is excluded — it can rotate on
54
+ // the same cluster and should just re-apply.
55
+ // - `namespace`/`name`: the object's identity.
56
+ // - `type`: immutable on a Kubernetes Secret; an in-place apply
57
+ // with a new type is rejected by the API.
58
+ if (!sameName ||
59
+ !sameType ||
60
+ somePropsAreDifferent(o, news, ["namespace", "endpoint"])) {
61
+ return { action: "replace" };
62
+ }
63
+ return undefined;
64
+ }),
65
+ reconcile: Effect.fn(function* ({ id, news }) {
66
+ const desiredName = news.name ??
67
+ (yield* createPhysicalName({ id, maxLength: 63 })).toLowerCase();
68
+ const desiredType = news.type ?? "Opaque";
69
+ const labels = {
70
+ ...(news.labels ?? {}),
71
+ ...(yield* gcpInternalLabels(id)),
72
+ };
73
+ const connection = yield* connect(news);
74
+ // Unwrap any Redacted values at the last moment — Redacted is
75
+ // kept opaque through Output resolution, so it arrives here as
76
+ // a Redacted object that would JSON-serialize to "<redacted>"
77
+ // if passed through verbatim — then base64-encode for `data`.
78
+ const data = {};
79
+ for (const [k, v] of Object.entries(news.stringData)) {
80
+ const raw = Redacted.isRedacted(v) ? Redacted.value(v) : v;
81
+ data[k] = Buffer.from(raw, "utf8").toString("base64");
82
+ }
83
+ // Server-side apply is an idempotent upsert — it both creates
84
+ // the Secret if missing and converges its data/labels if it
85
+ // exists, taking field-manager ownership (force=true).
86
+ const applied = yield* applySecret(connection, {
87
+ metadata: { name: desiredName, namespace: news.namespace, labels },
88
+ type: desiredType,
89
+ data,
90
+ });
91
+ // A 2xx apply normally echoes the object, but a successful
92
+ // empty-body response is possible — re-read so we always return
93
+ // real attributes (uid/resourceVersion) rather than crash. Use
94
+ // getSecret (NOT observe): if the Secret is somehow absent after
95
+ // a successful apply, propagate the 404 and fail the reconcile
96
+ // instead of recording an empty success.
97
+ const final = applied?.metadata
98
+ ? applied
99
+ : yield* getSecret(connection, news.namespace, desiredName);
100
+ return toAttributes(final, {
101
+ name: desiredName,
102
+ namespace: news.namespace,
103
+ endpoint: news.endpoint,
104
+ caCertificate: news.caCertificate,
105
+ type: desiredType,
106
+ });
107
+ }),
108
+ delete: Effect.fn(function* ({ output }) {
109
+ const connection = yield* connect(output);
110
+ yield* deleteSecret(connection, output.namespace, output.name);
111
+ }),
112
+ read: Effect.fn(function* ({ id, output, olds }) {
113
+ const endpoint = output?.endpoint ?? olds?.endpoint;
114
+ const caCertificate = output?.caCertificate ?? olds?.caCertificate;
115
+ const namespace = output?.namespace ?? olds?.namespace;
116
+ if (!endpoint || !caCertificate || !namespace)
117
+ return undefined;
118
+ const name = output?.name ??
119
+ olds?.name ??
120
+ (yield* createPhysicalName({ id, maxLength: 63 })).toLowerCase();
121
+ const type = output?.type ?? olds?.type ?? "Opaque";
122
+ const connection = yield* connect({ endpoint, caCertificate });
123
+ const observed = yield* observe(connection, namespace, name);
124
+ if (!observed)
125
+ return undefined;
126
+ const attrs = toAttributes(observed, {
127
+ name,
128
+ namespace,
129
+ endpoint,
130
+ caCertificate,
131
+ type,
132
+ });
133
+ return (yield* hasAlchemyLabels(id, observed.metadata?.labels))
134
+ ? attrs
135
+ : Unowned(attrs);
136
+ }),
137
+ };
138
+ }));
139
+ //# sourceMappingURL=Secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../../src/Kubernetes/Secret.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import * as Effect from "effect/Effect";
2
+ /** Connection details for a single GKE control plane. */
3
+ export interface GkeConnection {
4
+ /** Master endpoint — IP or hostname, no scheme (e.g. `34.1.2.3`). */
5
+ endpoint: string;
6
+ /** Base64-encoded cluster CA certificate (PEM), as GKE returns it. */
7
+ caCertificate: string;
8
+ /** Google OAuth access token (cloud-platform scope) for `Authorization`. */
9
+ token: string;
10
+ }
11
+ declare const KubernetesApiError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
12
+ readonly _tag: "KubernetesApiError";
13
+ } & Readonly<A>;
14
+ /** A non-2xx (or transport) response from the Kubernetes API server. */
15
+ export declare class KubernetesApiError extends KubernetesApiError_base<{
16
+ method: string;
17
+ path: string;
18
+ statusCode: number;
19
+ body: string;
20
+ }> {
21
+ }
22
+ /** Live view of a Kubernetes Secret object (subset we care about). */
23
+ export interface SecretObject {
24
+ apiVersion?: string;
25
+ kind?: string;
26
+ metadata?: {
27
+ name?: string;
28
+ namespace?: string;
29
+ uid?: string;
30
+ resourceVersion?: string;
31
+ labels?: Record<string, string>;
32
+ };
33
+ type?: string;
34
+ }
35
+ /** GET a Secret; the caller maps `KubernetesApiError(404)` to "missing". */
36
+ export declare const getSecret: (connection: GkeConnection, namespace: string, name: string) => Effect.Effect<SecretObject, KubernetesApiError>;
37
+ /**
38
+ * Server-side apply a Secret (idempotent create-or-update). `force=true`
39
+ * makes alchemy the field manager even if another manager owns fields.
40
+ *
41
+ * Values go through `data` (base64), NOT `stringData`: server-side apply
42
+ * tracks the field manager's ownership of `data` keys, so dropping a key
43
+ * from a later apply prunes it from the stored Secret. `stringData` is
44
+ * write-only/ephemeral and isn't tracked, which would leave stale keys.
45
+ */
46
+ export declare const applySecret: (connection: GkeConnection, secret: {
47
+ metadata: {
48
+ name: string;
49
+ namespace: string;
50
+ labels?: Record<string, string>;
51
+ };
52
+ type: string;
53
+ data: Record<string, string>;
54
+ }) => Effect.Effect<SecretObject | undefined, KubernetesApiError>;
55
+ /** DELETE a Secret; 404 is tolerated as success (idempotent teardown). */
56
+ export declare const deleteSecret: (connection: GkeConnection, namespace: string, name: string) => Effect.Effect<unknown, never, never>;
57
+ export {};
58
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAuBxC,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;;;;AAED,wEAAwE;AACxE,qBAAa,kBAAmB,SAAQ,wBAEtC;IACA,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;AA0GL,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,4EAA4E;AAC5E,eAAO,MAAM,SAAS,GACpB,YAAY,aAAa,EACzB,WAAW,MAAM,EACjB,MAAM,MAAM,KAMN,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,YAAY,aAAa,EACzB,QAAQ;IACN,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,KAQK,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEpE,0EAA0E;AAC1E,eAAO,MAAM,YAAY,GACvB,YAAY,aAAa,EACzB,WAAW,MAAM,EACjB,MAAM,MAAM,yCAYX,CAAC"}
@@ -0,0 +1,131 @@
1
+ import * as Data from "effect/Data";
2
+ import * as Effect from "effect/Effect";
3
+ import * as https from "node:https";
4
+ /**
5
+ * Minimal GKE Kubernetes REST client.
6
+ *
7
+ * Talks to a GKE cluster's control plane over HTTPS using:
8
+ * - a Google OAuth bearer token (cloud-platform scope), minted from the
9
+ * provider's ADC {@link Credentials}, and
10
+ * - the cluster's own CA certificate for TLS verification.
11
+ *
12
+ * `node:https` is used deliberately here (rather than the Effect
13
+ * `HttpClient`): the GKE API server presents a certificate signed by the
14
+ * *per-cluster* CA — not a public root — so the request must trust an
15
+ * explicit, runtime-resolved `ca` PEM. This is the same justified TLS
16
+ * exception alchemy makes in its own (EKS-only) Kubernetes client. Calls
17
+ * are wrapped in `Effect.tryPromise` so failures surface as typed errors
18
+ * in the Effect runtime; a socket timeout bounds hung requests. (Effect
19
+ * interruption won't abort an in-flight socket — the timeout is what
20
+ * guarantees a deploy can't block forever.)
21
+ */
22
+ const REQUEST_TIMEOUT_MS = 30_000;
23
+ /** A non-2xx (or transport) response from the Kubernetes API server. */
24
+ export class KubernetesApiError extends Data.TaggedError("KubernetesApiError") {
25
+ }
26
+ const requestJson = Effect.fn("k8s.requestJson")(function* ({ connection, method, path, body, contentType, }) {
27
+ const url = new URL(path, `https://${connection.endpoint}`);
28
+ const payload = body ? JSON.stringify(body) : undefined;
29
+ const ca = Buffer.from(connection.caCertificate, "base64").toString("utf8");
30
+ return yield* Effect.tryPromise({
31
+ try: () => new Promise((resolve, reject) => {
32
+ const request = https.request({
33
+ protocol: url.protocol,
34
+ hostname: url.hostname,
35
+ port: url.port || 443,
36
+ path: `${url.pathname}${url.search}`,
37
+ method,
38
+ headers: {
39
+ Authorization: `Bearer ${connection.token}`,
40
+ Accept: "application/json",
41
+ ...(payload
42
+ ? {
43
+ "Content-Type": contentType ?? "application/json",
44
+ "Content-Length": Buffer.byteLength(payload),
45
+ }
46
+ : {}),
47
+ },
48
+ ca,
49
+ timeout: REQUEST_TIMEOUT_MS,
50
+ }, (response) => {
51
+ const chunks = [];
52
+ response.on("data", (chunk) => {
53
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
54
+ });
55
+ response.on("end", () => {
56
+ const responseBody = Buffer.concat(chunks).toString("utf8");
57
+ const statusCode = response.statusCode ?? 500;
58
+ if (statusCode < 200 || statusCode >= 300) {
59
+ reject(new KubernetesApiError({
60
+ method,
61
+ path,
62
+ statusCode,
63
+ body: responseBody,
64
+ }));
65
+ return;
66
+ }
67
+ if (!responseBody.trim()) {
68
+ resolve(undefined);
69
+ return;
70
+ }
71
+ try {
72
+ resolve(JSON.parse(responseBody));
73
+ }
74
+ catch {
75
+ resolve(responseBody);
76
+ }
77
+ });
78
+ });
79
+ request.on("error", reject);
80
+ // `timeout` only fires the event — we must destroy the socket
81
+ // ourselves so the promise rejects instead of hanging.
82
+ request.on("timeout", () => request.destroy(new KubernetesApiError({
83
+ method,
84
+ path,
85
+ statusCode: 0,
86
+ body: `request timed out after ${REQUEST_TIMEOUT_MS}ms`,
87
+ })));
88
+ if (payload)
89
+ request.write(payload);
90
+ request.end();
91
+ }),
92
+ catch: (error) => error instanceof KubernetesApiError
93
+ ? error
94
+ : new KubernetesApiError({
95
+ method,
96
+ path,
97
+ statusCode: 0,
98
+ body: error instanceof Error ? error.message : String(error),
99
+ }),
100
+ });
101
+ });
102
+ const secretPath = (namespace, name) => `/api/v1/namespaces/${namespace}/secrets/${name}`;
103
+ /** GET a Secret; the caller maps `KubernetesApiError(404)` to "missing". */
104
+ export const getSecret = (connection, namespace, name) => requestJson({
105
+ connection,
106
+ method: "GET",
107
+ path: secretPath(namespace, name),
108
+ });
109
+ /**
110
+ * Server-side apply a Secret (idempotent create-or-update). `force=true`
111
+ * makes alchemy the field manager even if another manager owns fields.
112
+ *
113
+ * Values go through `data` (base64), NOT `stringData`: server-side apply
114
+ * tracks the field manager's ownership of `data` keys, so dropping a key
115
+ * from a later apply prunes it from the stored Secret. `stringData` is
116
+ * write-only/ephemeral and isn't tracked, which would leave stale keys.
117
+ */
118
+ export const applySecret = (connection, secret) => requestJson({
119
+ connection,
120
+ method: "PATCH",
121
+ path: `${secretPath(secret.metadata.namespace, secret.metadata.name)}?fieldManager=alchemy&force=true`,
122
+ contentType: "application/apply-patch+yaml",
123
+ body: { apiVersion: "v1", kind: "Secret", ...secret },
124
+ });
125
+ /** DELETE a Secret; 404 is tolerated as success (idempotent teardown). */
126
+ export const deleteSecret = (connection, namespace, name) => requestJson({
127
+ connection,
128
+ method: "DELETE",
129
+ path: secretPath(namespace, name),
130
+ }).pipe(Effect.catchIf((e) => e instanceof KubernetesApiError && e.statusCode === 404, () => Effect.void));
131
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/Kubernetes/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAYlC,wEAAwE;AACxE,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CACtD,oBAAoB,CAMpB;CAAG;AAEL,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAC1D,UAAU,EACV,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,WAAW,GAOZ;IACC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9B,GAAG,EAAE,GAAG,EAAE,CACR,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B;gBACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG;gBACrB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;gBACpC,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,UAAU,CAAC,KAAK,EAAE;oBAC3C,MAAM,EAAE,kBAAkB;oBAC1B,GAAG,CAAC,OAAO;wBACT,CAAC,CAAC;4BACE,cAAc,EACZ,WAAW,IAAI,kBAAkB;4BACnC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;yBAC7C;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,EAAE;gBACF,OAAO,EAAE,kBAAkB;aAC5B,EACD,CAAC,QAAQ,EAAE,EAAE;gBACX,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC;oBAE9C,IAAI,UAAU,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;wBAC1C,MAAM,CACJ,IAAI,kBAAkB,CAAC;4BACrB,MAAM;4BACN,IAAI;4BACJ,UAAU;4BACV,IAAI,EAAE,YAAY;yBACnB,CAAC,CACH,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;wBACzB,OAAO,CAAC,SAAS,CAAC,CAAC;wBACnB,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,YAAY,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,8DAA8D;YAC9D,uDAAuD;YACvD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CACzB,OAAO,CAAC,OAAO,CACb,IAAI,kBAAkB,CAAC;gBACrB,MAAM;gBACN,IAAI;gBACJ,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,2BAA2B,kBAAkB,IAAI;aACxD,CAAC,CACH,CACF,CAAC;YACF,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QACJ,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,YAAY,kBAAkB;YACjC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,kBAAkB,CAAC;gBACrB,MAAM;gBACN,IAAI;gBACJ,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC;KACT,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAgBH,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAE,CACrD,sBAAsB,SAAS,YAAY,IAAI,EAAE,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,UAAyB,EACzB,SAAiB,EACjB,IAAY,EACZ,EAAE,CACF,WAAW,CAAC;IACV,UAAU;IACV,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC;CAClC,CAAoD,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,UAAyB,EACzB,MAIC,EACD,EAAE,CACF,WAAW,CAAC;IACV,UAAU;IACV,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kCAAkC;IACtG,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;CACtD,CAAgE,CAAC;AAEpE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAyB,EACzB,SAAiB,EACjB,IAAY,EACZ,EAAE,CACF,WAAW,CAAC;IACV,UAAU;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC;CAClC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CACZ,CAAC,CAAC,EAA2B,EAAE,CAC7B,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,UAAU,KAAK,GAAG,EACzD,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAClB,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Secret.ts";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Secret.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Kubernetes/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/ManagedLustre/Instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAK7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC;IAC/C;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6CAA6C;IAC7C,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,+BAA+B;IAC/B,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AACF,eAAO,MAAM,qBAAqB,wDAEjC,CAAC;AAkCF,eAAO,MAAM,6BAA6B,4OAqMvC,CAAC"}
1
+ {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/ManagedLustre/Instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAK7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC;IAC/C;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6CAA6C;IAC7C,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,+BAA+B;IAC/B,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AACF,eAAO,MAAM,qBAAqB,wDAEjC,CAAC;AAkCF,eAAO,MAAM,6BAA6B,4OAkOvC,CAAC"}
@@ -35,6 +35,7 @@ const toAttributes = (i, parent) => ({
35
35
  });
36
36
  export const ManagedLustreInstanceProvider = () => Provider.effect(ManagedLustreInstance, Effect.gen(function* () {
37
37
  const getInstance = yield* lustre.getProjectsLocationsInstances;
38
+ const listInstances = yield* lustre.listProjectsLocationsInstances;
38
39
  const createInstance = yield* lustre.createProjectsLocationsInstances;
39
40
  const patchInstance = yield* lustre.patchProjectsLocationsInstances;
40
41
  const deleteInstance = yield* lustre.deleteProjectsLocationsInstances;
@@ -163,12 +164,31 @@ export const ManagedLustreInstanceProvider = () => Provider.effect(ManagedLustre
163
164
  const network = output?.network ?? olds?.network;
164
165
  if (!project || !location || !network)
165
166
  return undefined;
166
- const instanceId = output?.instanceId ??
167
- olds?.instanceId ??
168
- (yield* createPhysicalName({ id, maxLength: 63 })).toLowerCase();
169
- const observed = yield* observe(project, location, instanceId);
170
- if (!observed)
167
+ const persistedId = output?.instanceId ?? olds?.instanceId;
168
+ let observed;
169
+ if (persistedId) {
170
+ observed = yield* observe(project, location, persistedId);
171
+ }
172
+ else {
173
+ // Cold recovery (lost state): the instance id carries a
174
+ // random per-instance suffix that lived only in state, so a
175
+ // probe against a freshly-generated id can never hit. Scan
176
+ // the location's instances for our alchemy labels instead.
177
+ const page = yield* listInstances({
178
+ parent: `projects/${project}/locations/${location}`,
179
+ }).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)), Effect.catchTag("Forbidden", () => Effect.succeed(undefined)));
180
+ for (const candidate of page?.instances ?? []) {
181
+ if (yield* hasAlchemyLabels(id, candidate.labels)) {
182
+ observed = candidate;
183
+ break;
184
+ }
185
+ }
186
+ }
187
+ if (!observed?.name)
171
188
  return undefined;
189
+ // `name` is the full resource path; the instance id is its
190
+ // last segment.
191
+ const instanceId = observed.name.split("/").pop();
172
192
  const attrs = toAttributes(observed, {
173
193
  project,
174
194
  location,