Skip to content

Conversation

@rb-kurrent
Copy link
Contributor

@rb-kurrent rb-kurrent commented Aug 20, 2025

Version 1.3.0 is totally broken, due to the "support helm install
--skip-crds" change, which is revoked for version 1.3.1.

Also, upon further inspection, there were various parts of the docs
for all existing versions that were just plain wrong.

  • The Three Node Secure Cluster (using LetsEncrypt) example has never
    worked. LetsEncrypt won't issue certificates for service names and
    the operator doesn't yet support any other way for nodes to connect to
    each other. I replaced the broken examples with a note about the
    recommended workaround. If we can't fix the three node letsencrypt
    problem soon then we should publish an example of the workaround at
    least.

  • The helm instructions were silent about the catastrophic data loss
    that could occur if you messed with crds.enabled the wrong way.

  • The installation instructions claim that by removing the
    --set=crds.enabled=true flag that CRDs would not be installed, except
    the default value of crds.enabled is also true, so that isn't
    correct.

  • The helm upgrade instructions did not include --reuse-values or
    --reset-then-reuse-values, but they did include a --set, which means
    helm would default to --reset-values, which means all values set
    during installation would be discarded. The instructions falsely
    claimed that values set during installation would be preserved.

@rb-kurrent rb-kurrent requested a review from a team as a code owner August 20, 2025 23:41
@github-actions
Copy link

github-actions bot commented Aug 20, 2025

@github-actions
Copy link

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Aug 21, 2025

Deploying documentation with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5ad5cbb
Status: ✅  Deploy successful!
Preview URL: https://82f1b619.documentation-21k.pages.dev
Branch Preview URL: https://v1-4-0.documentation-21k.pages.dev

View logs

@rb-kurrent rb-kurrent changed the title Operator v1.4.0 docs Operator v1.3.1 docs Aug 21, 2025
@rb-kurrent rb-kurrent force-pushed the v1.4.0 branch 2 times, most recently from 72ae1c7 to a76c7f9 Compare August 21, 2025 22:21
@rb-kurrent rb-kurrent changed the title Operator v1.3.1 docs DEV-877 Operator v1.3.1 docs Aug 21, 2025
@linear
Copy link

linear bot commented Aug 21, 2025

# Install the CRDs
kubectl apply -f kurrentdb-operator/templates/crds
helm template -s 'templates/crds/*.yaml' kurrentdb-operator \
--set operator.license.file= --set operator.license.key= \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add placeholders for the file and the key so people don't try to execute the command as-is?

Copy link
Contributor Author

@rb-kurrent rb-kurrent Aug 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this command is meant to be run as-is. This version didn't have defaults or proper none handling, so the secrets template would fail without license data, even if you were only trying to generate the crds out of the template.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah got it, it's the old version

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a brief explanation in the comment above this line.


::: caution
If `crds.enabled` transitions from `true` to `false` during an upgrade or rollback, the CRDs will be
removed from the cluster, and all KurrentDB and KurrentDBBackup resources will be deleted as well!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess any other resource types will be removed too, maybe add this "all resources managed by KurrentDB Operator like KurrentDB and KurrentDBBackup will be removed.

### Cluster-wide

In cluster-wide mode, the Operator tracks Kurrent resources across **all** namespaces and requires `ClusterRole`. Helm creates the ClusteRole automatically.
In cluster-wide mode, the Operator tracks Kurrent resources across **all** namespaces and requires `ClusterRole`. Helm creates the ClusterRole automatically.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add fences around ClusterRole for consistency

is not supported.

The recommended workaround is to combine [self-signed certificates within the cluster](
#three-node-secure-cluster-using-self-signed-certificates)) with an Ingress that does TLS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two parenthesis, does it work?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well sure it worked, it was just an extra paren of plain text on the output. Thanks for catching that.

If you set the value of `crds.keep` to `false` (the default is `true`), helm upgrades and rollbacks
can result in data loss. If `crds.keep` is `false` and `crds.enabled` transitions from `true`
to `false` during an upgrade or rollback, the CRDs will be removed from the cluster, and all
KurrentDB and KurrentDBBackup resources will be deleted as well!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here (see above) about other resources.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes I got all four cautions 👍

Version 1.3.0 is totally broken, due to the "support helm install
--skip-crds" change, which is revoked for version 1.3.1.

Also, upon further inspection, there were various parts of the docs
for all existing versions that were just plain wrong.

- The `Three Node Secure Cluster (using LetsEncrypt)` example has never
  worked.  LetsEncrypt won't issue certificates for service names and
  the operator doesn't yet support any other way for nodes to connect to
  each other.  I replaced the broken examples with a note about the
  recommended workaround.  If we can't fix the three node letsencrypt
  problem soon then we should publish an example of the workaround at
  least.

- The helm instructions were silent about the catastrophic data loss
  that could occur if you messed with crds.enabled the wrong way.

- The installation instructions claim that by removing the
  --set=crds.enabled=true flag that CRDs would not be installed, except
  the default value of crds.enabled is also true, so that isn't
  correct.

- The helm upgrade instructions did not include --reuse-values or
  --reset-then-reuse-values, but they did include a --set, which means
  helm would default to --reset-values, which means all values set
  during installation would be discarded.  The instructions falsely
  claimed that values set during installation would be preserved.
@alexeyzimarev alexeyzimarev merged commit 109126b into master Aug 22, 2025
3 checks passed
@alexeyzimarev alexeyzimarev deleted the v1.4.0 branch August 22, 2025 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants