Skip to content

v1.0.2 — Kuvik Operator

Choose a tag to compare

@allenjeong allenjeong released this 30 May 22:15
· 4 commits to main since this release

Kuvik ADC v1.0.2 — Kuvik Operator

Pairs with the Kuvik LB cluster v1.0.x line. Publishes the workload-cluster operator that registers your Kubernetes cluster with a Kuvik LB control plane.

Artifacts

Artifact Location
Container image ghcr.io/kuvik-io/kuvik-adc/kuvik-operator:1.0.2 (also :latest)
Helm chart (OCI) oci://ghcr.io/kuvik-io/kuvik-adc/charts/kuvik-operator version 1.0.2
Chart tarball kuvik-operator-1.0.2.tgz (attached, airgap-ready)
Image tarball kuvik-operator-image-1.0.2.tar.gz (attached, airgap-ready)

Prerequisites

Gateway API CRDs must be installed on the workload cluster before running Helm (not bundled with Kubernetes/k3s):

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml

Pass --set gatewayAPI.enabled=false to skip GatewayClass creation if you don't use Gateway API.

Install (online, OCI)

Requires the ghcr packages to be made public by an org admin (one-time per package). Web UI only — GitHub does not expose a visibility API for org packages.

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

# 1. Gateway API CRDs (skip if already installed)
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml

# 2. Operator
helm upgrade --install kuvik-operator \
  oci://ghcr.io/kuvik-io/kuvik-adc/charts/kuvik-operator \
  --version 1.0.2 \
  --namespace kuvik-operator-system --create-namespace \
  --set controllerGRPCAddress=<LB-VIP>:19000 \
  --set clusterID=<your-cluster-id> \
  --set site=<site-label> \
  --set grpc.operatorRegistrationToken=<token-from-UI> \
  --set-string grpc.caCert="<base64-CA-from-UI>"

Install (airgap, from this release)

Works without flipping package visibility — release assets are public via the repo.

# Download both assets
curl -fLo /tmp/op.tgz \
  https://github.com/Kuvik-io/kuvik-adc/releases/download/v1.0.2/kuvik-operator-1.0.2.tgz
curl -fLo /tmp/img.tar.gz \
  https://github.com/Kuvik-io/kuvik-adc/releases/download/v1.0.2/kuvik-operator-image-1.0.2.tar.gz

# Import image into local containerd (k3s)
gunzip -c /tmp/img.tar.gz | sudo k3s ctr images import -

# Gateway API CRDs (skip if already installed)
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml

# Install
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
helm upgrade --install kuvik-operator /tmp/op.tgz \
  --namespace kuvik-operator-system --create-namespace \
  --set controllerGRPCAddress=<LB-VIP>:19000 \
  --set clusterID=<your-cluster-id> \
  --set site=<site-label> \
  --set grpc.operatorRegistrationToken=<token-from-UI> \
  --set-string grpc.caCert="<base64-CA-from-UI>"

Values controllerGRPCAddress, clusterID, site, grpc.operatorRegistrationToken, grpc.caCert are emitted by the Kuvik LB Management UI's Add Workload Cluster wizard.

Compatibility

This operator works with Kuvik LB cluster v0.10.x and v0.11.x control planes. v0.11.x is a breaking minor on the LB cluster side (file-path gRPC TLS removed) — operator is unaffected.

Built from kuvik-lb-cluster commit f9132928.