@microagi/alchemy-gcp 0.1.3 → 0.2.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.
- package/README.md +0 -2
- package/lib/CloudResourceManager/Project.d.ts +16 -1
- package/lib/CloudResourceManager/Project.d.ts.map +1 -1
- package/lib/CloudResourceManager/Project.js +59 -1
- package/lib/CloudResourceManager/Project.js.map +1 -1
- package/lib/CloudResourceManager/ProjectIamMember.d.ts +25 -0
- package/lib/CloudResourceManager/ProjectIamMember.d.ts.map +1 -0
- package/lib/CloudResourceManager/ProjectIamMember.js +22 -0
- package/lib/CloudResourceManager/ProjectIamMember.js.map +1 -0
- package/lib/CloudResourceManager/index.d.ts +1 -0
- package/lib/CloudResourceManager/index.d.ts.map +1 -1
- package/lib/CloudResourceManager/index.js +1 -0
- package/lib/CloudResourceManager/index.js.map +1 -1
- package/lib/Compute/Network.d.ts +39 -2
- package/lib/Compute/Network.d.ts.map +1 -1
- package/lib/Compute/Network.js +12 -0
- package/lib/Compute/Network.js.map +1 -1
- package/lib/Compute/SharedVpcServiceProject.d.ts.map +1 -1
- package/lib/Compute/SharedVpcServiceProject.js +7 -1
- package/lib/Compute/SharedVpcServiceProject.js.map +1 -1
- package/lib/Compute/Subnetwork.d.ts +16 -1
- package/lib/Compute/Subnetwork.d.ts.map +1 -1
- package/lib/Compute/Subnetwork.js +74 -1
- package/lib/Compute/Subnetwork.js.map +1 -1
- package/lib/Compute/SubnetworkIamMember.d.ts +45 -0
- package/lib/Compute/SubnetworkIamMember.d.ts.map +1 -0
- package/lib/Compute/SubnetworkIamMember.js +46 -0
- package/lib/Compute/SubnetworkIamMember.js.map +1 -0
- package/lib/Compute/index.d.ts +1 -0
- package/lib/Compute/index.d.ts.map +1 -1
- package/lib/Compute/index.js +1 -0
- package/lib/Compute/index.js.map +1 -1
- package/lib/ManagedLustre/Instance.d.ts +173 -0
- package/lib/ManagedLustre/Instance.d.ts.map +1 -0
- package/lib/{Parallelstore → ManagedLustre}/Instance.js +39 -35
- package/lib/ManagedLustre/Instance.js.map +1 -0
- package/lib/ManagedLustre/index.d.ts.map +1 -0
- package/lib/ManagedLustre/index.js.map +1 -0
- package/lib/Providers.js +3 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +4 -4
- package/src/CloudResourceManager/Project.ts +90 -2
- package/src/CloudResourceManager/ProjectIamMember.ts +29 -0
- package/src/CloudResourceManager/index.ts +1 -0
- package/src/Compute/Network.ts +58 -5
- package/src/Compute/SharedVpcServiceProject.ts +6 -1
- package/src/Compute/Subnetwork.ts +105 -2
- package/src/Compute/SubnetworkIamMember.ts +52 -0
- package/src/Compute/index.ts +1 -0
- package/src/{Parallelstore → ManagedLustre}/Instance.ts +163 -110
- package/src/Providers.ts +5 -5
- package/src/index.ts +1 -1
- package/lib/Parallelstore/Instance.d.ts +0 -119
- package/lib/Parallelstore/Instance.d.ts.map +0 -1
- package/lib/Parallelstore/Instance.js.map +0 -1
- package/lib/Parallelstore/index.d.ts.map +0 -1
- package/lib/Parallelstore/index.js.map +0 -1
- /package/lib/{Parallelstore → ManagedLustre}/index.d.ts +0 -0
- /package/lib/{Parallelstore → ManagedLustre}/index.js +0 -0
- /package/src/{Parallelstore → ManagedLustre}/index.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subnetwork.js","sourceRoot":"","sources":["../../src/Compute/Subnetwork.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Subnetwork.js","sourceRoot":"","sources":["../../src/Compute/Subnetwork.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type { Subnetwork } from "./Subnetwork.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Bind a single `(role, member)` IAM grant onto a {@link Subnetwork}.
|
|
5
|
+
*
|
|
6
|
+
* This is a **target-side binding** — it records the grant onto the
|
|
7
|
+
* subnet's binding bag (`stack.bindings[subnet]`); the Subnetwork
|
|
8
|
+
* provider's `reconcile` later merges all such bindings (across all
|
|
9
|
+
* callers, including parallel ones from different cluster projects)
|
|
10
|
+
* into a single `setIamPolicy` call on the subnet.
|
|
11
|
+
*
|
|
12
|
+
* Identity for dedup: the rendered SID is `IamMember(<subnet>, <key>)`.
|
|
13
|
+
* The engine collapses binds by SID, so callers MUST supply a
|
|
14
|
+
* stack-unique `key` per (subnet, role, member) triple — otherwise a
|
|
15
|
+
* later bind silently overwrites an earlier one with the same key.
|
|
16
|
+
*
|
|
17
|
+
* The reason `key` exists: `member` is usually an `Output<string>`
|
|
18
|
+
* (e.g. `Output.interpolate\`...${proj.projectNumber}...\``), and
|
|
19
|
+
* `Output` expressions stringify by their AST shape, not by the
|
|
20
|
+
* eventual value. Two interpolations of the same shape but different
|
|
21
|
+
* literal templates render the same SID. `key` sidesteps that by
|
|
22
|
+
* forcing a static, caller-supplied label into the SID.
|
|
23
|
+
*
|
|
24
|
+
* Use this for the "Pulumi `gcp.compute.SubnetworkIAMMember`" pattern:
|
|
25
|
+
* authoritative-for-(role, member)-tuple, additive (does not displace
|
|
26
|
+
* other members on the same role).
|
|
27
|
+
*
|
|
28
|
+
* @example Granting GKE Standard cluster networkUser on a Shared VPC subnet
|
|
29
|
+
* ```typescript
|
|
30
|
+
* yield* GCP.subnetworkIamMember(subnet, "ClusterA-GkeAgent", {
|
|
31
|
+
* role: "roles/compute.networkUser",
|
|
32
|
+
* member: gkeAgentMember,
|
|
33
|
+
* });
|
|
34
|
+
* yield* GCP.subnetworkIamMember(subnet, "ClusterA-CloudSvc", {
|
|
35
|
+
* role: "roles/compute.networkUser",
|
|
36
|
+
* member: cloudServicesMember,
|
|
37
|
+
* });
|
|
38
|
+
* // → one setIamPolicy on `subnet` with both members under networkUser.
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const subnetworkIamMember: (subnet: Subnetwork, key: string, args: {
|
|
42
|
+
role: string;
|
|
43
|
+
member: string;
|
|
44
|
+
}) => Effect.Effect<void>;
|
|
45
|
+
//# sourceMappingURL=SubnetworkIamMember.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubnetworkIamMember.d.ts","sourceRoot":"","sources":["../../src/Compute/SubnetworkIamMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,UAAU,EAClB,KAAK,MAAM,EACX,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAMiB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bind a single `(role, member)` IAM grant onto a {@link Subnetwork}.
|
|
3
|
+
*
|
|
4
|
+
* This is a **target-side binding** — it records the grant onto the
|
|
5
|
+
* subnet's binding bag (`stack.bindings[subnet]`); the Subnetwork
|
|
6
|
+
* provider's `reconcile` later merges all such bindings (across all
|
|
7
|
+
* callers, including parallel ones from different cluster projects)
|
|
8
|
+
* into a single `setIamPolicy` call on the subnet.
|
|
9
|
+
*
|
|
10
|
+
* Identity for dedup: the rendered SID is `IamMember(<subnet>, <key>)`.
|
|
11
|
+
* The engine collapses binds by SID, so callers MUST supply a
|
|
12
|
+
* stack-unique `key` per (subnet, role, member) triple — otherwise a
|
|
13
|
+
* later bind silently overwrites an earlier one with the same key.
|
|
14
|
+
*
|
|
15
|
+
* The reason `key` exists: `member` is usually an `Output<string>`
|
|
16
|
+
* (e.g. `Output.interpolate\`...${proj.projectNumber}...\``), and
|
|
17
|
+
* `Output` expressions stringify by their AST shape, not by the
|
|
18
|
+
* eventual value. Two interpolations of the same shape but different
|
|
19
|
+
* literal templates render the same SID. `key` sidesteps that by
|
|
20
|
+
* forcing a static, caller-supplied label into the SID.
|
|
21
|
+
*
|
|
22
|
+
* Use this for the "Pulumi `gcp.compute.SubnetworkIAMMember`" pattern:
|
|
23
|
+
* authoritative-for-(role, member)-tuple, additive (does not displace
|
|
24
|
+
* other members on the same role).
|
|
25
|
+
*
|
|
26
|
+
* @example Granting GKE Standard cluster networkUser on a Shared VPC subnet
|
|
27
|
+
* ```typescript
|
|
28
|
+
* yield* GCP.subnetworkIamMember(subnet, "ClusterA-GkeAgent", {
|
|
29
|
+
* role: "roles/compute.networkUser",
|
|
30
|
+
* member: gkeAgentMember,
|
|
31
|
+
* });
|
|
32
|
+
* yield* GCP.subnetworkIamMember(subnet, "ClusterA-CloudSvc", {
|
|
33
|
+
* role: "roles/compute.networkUser",
|
|
34
|
+
* member: cloudServicesMember,
|
|
35
|
+
* });
|
|
36
|
+
* // → one setIamPolicy on `subnet` with both members under networkUser.
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export const subnetworkIamMember = (subnet, key, args) =>
|
|
40
|
+
// Tagged-template `.bind` records into the target's binding bag.
|
|
41
|
+
// Subnetwork's reconcile sees `bindings: ResourceBinding<…>[]` and
|
|
42
|
+
// merges all entries by role into one setIamPolicy call.
|
|
43
|
+
subnet.bind `IamMember(${subnet}, ${key})`({
|
|
44
|
+
iamBindings: [{ role: args.role, members: [args.member] }],
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=SubnetworkIamMember.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubnetworkIamMember.js","sourceRoot":"","sources":["../../src/Compute/SubnetworkIamMember.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAkB,EAClB,GAAW,EACX,IAAsC,EACjB,EAAE;AACvB,iEAAiE;AACjE,mEAAmE;AACnE,yDAAyD;AACzD,MAAM,CAAC,IAAI,CAAA,aAAa,MAAM,KAAK,GAAG,GAAG,CAAC;IACxC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAmC,CAAC"}
|
package/lib/Compute/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
package/lib/Compute/index.js
CHANGED
package/lib/Compute/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Resource } from "alchemy";
|
|
2
|
+
import * as Provider from "alchemy/Provider";
|
|
3
|
+
import type { NetworkRefById } from "../Compute/Network.ts";
|
|
4
|
+
import type * as GCP from "../Providers.ts";
|
|
5
|
+
/**
|
|
6
|
+
* A Google Cloud Managed Lustre instance — a managed parallel POSIX
|
|
7
|
+
* filesystem (DDN EXAScaler under the hood) for AI training and HPC
|
|
8
|
+
* shared storage. Mounted in GKE clusters via the Managed Lustre CSI
|
|
9
|
+
* driver. The Google-blessed successor to Parallelstore (deprecated,
|
|
10
|
+
* EOS 2026-10-31).
|
|
11
|
+
*
|
|
12
|
+
* **Network preconditions.** The instance attaches to a VPC over PSA
|
|
13
|
+
* (Private Services Access) consumed via `servicenetworking`. The
|
|
14
|
+
* consumer VPC must already have:
|
|
15
|
+
* 1. A `GCP.GlobalAddress` reservation (`purpose=VPC_PEERING`,
|
|
16
|
+
* `addressType=INTERNAL`, ≥/24 prefix length).
|
|
17
|
+
* 2. A `GCP.PsaConnection` to `servicenetworking.googleapis.com`.
|
|
18
|
+
* Lustre does NOT take a `reservedIpRange` field — it auto-allocates
|
|
19
|
+
* from whichever PSA peering the network already has.
|
|
20
|
+
*
|
|
21
|
+
* **Capacity & tier.** Two tiering shapes:
|
|
22
|
+
* - **Dynamic tier** (`dynamicTierMode: "DEFAULT_CACHE"`) — pay-per-GiB
|
|
23
|
+
* elastic capacity. `perUnitStorageThroughput` MUST be unset.
|
|
24
|
+
* - **Performance tier** — `perUnitStorageThroughput` ∈ {125, 250,
|
|
25
|
+
* 500, 1000} MBps/TiB; `dynamicTierMode` left unset (or "DISABLED").
|
|
26
|
+
*
|
|
27
|
+
* `capacityGib` floors and increments are tier-specific and **much
|
|
28
|
+
* higher than the Google docs imply**. Empirical limits (probed
|
|
29
|
+
* `europe-west4-a`, May 2026):
|
|
30
|
+
*
|
|
31
|
+
* | Tier | Min capacity | Increment |
|
|
32
|
+
* |----------------------------------------------|---------------------|-----------------|
|
|
33
|
+
* | `dynamicTierMode: "DEFAULT_CACHE"` | 472000 GiB (~461T) | unknown |
|
|
34
|
+
* | `perUnitStorageThroughput: "125"` | 72000 GiB (~70T) | unknown |
|
|
35
|
+
* | `perUnitStorageThroughput: "250"` | 36000 GiB (~35T) | unknown |
|
|
36
|
+
* | `perUnitStorageThroughput: "500"` | (≤18000 ok) | 18000 GiB |
|
|
37
|
+
* | `perUnitStorageThroughput: "1000"` | (≤18000 ok) | 9000 GiB |
|
|
38
|
+
*
|
|
39
|
+
* Each tier has its own quota metric
|
|
40
|
+
* (`StorageFor{125,250,500,1000}MBpThroughputPerTiB` for Performance);
|
|
41
|
+
* default is **zero** in `europe-west4-a` for new projects, so a
|
|
42
|
+
* quota request through the GCP console is required before any
|
|
43
|
+
* Performance-tier instance creates. Dynamic-tier quota was not
|
|
44
|
+
* probed but is likely the same.
|
|
45
|
+
*
|
|
46
|
+
* See <https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers>
|
|
47
|
+
* for the (incomplete) public documentation.
|
|
48
|
+
*
|
|
49
|
+
* Lustre operations use a CRM-style `Operation.done: boolean` (verified
|
|
50
|
+
* at `lustre-v1.ts`).
|
|
51
|
+
*
|
|
52
|
+
* @section Creating a Managed Lustre instance
|
|
53
|
+
* @example 20 TiB Performance-tier instance (125 MBps/TiB)
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const fs = yield* GCP.ManagedLustreInstance("ModelsFs", {
|
|
56
|
+
* project: hostProject.projectId,
|
|
57
|
+
* location: "europe-west4-a",
|
|
58
|
+
* filesystem: "models",
|
|
59
|
+
* capacityGib: "20480",
|
|
60
|
+
* network: GCP.networkRefById(hostProject.projectId, vpc.name),
|
|
61
|
+
* perUnitStorageThroughput: "125",
|
|
62
|
+
* gkeSupportEnabled: true,
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export type ManagedLustreInstanceProps = {
|
|
67
|
+
/** GCP project ID hosting the instance. Immutable — replace if changed. */
|
|
68
|
+
project: string;
|
|
69
|
+
/**
|
|
70
|
+
* Managed Lustre location. **Zone, not region** — Lustre is a zonal
|
|
71
|
+
* product (e.g. `europe-west4-a`). Immutable — replace.
|
|
72
|
+
*/
|
|
73
|
+
location: string;
|
|
74
|
+
/**
|
|
75
|
+
* Instance ID. Defaults to `createPhysicalName({ id, lowercase: true,
|
|
76
|
+
* maxLength: 63 })`. Lowercase letters/numbers/hyphens, must start
|
|
77
|
+
* with a letter, end with a letter or number. Immutable — replace.
|
|
78
|
+
*/
|
|
79
|
+
instanceId?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Lustre filesystem name — what clients use when mounting. **Eight
|
|
82
|
+
* characters or less, letters and numbers only** (no hyphens). This
|
|
83
|
+
* is distinct from `instanceId`; clients see the filesystem name in
|
|
84
|
+
* the mount point string. Immutable — replace.
|
|
85
|
+
*/
|
|
86
|
+
filesystem: string;
|
|
87
|
+
/** User-visible description. Mutable via `patch`. */
|
|
88
|
+
description?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Capacity in **GiB** (1024-based). Sent to the API as a string per
|
|
91
|
+
* Lustre's int64-encoded-as-string convention. Replace-only — Lustre
|
|
92
|
+
* doesn't currently support online resize.
|
|
93
|
+
*/
|
|
94
|
+
capacityGib: string;
|
|
95
|
+
/**
|
|
96
|
+
* Fully-qualified consumer VPC in **project-ID** form. Build with
|
|
97
|
+
* `networkRefById(project.projectId, vpc.name)` — Lustre's
|
|
98
|
+
* `instances.create` rejects the project-number form with a
|
|
99
|
+
* `BadRequest` error, so this prop is intentionally typed as
|
|
100
|
+
* `NetworkRefById` (a nominally branded sibling of `NetworkRef`) to
|
|
101
|
+
* surface the constraint at compile time. Immutable — replace.
|
|
102
|
+
*/
|
|
103
|
+
network: NetworkRefById;
|
|
104
|
+
/**
|
|
105
|
+
* Dynamic tier mode. Set to `"DEFAULT_CACHE"` to opt into the elastic
|
|
106
|
+
* Dynamic tier; `"DISABLED"` (or omit) for the fixed-throughput tier.
|
|
107
|
+
* If `"DEFAULT_CACHE"`, leave `perUnitStorageThroughput` unset.
|
|
108
|
+
* Immutable — replace.
|
|
109
|
+
*/
|
|
110
|
+
dynamicTierMode?: "DEFAULT_CACHE" | "DISABLED";
|
|
111
|
+
/**
|
|
112
|
+
* Throughput in MBps per TiB for the fixed-throughput tier. Mutually
|
|
113
|
+
* exclusive with `dynamicTierMode === "DEFAULT_CACHE"`. Immutable —
|
|
114
|
+
* replace.
|
|
115
|
+
*/
|
|
116
|
+
perUnitStorageThroughput?: "125" | "250" | "500" | "1000";
|
|
117
|
+
/**
|
|
118
|
+
* Enable GKE-client support. Recommended `true` for instances mounted
|
|
119
|
+
* by GKE pods via the Managed Lustre CSI driver. Immutable — replace.
|
|
120
|
+
*/
|
|
121
|
+
gkeSupportEnabled?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Cloud KMS key for at-rest encryption. Format
|
|
124
|
+
* `projects/{p}/locations/{l}/keyRings/{r}/cryptoKeys/{k}`. Immutable
|
|
125
|
+
* — replace.
|
|
126
|
+
*/
|
|
127
|
+
kmsKey?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Resource labels. Alchemy internal labels (`alchemy_app`,
|
|
130
|
+
* `alchemy_stage`, `alchemy_id`) are merged on top automatically.
|
|
131
|
+
* Mutable via `patch`.
|
|
132
|
+
*/
|
|
133
|
+
labels?: Record<string, string>;
|
|
134
|
+
};
|
|
135
|
+
export type ManagedLustreInstanceAttributes = {
|
|
136
|
+
/** Bare instance id. */
|
|
137
|
+
instanceId: string;
|
|
138
|
+
/** Project ID. */
|
|
139
|
+
project: string;
|
|
140
|
+
/** Zone. */
|
|
141
|
+
location: string;
|
|
142
|
+
/** Resource name `projects/{p}/locations/{l}/instances/{id}`. */
|
|
143
|
+
name: string;
|
|
144
|
+
/** Lustre filesystem name (mirrors props). */
|
|
145
|
+
filesystem: string;
|
|
146
|
+
/** Description, mirroring props. */
|
|
147
|
+
description: string | undefined;
|
|
148
|
+
/** Capacity in GiB. */
|
|
149
|
+
capacityGib: string;
|
|
150
|
+
/** Consumer VPC URL (project-ID form). */
|
|
151
|
+
network: NetworkRefById;
|
|
152
|
+
/** Lifecycle state — `ACTIVE` once ready. */
|
|
153
|
+
state: string | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Mount point string clients pass to `mount -t lustre`, of the form
|
|
156
|
+
* `IP_ADDRESS@tcp:/FILESYSTEM`. Output-only.
|
|
157
|
+
*/
|
|
158
|
+
mountPoint: string | undefined;
|
|
159
|
+
/** Dynamic tier mode currently configured. */
|
|
160
|
+
dynamicTierMode: string | undefined;
|
|
161
|
+
/** Per-TiB throughput (string, MBps/TiB). */
|
|
162
|
+
perUnitStorageThroughput: string | undefined;
|
|
163
|
+
/** GKE-client support flag. */
|
|
164
|
+
gkeSupportEnabled: boolean | undefined;
|
|
165
|
+
/** KMS key, if set. */
|
|
166
|
+
kmsKey: string | undefined;
|
|
167
|
+
/** Labels currently set, including internals. */
|
|
168
|
+
labels: Record<string, string>;
|
|
169
|
+
};
|
|
170
|
+
export type ManagedLustreInstance = Resource<"GCP.ManagedLustreInstance", ManagedLustreInstanceProps, ManagedLustreInstanceAttributes, never, GCP.Providers>;
|
|
171
|
+
export declare const ManagedLustreInstance: import("alchemy").ResourceClass<ManagedLustreInstance>;
|
|
172
|
+
export declare const ManagedLustreInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<ManagedLustreInstance>, never, import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stage | import("alchemy").Stack | import("@distilled.cloud/gcp").Credentials>;
|
|
173
|
+
//# sourceMappingURL=Instance.d.ts.map
|
|
@@ -0,0 +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,5 +1,5 @@
|
|
|
1
1
|
import { ConfigError } from "@distilled.cloud/gcp";
|
|
2
|
-
import * as
|
|
2
|
+
import * as lustre from "@distilled.cloud/gcp/lustre-v1";
|
|
3
3
|
import { Resource } from "alchemy";
|
|
4
4
|
import { Unowned } from "alchemy/AdoptPolicy";
|
|
5
5
|
import { isResolved, somePropsAreDifferent } from "alchemy/Diff";
|
|
@@ -10,46 +10,48 @@ import * as Duration from "effect/Duration";
|
|
|
10
10
|
import * as Effect from "effect/Effect";
|
|
11
11
|
import * as Schedule from "effect/Schedule";
|
|
12
12
|
import { gcpInternalLabels, hasAlchemyLabels } from "../Tags.js";
|
|
13
|
-
export const
|
|
13
|
+
export const ManagedLustreInstance = Resource("GCP.ManagedLustreInstance");
|
|
14
14
|
const toAttributes = (i, parent) => ({
|
|
15
15
|
instanceId: parent.instanceId,
|
|
16
16
|
project: parent.project,
|
|
17
17
|
location: parent.location,
|
|
18
|
-
name: i.name ??
|
|
18
|
+
name: i.name ??
|
|
19
|
+
`projects/${parent.project}/locations/${parent.location}/instances/${parent.instanceId}`,
|
|
20
|
+
filesystem: i.filesystem ?? "",
|
|
19
21
|
description: i.description,
|
|
20
22
|
capacityGib: i.capacityGib ?? "",
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
// `
|
|
24
|
-
// location
|
|
25
|
-
// the SDK's `string | undefined` fields.
|
|
23
|
+
// Server-echoed `i.network` matches what we sent at create time, but
|
|
24
|
+
// we thread `parent.network` through to preserve the
|
|
25
|
+
// `NetworkRefById` brand without a cast — same pattern as project /
|
|
26
|
+
// location.
|
|
26
27
|
network: parent.network,
|
|
27
|
-
reservedIpRange: i.reservedIpRange,
|
|
28
|
-
effectiveReservedIpRange: i.effectiveReservedIpRange,
|
|
29
28
|
state: i.state,
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
mountPoint: i.mountPoint,
|
|
30
|
+
dynamicTierMode: i.dynamicTierOptions?.mode,
|
|
31
|
+
perUnitStorageThroughput: i.perUnitStorageThroughput,
|
|
32
|
+
gkeSupportEnabled: i.gkeSupportEnabled,
|
|
33
|
+
kmsKey: i.kmsKey,
|
|
32
34
|
labels: { ...(i.labels ?? {}) },
|
|
33
35
|
});
|
|
34
|
-
export const
|
|
35
|
-
const getInstance = yield*
|
|
36
|
-
const createInstance = yield*
|
|
37
|
-
const patchInstance = yield*
|
|
38
|
-
const deleteInstance = yield*
|
|
39
|
-
const getOperation = yield*
|
|
36
|
+
export const ManagedLustreInstanceProvider = () => Provider.effect(ManagedLustreInstance, Effect.gen(function* () {
|
|
37
|
+
const getInstance = yield* lustre.getProjectsLocationsInstances;
|
|
38
|
+
const createInstance = yield* lustre.createProjectsLocationsInstances;
|
|
39
|
+
const patchInstance = yield* lustre.patchProjectsLocationsInstances;
|
|
40
|
+
const deleteInstance = yield* lustre.deleteProjectsLocationsInstances;
|
|
41
|
+
const getOperation = yield* lustre.getProjectsLocationsOperations;
|
|
40
42
|
const awaitOperation = Effect.fn(function* (operationName, session) {
|
|
41
43
|
const op = yield* getOperation({ name: operationName }).pipe(Effect.flatMap((current) => current.done === true
|
|
42
44
|
? Effect.succeed(current)
|
|
43
45
|
: Effect.fail({ _tag: "OperationPending" })), Effect.retry({
|
|
44
46
|
while: (e) => e?._tag === "OperationPending",
|
|
45
47
|
schedule: Schedule.exponential(Duration.seconds(5), 1.5).pipe(Schedule.either(Schedule.spaced(Duration.seconds(30))),
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
Schedule.both(Schedule.recurs(200)), Schedule.tapOutput(() => session.note(`Waiting for
|
|
48
|
+
// Lustre creates run 10–25 min for multi-TiB instances.
|
|
49
|
+
// 200 × 30s ≈ 100 min wall ceiling.
|
|
50
|
+
Schedule.both(Schedule.recurs(200)), Schedule.tapOutput(() => session.note(`Waiting for Managed Lustre operation ${operationName}…`))),
|
|
49
51
|
}));
|
|
50
52
|
if (op.error) {
|
|
51
53
|
return yield* new ConfigError({
|
|
52
|
-
message: `
|
|
54
|
+
message: `Managed Lustre operation ${operationName} failed: ${op.error.message ?? JSON.stringify(op.error)}`,
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
57
|
return op;
|
|
@@ -88,12 +90,13 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
|
|
|
88
90
|
"project",
|
|
89
91
|
"location",
|
|
90
92
|
"instanceId",
|
|
93
|
+
"filesystem",
|
|
91
94
|
"network",
|
|
92
|
-
"reservedIpRange",
|
|
93
|
-
"deploymentType",
|
|
94
|
-
"fileStripeLevel",
|
|
95
|
-
"directoryStripeLevel",
|
|
96
95
|
"capacityGib",
|
|
96
|
+
"dynamicTierMode",
|
|
97
|
+
"perUnitStorageThroughput",
|
|
98
|
+
"gkeSupportEnabled",
|
|
99
|
+
"kmsKey",
|
|
97
100
|
])) {
|
|
98
101
|
return { action: "replace" };
|
|
99
102
|
}
|
|
@@ -112,15 +115,20 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
|
|
|
112
115
|
let observed = yield* observe(news.project, news.location, desiredId);
|
|
113
116
|
if (!observed) {
|
|
114
117
|
const body = {
|
|
118
|
+
filesystem: news.filesystem,
|
|
115
119
|
capacityGib: news.capacityGib,
|
|
116
120
|
network: news.network,
|
|
117
121
|
...(news.description ? { description: news.description } : {}),
|
|
118
|
-
...(news.
|
|
119
|
-
|
|
120
|
-
...(news.fileStripeLevel ? { fileStripeLevel: news.fileStripeLevel } : {}),
|
|
121
|
-
...(news.directoryStripeLevel
|
|
122
|
-
? { directoryStripeLevel: news.directoryStripeLevel }
|
|
122
|
+
...(news.dynamicTierMode
|
|
123
|
+
? { dynamicTierOptions: { mode: news.dynamicTierMode } }
|
|
123
124
|
: {}),
|
|
125
|
+
...(news.perUnitStorageThroughput
|
|
126
|
+
? { perUnitStorageThroughput: news.perUnitStorageThroughput }
|
|
127
|
+
: {}),
|
|
128
|
+
...(news.gkeSupportEnabled !== undefined
|
|
129
|
+
? { gkeSupportEnabled: news.gkeSupportEnabled }
|
|
130
|
+
: {}),
|
|
131
|
+
...(news.kmsKey ? { kmsKey: news.kmsKey } : {}),
|
|
124
132
|
labels: desiredLabels,
|
|
125
133
|
};
|
|
126
134
|
const op = yield* createInstance({
|
|
@@ -152,10 +160,6 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
|
|
|
152
160
|
read: Effect.fn(function* ({ id, output, olds }) {
|
|
153
161
|
const project = output?.project ?? olds?.project;
|
|
154
162
|
const location = output?.location ?? olds?.location;
|
|
155
|
-
// `network` only narrows to NetworkRef when it comes from
|
|
156
|
-
// post-create `output`. `olds` is the snapshot of *props*
|
|
157
|
-
// including a NetworkRef, so both feed into the same typed
|
|
158
|
-
// pipeline.
|
|
159
163
|
const network = output?.network ?? olds?.network;
|
|
160
164
|
if (!project || !location || !network)
|
|
161
165
|
return undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../src/ManagedLustre/Instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ManagedLustre/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ManagedLustre/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
package/lib/Providers.js
CHANGED
|
@@ -10,7 +10,7 @@ import { SharedVpcServiceProject, SharedVpcServiceProjectProvider, } from "./Com
|
|
|
10
10
|
import { Subnetwork, SubnetworkProvider } from "./Compute/Subnetwork.js";
|
|
11
11
|
import { Cluster, ClusterProvider } from "./Container/Cluster.js";
|
|
12
12
|
import { NodePool, NodePoolProvider } from "./Container/NodePool.js";
|
|
13
|
-
import {
|
|
13
|
+
import { ManagedLustreInstance, ManagedLustreInstanceProvider, } from "./ManagedLustre/Instance.js";
|
|
14
14
|
import { PsaConnection, PsaConnectionProvider, } from "./ServiceNetworking/PsaConnection.js";
|
|
15
15
|
import { ApiEnable, ApiEnableProvider } from "./ServiceUsage/ApiEnable.js";
|
|
16
16
|
export class Providers extends Provider.ProviderCollection()("GCP") {
|
|
@@ -41,8 +41,8 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
|
|
|
41
41
|
SharedVpcHost,
|
|
42
42
|
SharedVpcServiceProject,
|
|
43
43
|
PsaConnection,
|
|
44
|
-
|
|
45
|
-
])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(),
|
|
44
|
+
ManagedLustreInstance,
|
|
45
|
+
])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(), ManagedLustreInstanceProvider())), Layer.provideMerge(fromAuthProvider()), Layer.provideMerge(GCPAuth),
|
|
46
46
|
// Auth/config failures (missing ADC, malformed profile) become
|
|
47
47
|
// unrecoverable defects rather than typed errors — mirrors
|
|
48
48
|
// `AWS/Providers.ts` and `Cloudflare/Providers.ts`. Resource lifecycle
|
package/lib/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type { GCPAuthConfig, GCPResolvedCredentials, } from "./Auth/AuthProvider
|
|
|
4
4
|
export * from "./CloudResourceManager/index.ts";
|
|
5
5
|
export * from "./Compute/index.ts";
|
|
6
6
|
export * from "./Container/index.ts";
|
|
7
|
-
export * from "./
|
|
7
|
+
export * from "./ManagedLustre/index.ts";
|
|
8
8
|
export * from "./ServiceNetworking/index.ts";
|
|
9
9
|
export * from "./ServiceUsage/index.ts";
|
|
10
10
|
export * from "./Providers.ts";
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { GCP_AUTH_PROVIDER_NAME, GCPAuth, } from "./Auth/AuthProvider.js";
|
|
|
3
3
|
export * from "./CloudResourceManager/index.js";
|
|
4
4
|
export * from "./Compute/index.js";
|
|
5
5
|
export * from "./Container/index.js";
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./ManagedLustre/index.js";
|
|
7
7
|
export * from "./ServiceNetworking/index.js";
|
|
8
8
|
export * from "./ServiceUsage/index.js";
|
|
9
9
|
export * from "./Providers.js";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microagi/alchemy-gcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "GCP provider for Alchemy v2 (Effect-based IaC). Resources for Project, Cluster, NodePool,
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "GCP provider for Alchemy v2 (Effect-based IaC). Resources for Project, Cluster, NodePool, Compute, ManagedLustre, ServiceUsage, ServiceNetworking, with ADC-backed credentials and target-side IAM bindings.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"alchemy",
|
|
7
7
|
"alchemy-effect",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"effect": ">=4.0.0-beta.60 || >=4.0.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@distilled.cloud/gcp": "
|
|
60
|
+
"@distilled.cloud/gcp": "0.19.0",
|
|
61
61
|
"@types/bun": "latest",
|
|
62
62
|
"@types/node": "latest",
|
|
63
|
-
"alchemy": "
|
|
63
|
+
"alchemy": "2.0.0-beta.34",
|
|
64
64
|
"effect": ">=4.0.0-beta.60 || >=4.0.0",
|
|
65
65
|
"typescript": "^6.0.3"
|
|
66
66
|
},
|