For the complete documentation index, see llms.txt.
Skip to main content

Kubernetes APIs and Controllers Overview

The reshapr-controllers repository provides a Kubernetes operator, seven namespaced custom resources, and an admission webhook for proxy sidecar injection. Its documentation index and generated CRDs are the canonical references.

Operator model​

The operator reconciles Kubernetes resources against a reachable reShapr control plane. Resources use the reshapr.io/v1alpha1 API and identify their target through reshapr.io/instance and reshapr.io/organization annotations. Reconciliation progress and control-plane identifiers are reported in each resource's status.

The operator ServiceAccount must be registered as a trusted control-plane client. See the canonical instance connection flow and operator installation.

Custom resources​

KindRole and dependenciesDeletion behaviorCanonical reference
ServiceImports the primary OpenAPI, GraphQL, or Protobuf artifactRemote Service cleanup is enabled by default; keepOnDelete can retain itService CR
GatewayGroupDeclares the labels used to select GatewaysRemote Gateway Group cleanup is enabled by default; keepOnDelete can retain itGatewayGroup CR
ConfigurationPlanBinds an existing Service to a backend endpoint and security configurationThe reconciler cleans up its remote Configuration PlanConfigurationPlan CR
ExpositionExposes a Service through a ready Configuration Plan and Gateway GroupRemote Exposition cleanup is enabled by default; keepOnDelete can retain itExposition CR
SecretSourceDeclares control-plane Secrets, optionally sourced from Kubernetes SecretsRemote Secret cleanup is enabled by default; keepOnDelete can retain itSecretSource CR
CustomToolsAttaches declarative or scripted tools to an existing ServiceNo remote artifact cleanup is implemented when the CR is deletedCustomTools CR
ResourceAttaches MCP resources and resource templates to an existing ServiceNo remote artifact cleanup is implemented when the CR is deletedResource CR

There are no dedicated Prompts or ToolsOutputFilters CRDs in the current API set.

Admission controller​

The mutating admission webhook injects a reShapr proxy sidecar into Pods annotated with io.reshapr/inject: "true". For workloads owned by a Deployment, its controller can also create the headless clustering Service and the MCP Service used to reach injected proxies.

The webhook is fail-open by default through failurePolicy: Ignore. Its serving endpoint requires TLS; the controllers chart supports cert-manager, OpenShift service certificates, or an existing certificate. See the canonical admission controller and installation guide.

Limits​

  • CustomTools and Resource deletion can leave their remote artifacts in the target Service.
  • Reading Kubernetes Secrets for SecretSource requires the operator's separate Secret-reader RBAC.
  • The admission controller creates supporting Services only for injected Pods owned by a Deployment.
  • Controller-specific metrics and traces are not currently documented as a supported observability surface; rely on component logs unless the owner documentation states otherwise.

Next step​

Agent View