@@ -117,13 +117,39 @@ catalog endpoint and reuses the authenticated ProviderClient for tokens (verifie
117117against the CE lab). Shipped: ` pcd_host_config ` , ` pcd_host_role ` ,
118118` pcd_host_config_assignment ` , and a ` pcd_cluster_blueprint ` ** data source** .
119119
120- ** The ` pcd_cluster_blueprint ` resource (write path) is deliberately deferred to a focused
121- follow-up.** Its object is uniquely hairy: a full-object ` PUT ` (partial models risk
122- clearing fields), a ` storageBackends ` map that carries ** plaintext driver credentials** ,
123- and create semantics (` POST ` vs ` PUT ` ) that cannot be safely verified without mutating the
124- lab's single working blueprint. It deserves its own careful pass. The mutating resmgr
125- resources' acceptance tests are opt-in (` PCD_ACC_RESMGR ` ) so they never touch a live
126- cluster by accident.
120+ The mutating resmgr resources' acceptance tests are opt-in (` PCD_ACC_RESMGR ` ) so they never
121+ touch a live cluster by accident.
122+
123+ ### Kubernetes (PCD-K / Cluster-API) — OUT OF SCOPE (2026-07-13)
124+
125+ The ` kubernetes ` api-docs service (` pcd_kubernetes_cluster ` — a Cluster-API ` Cluster ` with
126+ ClusterClass topology) is ** deliberately out of scope** for this provider. It is a
127+ fundamentally different API model (CAPI/Kubernetes-native, not the OpenStack/resmgr REST
128+ shape everything else uses) and targets a different audience; it belongs in a dedicated
129+ CAPI/Kubernetes provider, not this IaaS provider. Decision by the maintainer. Revisit only
130+ if there is explicit demand to manage PCD-K clusters as Terraform resources here.
131+
132+ ### ` pcd_cluster_blueprint ` resource — NOT SHIPPED; blueprint write API is not viable (2026-07-13)
133+
134+ Attempted the write resource and drove the live ` resmgr/v2 ` blueprint API directly (the lab
135+ blueprint was made freely mutable for this). Findings on CE 2026.4:
136+
137+ - ** Create** (` POST /blueprint ` ) works, but only with a * complete* object that includes a
138+ valid, non-empty ` storageBackends ` . Any partial object — missing scalar fields, or an
139+ empty/` null ` ` storageBackends ` — returns an opaque ** HTTP 500** (not a validation 400),
140+ giving no guidance on what is required.
141+ - ** Delete** (` DELETE /blueprint/{name} ` ) works.
142+ - ** Update has no working path.** The documented ` PUT /blueprint/{clusterName} ` returns
143+ ** 404 even for a blueprint that exists** ; ` POST /blueprint/{name} ` → 404, ` PATCH ` → 405,
144+ ` PUT /blueprint ` → 500, and a repeat ` POST /blueprint ` → 404. Nothing edits an existing
145+ blueprint in place.
146+
147+ A Terraform resource is not viable on this API: with no working update it would have to
148+ force-replace on every change, and replacing a cluster-defining object (that hosts/clusters
149+ depend on) is dangerous — while create is itself fragile (opaque 500s). So the write
150+ resource is ** not shipped** ; the ` pcd_cluster_blueprint ` ** data source** (read) is the
151+ supported surface, and blueprints are authored via the PCD UI wizard. Revisit if a later CE
152+ build fixes the blueprint update path (and returns proper validation errors on create).
127153
128154## 2026-07-12 — backed out code PCD does not ship (VPNaaS, Octavia L7)
129155
0 commit comments