Skip to content

Commit a7640a3

Browse files
committed
fix(network): narrow additional CA review scope
Signed-off-by: Jesse Jaggars <jjaggars@redhat.com>
1 parent 0224f94 commit a7640a3

3 files changed

Lines changed: 16 additions & 4 deletions

File tree

‎deploy/helm/openshell/README.md.gotmpl‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,13 @@ The driver manages the deterministic name
231231
`server.sandboxJwt.gatewayId`, or the chart fullname when unset). Its `get` and
232232
`patch` permissions must be restricted to that exact name; `create` must remain
233233
a separate unrestricted ConfigMap permission because Kubernetes cannot apply
234-
`resourceNames` to create authorization. If you render the TOML setting outside
235-
this Helm value, grant that same split RBAC policy in every sandbox namespace.
234+
`resourceNames` to create authorization. Enabling this therefore gives the
235+
gateway/driver service account namespace-wide ConfigMap-create authority. In
236+
managed/operator modes, the chart's ClusterRoleBinding makes that permission
237+
cluster-wide for the bound service account; use a dedicated service account and
238+
scoped bindings when that boundary matters. If you render the TOML setting
239+
outside this Helm value, grant that same split RBAC policy in every sandbox
240+
namespace.
236241

237242
Disabling the setting intentionally does not delete driver-managed ConfigMaps:
238243
the driver has no list/delete permissions, and a shared or operator namespace

‎deploy/helm/openshell/templates/clusterrole.yaml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ rules:
9595
# The Kubernetes driver reads and server-side-applies only its deterministic,
9696
# gateway-scoped destination CA ConfigMap in selected namespaces. CREATE
9797
# cannot use resourceNames because Kubernetes authorizes it before the name
98-
# is available.
98+
# is available. This is a namespace-wide ConfigMap-create capability when
99+
# bound through a Role, and becomes cluster-wide when this ClusterRole is
100+
# bound cluster-wide; use a dedicated service account and scoped bindings
101+
# when that boundary matters.
99102
- apiGroups:
100103
- ""
101104
resources:

‎skills/debug-openshell-cluster/SKILL.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,11 @@ chart fullname when it is unset. The managed ConfigMap must have
431431
`openshell.ai/managed-by=openshell` and the matching
432432
`openshell.ai/gateway-id` label. The chart grants `get`/`patch` only on this
433433
exact name and separate unrestricted `create` (Kubernetes cannot restrict a
434-
create with `resourceNames`). Check both the object and authorization:
434+
create with `resourceNames`). Enabling this gives the gateway/driver service
435+
account namespace-wide ConfigMap-create authority. In managed/operator modes,
436+
the chart's ClusterRoleBinding makes that permission cluster-wide for the bound
437+
service account; prefer a dedicated service account and scoped bindings when
438+
that boundary matters. Check both the object and authorization:
435439

436440
```bash
437441
kubectl -n <sandbox-namespace> get configmap \

0 commit comments

Comments
 (0)