Skip to content

feat(rbac): grant inference-operator access to InferenceGatewayConfig - #463

Merged
papriwal merged 1 commit into
aws:mainfrom
XuanCS:operator-igc-rbac
Sep 16, 2026
Merged

papriwal merged 1 commit into
aws:mainfrom
XuanCS:operator-igc-rbac

Conversation

@XuanCS

@XuanCS XuanCS commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

What

Grant the inference-operator ClusterRole access to InferenceGatewayConfig:

  • inferencegatewayconfigs: full CRUD (get;list;watch;create;update;patch;delete) — the operator upserts a scheduler entry on the shared gateway CR when a model opts in.
  • inferencegatewayconfigs/status: get only — the operator mirrors gateway state onto the model's status; the SageMaker Inference Gateway controller owns status writes.

No /finalizers verb: the operator never finalizes the IGC (the gateway owns its lifecycle).

Why

Follow-up to #461, which added the spec/status.inferenceGateway opt-in fields to the JumpStartModel / InferenceEndpointConfig CRDs and bumped the operator to v3.6, but did not grant RBAC for the InferenceGatewayConfig resource.

When a model sets spec.inferenceGateway.enabled: true, the operator's first Get/Create/Update on the cluster InferenceGatewayConfig is rejected with forbidden without these verbs, so operator↔gateway wiring never completes. The operator interacts with the IGC via unstructured (GVK + field paths), so no cross-repo Go/type dependency is introduced — RBAC is the only thing needed at the Kubernetes API layer.

Scope

RBAC only; no chart/appVersion/image bump. The IGC CRD itself is installed by the sagemaker-inference-gateway chart.

Notes

Mirrors the internal operator ClusterRole (kubebuilder markers) that already carries these rules. Minimal-privilege split (status get only) is intentional.

@XuanCS
XuanCS requested a review from a team as a code owner September 15, 2026 23:47
@XuanCS
XuanCS deployed to manual-approval September 15, 2026 23:47 — with GitHub Actions Active
@papriwal
papriwal merged commit 3136fba into aws:main Sep 16, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants