Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace cass-config-builder with Go #512

Closed
2 of 6 tasks
burmanm opened this issue Mar 22, 2023 · 6 comments · Fixed by k8ssandra/k8ssandra-client#8 or #540
Closed
2 of 6 tasks

Replace cass-config-builder with Go #512

burmanm opened this issue Mar 22, 2023 · 6 comments · Fixed by k8ssandra/k8ssandra-client#8 or #540
Assignees
Labels
done Issues in the state 'done' enhancement New feature or request

Comments

@burmanm
Copy link
Contributor

burmanm commented Mar 22, 2023

What is missing?

We currently run cass-config-builder, which is not compatible with the new configs in 4.1 and up. The steps that we will need to implement are created as subtickets (we don't need to replicate entire cass-config-builder as a lot of it isn't Kubernetes related).

In addition, some smaller ones:

  • Sanitize env variables (including cassandra-env.sh additionals) to prevent any injections
  • Get rid of some env variables that are not relevant to Kubernetes installations
  • Add ability to set Cassandra version to 5.x.x also
  • Support DSE 6.8.x and OSS versions

Why is this needed?

Refactoring cass-config-builder is time consuming, is built on language we don't use (Clojure) and it's a resource hog.

Additional info

We need to decide which versions will use the newer builder. Do we want to keep the old one for the stuff where it has worked previously (3.11.x, 4.0.x and DSE 6.8.x) and only use it for the newer stuff - or do we want to replace and use a common path for all versions?

Restricting it to newer ones would reduce the amount of boilerplate and different paths, but of course would require different deployment model for different versions.

@burmanm burmanm added the enhancement New feature or request label Mar 22, 2023
@burmanm
Copy link
Contributor Author

burmanm commented Apr 27, 2023

A small note to overall approach. We need the base config in many cases, but that's not available elsewhere than the image itself. So perhaps initcontainer is still necessary (or sane approach).

@adejanovski adejanovski added the assess Issues in the state 'assess' label Jun 9, 2023
@adejanovski adejanovski added in-progress Issues in the state 'in-progress' and removed assess Issues in the state 'assess' labels Jun 27, 2023
@adejanovski adejanovski added ready-for-review Issues in the state 'ready-for-review' review Issues in the state 'review' and removed in-progress Issues in the state 'in-progress' ready-for-review Issues in the state 'ready-for-review' labels Jul 24, 2023
@adejanovski adejanovski added done Issues in the state 'done' and removed review Issues in the state 'review' labels Jul 26, 2023
@burmanm burmanm reopened this Jul 26, 2023
@adejanovski adejanovski added to-groom Issues in the state 'to-groom' and removed done Issues in the state 'done' labels Jul 26, 2023
@burmanm
Copy link
Contributor Author

burmanm commented Jul 26, 2023

Reopening until cass-operator part is merged also.

@adejanovski adejanovski added ready-for-review Issues in the state 'ready-for-review' review Issues in the state 'review' and removed to-groom Issues in the state 'to-groom' ready-for-review Issues in the state 'ready-for-review' labels Jul 26, 2023
@adejanovski adejanovski added done Issues in the state 'done' and removed review Issues in the state 'review' labels Aug 16, 2023
@c3-clement
Copy link

hello @burmanm

Is it still possible to use cass-config-builder over k8ssandra-client for cassandra 4.1 ?

We currently run cass-config-builder, which is not compatible with the new configs in 4.1 and up

Do you know where I can find documentation about cass-config-builder and Cassandra 4.1 compatibility?

Thanks!

@burmanm
Copy link
Contributor Author

burmanm commented May 31, 2024

You need to override two init containers if you wish to use the older one, we automatically deploy k8ssandra-client for 4.1 installations.

cass-config-builder has no support for 4.1 and is not tested with it. It would deploy 4.0.0 config as the base template for 4.1. Why would you want to use the old cass-config-builder instead?

@c3-clement
Copy link

You need to override two init containers if you wish to use the older one, we automatically deploy k8ssandra-client for 4.1 installations.

cass-config-builder has no support for 4.1 and is not tested with it. It would deploy 4.0.0 config as the base template for 4.1. Why would you want to use the old cass-config-builder instead?

Thank you for your answer!

Why would you want to use the old cass-config-builder instead?

That's a long story. To make it short, we have to get the k8ssandra-client image approved by our customers security teams, while the cass-config-builder image is already approved

@burmanm
Copy link
Contributor Author

burmanm commented May 31, 2024

To make it short, we have to get the k8ssandra-client image approved by our customers security teams, while the cass-config-builder image is already approved

Right. Well, it might make sense to get that process done as our active work revolves around k8ssandra-client for config building. That includes 5.0 support also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
done Issues in the state 'done' enhancement New feature or request
Projects
No open projects
Archived in project
3 participants