From 1ba691455e6f483aec1ceab9ddd879fc1ee01d87 Mon Sep 17 00:00:00 2001 From: Aleksandr Aleksandrov Date: Mon, 20 Jul 2026 12:08:41 +0300 Subject: [PATCH] docs: add upgrading section covering manual CRD updates --- README.md | 1 + docs/quick-start.md | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/README.md b/README.md index 7128d523..53a7ddc2 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Connect us in Telegram - https://t.me/+Y0PzGa1d5DFiYThi ## Documentation - Quick start [doc](https://github.com/kaasops/vector-operator/blob/main/docs/quick-start.md) +- Upgrading [doc](https://github.com/kaasops/vector-operator/blob/main/docs/quick-start.md#upgrading) - Design [doc](https://github.com/kaasops/vector-operator/blob/main/docs/design.md) - Specification [doc](https://github.com/kaasops/vector-operator/blob/main/docs/specification.md) - Secure credentials [doc](https://github.com/kaasops/vector-operator/blob/main/docs/secure-credential.md) diff --git a/docs/quick-start.md b/docs/quick-start.md index 61adfcbe..eff5dfc2 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -3,6 +3,7 @@ Operator serves to make running Vector applications on top of Kubernetes as easy - [Installing by Helm](#installing-by-helm) - [Installing by Manifest](#installing-by-manifest) +- [Upgrading](#upgrading) # Installing by Helm @@ -391,6 +392,25 @@ Output You can see field `testfield`, which we add in transform section in VectorPipeline +# Upgrading + +Upgrade the operator with Helm as usual: + +```sh +helm repo update +helm upgrade vector-operator vector-operator/vector-operator -n NAMESPACE +``` + +**Then update the CRDs — Helm does not upgrade them.** Helm installs the chart's `crds/` directory only on the first install and intentionally never touches it again on `helm upgrade`. New or changed CRD fields (and CRD schema fixes) therefore do not reach your cluster until you apply the CRDs yourself: + +```sh +kubectl apply --server-side --force-conflicts -k "https://github.com/kaasops/vector-operator/config/crd?ref=" +``` + +Replace `` with the operator version you upgraded to (for example `v0.5.0`). + +Skipping the CRD update can break the operator in subtle ways. For example, versions up to v0.4.1 shipped CRDs that declared the pipeline hash status field as `format: int32`; Kubernetes versions that enforce integer formats (observed on v1.36) reject status updates for pipelines whose hash exceeds the int32 range, and such pipelines are silently excluded from the generated vector config. v0.5.0 fixes the schema, but only if the updated CRDs are applied. + # Cleanup ```bash kubectl delete namespace test