clastix / kamaji

Kamaji is the Hosted Control Plane Manager for Kubernetes.
https://kamaji.clastix.io
Apache License 2.0
1.14k stars 104 forks source link

feat: making default datastore optional #597

Closed prometherion closed 2 weeks ago

prometherion commented 1 month ago

@bsctl this change is required to support the DataStore Scheduler enterprise addon we aim to release.

After this change, Kamaji can be started with no --datastore field, forcing a Datastore assignment from user or addons.

netlify[bot] commented 1 month ago

Deploy Preview for kamaji-documentation ready!

Name Link
Latest commit fd3185e58c8971fa41dc3d0959cac662d0e7c0b6
Latest deploy log https://app.netlify.com/sites/kamaji-documentation/deploys/67224c4d3cb5dd0009682ebf
Deploy Preview https://deploy-preview-597--kamaji-documentation.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

prometherion commented 2 weeks ago

That would be very bad: even tho we released the v1.0.0 as stable and we have safe defaults for beginners, I would avoid providing a stumped Kamaji with no Datastore.

I'm expecting to get an HCP architecture just with a single command, without the complexity of installing the etcd with a different command, etc.

prometherion commented 2 weeks ago

Just tested, when creating a TenantControlPlane with missing DataStore the following logs are expected.

2024-10-30T15:07:44Z    INFO    the Tenant Control Plane doesn't have a DataStore assigned, and Kamaji is running with no default DataStore fallback    {"controller": "tenantcontrolplane", "controllerGroup": "kamaji.clastix.io", "controllerKind": "TenantControlPlane", "TenantControlPlane": {"name":"k8s-130","namespace":"kamaji-system"}, "namespace": "kamaji-system", "name": "k8s-130", "reconcileID": "20318484-cbb6-49e4-b515-2d14d9a87a37"}

If you restart the Kamaji Operator with the --datastore value, all the Tenant Control Plane instances with no DataStore will be set up with that value.

If CI is green, happy to get this merged.