Skip to content

v1.0.4 — Kuvik Operator

Choose a tag to compare

@allenjeong allenjeong released this 30 May 22:34
· 2 commits to main since this release

Kuvik ADC v1.0.4 — 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.4 (also :latest)
Helm chart (OCI) oci://ghcr.io/kuvik-io/kuvik-adc/charts/kuvik-operator version 1.0.4
Chart tarball kuvik-operator-1.0.4.tgz (attached, airgap-ready)
Image tarball kuvik-operator-image-1.0.4.tar.gz (attached, airgap-ready)

Install (online, OCI)

No cluster-level prerequisites — installs on any Kubernetes 1.27+ cluster. Requires the ghcr packages to be made public by an org admin (one-time per package).

export KUBECONFIG=<your_kubeconfig>

helm upgrade --install kuvik-operator \
  oci://ghcr.io/kuvik-io/kuvik-adc/charts/kuvik-operator \
  --version 1.0.4 \
  --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.4/kuvik-operator-1.0.4.tgz
curl -fLo /tmp/img.tar.gz \
  https://github.com/Kuvik-io/kuvik-adc/releases/download/v1.0.4/kuvik-operator-image-1.0.4.tar.gz

# Import image into your container runtime's local image store.
# Pick the command matching your runtime — examples:
#   sudo ctr -n=k8s.io images import /tmp/img.tar.gz   # containerd
#   docker load < <(gunzip -c /tmp/img.tar.gz)         # docker
gunzip -c /tmp/img.tar.gz | sudo ctr -n=k8s.io images import -

# Install
export KUBECONFIG=<your_kubeconfig>
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.

Optional: Gateway API support

To use Gateway API (GatewayClass/Gateway/HTTPRoute) in addition to plain LoadBalancer-type Services, install the upstream CRDs first, then helm upgrade:

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
helm upgrade kuvik-operator oci://ghcr.io/kuvik-io/kuvik-adc/charts/kuvik-operator \
  --version 1.0.4 --namespace kuvik-operator-system --reuse-values

The chart auto-skips the GatewayClass resource when the CRDs are absent and the operator runs in Service-only mode, so leaving the default gatewayAPI.enabled=true on a cluster without Gateway API installs cleanly.

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 38a7d2ea.