Skip to content

reShapr Controllers

Manage your reShapr resources the Kubernetes-native way — CRDs, an Operator and an Admission Webhook shipped in one repo.

GitHub Workflow Status Operator Container Admission Container Java Kubernetes License Project Chat GitHub stars

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.

Build Status

Latest release version is 0.0.1.

Current development version is 0.0.2-SNAPSHOT.

How it works

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.

Quick start

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-system

Then check the reconciliation status:

kubectl get services.reshapr.io -n reshapr-system

For the full installation guide (operator + admission webhook), see documentation/installation-operator.md and documentation/installation-admission.md.

Documentation

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).

License

This project is licensed under the Apache License 2.0.

About

Kubernetes controllers and operators for managing reShapr components the GitOps way!

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages