Manage your reShapr resources the Kubernetes-native way — CRDs, an Operator and an Admission Webhook shipped in one repo.
This repository provides three complementary Kubernetes components:
- Custom Resource Definitions (CRDs) to represent reShapr concepts in Kubernetes — with the Java library to manage them.
- Kubernetes Operator to manage the lifecycle of reShapr resources through CRDs.
- Admission Webhook to inject a reShapr proxy as a sidecar container in application Pods.
Latest release version is 0.0.1.
Current development version is 0.0.2-SNAPSHOT.
reshapr-controllers drives an existing reShapr control plane declaratively via
Kubernetes Custom Resources. It does not deploy the control plane itself — see the Quick start
below for the recommended way to install it. Once the control plane is running, the operator
reconciles reShapr CRs against its REST API, while the admission webhook injects reShapr proxy
sidecars into opt-in application Pods.
See ARCHITECTURE.md for the module map, data flow diagram and design
decisions.
Note
The Quick start below assumes a reShapr control plane is already installed in the
reshapr-system namespace. If it is not yet the case, deploy it first using the Helm charts
available at reshaprio/reshapr-helm-charts.
Install the CRDs, the operator and a sample resource on a Kubernetes cluster:
kubectl apply -f deploy/crd/
kubectl apply -f deploy/operator.yaml -n reshapr-system
kubectl apply -f deploy/samples/open-meteo-api-service.yaml -n reshapr-systemThen check the reconciliation status:
kubectl get services.reshapr.io -n reshapr-systemFor the full installation guide (operator + admission webhook), see
documentation/installation-operator.md and
documentation/installation-admission.md.
User-facing documentation lives under the documentation/ folder.
It covers installation, the instance connection flow, the admission controller and a reference
for each Custom Resource (Service, GatewayGroup, ConfigurationPlan, Exposition,
SecretSource, CustomTools, Resource).
This project is licensed under the Apache License 2.0.