helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

[Feature Request] Move cassandra chart to bitnami

Open luismacosta opened this issue 9 months ago • 1 comments

What was changed

[Feature Request] Move cassandra to bitnami -> https://github.com/temporalio/helm-charts/issues/468 For visibility database, I'm using mysql, once it's part of another initiative https://github.com/temporalio/helm-charts/pull/687

Why?

Move to a maintained chart

How was this tested:

➜   helm template .  --name-template temporal -n temporal-tests -f ci/cassandra.yaml   > final.yaml --debug

➜   kubectl create ns temporal-tests

➜   kubectl apply -f /temporal/charts/temporal/final.yaml -n temporal-tests

➜   kubectl get pods -n temporal-tests
NAME                                  READY   STATUS      RESTARTS      AGE
temporal-admintools-9dbbb7c86-cn9gz   1/1     Running     0             2m32s
temporal-cassandra-0                  1/1     Running     0             2m28s
temporal-frontend-5d99659777-cwj2g    1/1     Running     2 (50s ago)   2m32s
temporal-history-65c7d746bf-bzwbf     1/1     Running     2 (50s ago)   2m31s
temporal-matching-ccd4cf68-p2srm      1/1     Running     2 (50s ago)   2m30s
temporal-mysql-0                      1/1     Running     0             2m23s
temporal-schema-1-4bxhh               0/1     Completed   0             2m28s
temporal-web-65cff74bf8-7djtl         1/1     Running     0             2m29s
temporal-worker-6c6c9f8fd5-vgnkk      1/1     Running     3 (36s ago)   2m30s


➜   kubectl exec -it temporal-cassandra-0 -n temporal-tests -- /bin/sh
$ bash
I have no name!@temporal-cassandra-0:/$ cqlsh -u cassandra
Password:
Connected to cassandra at 127.0.0.1:9042
[cqlsh 6.2.0 | Cassandra 5.0.3 | CQL spec 3.4.7 | Native protocol v5]
Use HELP for help.

cassandra@cqlsh> desc keyspaces;

system       system_distributed  system_traces  system_virtual_schema
system_auth  system_schema       system_views   temporal

Cc @robholland @tomwheeler

luismacosta avatar Apr 10 '25 02:04 luismacosta

Nice work @luismacosta!

I have some feedback for you: The commands that you provided needed to be tweaked, in the future to ease PR testing please ensure that your commands are repeatable without change.

$ cd charts/temporal
$ helm dependency build
$ helm template . --name-template temporal -n temporal-tests -f ci/cassandra.yaml  --debug  > final.yaml
$ kubectl create ns temporal-tests
$ kubectl apply -f final.yaml -n temporal-tests

Additionally I have a few questions:

  1. Why are you setting up MySQL as the visibility store instead of using Cassandra for both? I don't see anything in the feature request that would suggest this change is needed / wanted by Temporal.
  2. Why are you using jeremias as the root password? Look to use more standard naming conventions such as "temoral" or "temporalRoot"
  3. I think it's fine that you updated the ci/cassandra but I don't see you make mention of the values/values.cassandra.yaml. Was this tested with the Bitnami chart?

Also as this is a helm-chart repo, please use helm to install and manage the deployment.

Hello @PhillypHenning

Thanks for the feedback.

  1. Mysql as visibility store was defined just to test the helm chart
  2. Password has been updated to temporalRoot
  3. values.cassandra.yaml updated

luismacosta avatar Jun 11 '25 21:06 luismacosta

Hello @PhillypHenning

I've updated the PR with your suggestions. Can you please review it and merge if everything looks good to you? Thanks.

Cc @robholland @tomwheeler

luiscosta18 avatar Aug 21 '25 17:08 luiscosta18

This is probably a bad idea. bitnami is now longer supporting OCI images: https://medium.com/@talkimhi/bitnamis-august-28th-bombshell-the-end-of-free-container-images-as-we-know-them-74fe5cdfb882

sergey-vin avatar Sep 18 '25 11:09 sergey-vin