redpanda-data / console

Redpanda Console is a developer-friendly UI for managing your Kafka/Redpanda workloads. Console gives you a simple, interactive approach for gaining visibility into your topics, masking data, managing consumer groups, and exploring real-time data with time-travel debugging.
https://redpanda.com
3.83k stars 351 forks source link

Add warning banner or disable license upload when running in Kubernetes #1479

Open chrisseto opened 1 month ago

chrisseto commented 1 month ago

Thanks to @JakeSCahill for bringing this to my attention.

Console's new (?) ability to directly upload a license to redpanda is great but could lead to some accidental foot-guns if deployed in Kubernetes via the helm chart or operator.

  1. Console will require a manual restart. This would require a user to manually delete the console Pods after uploading the console.
  2. The uploaded license may get overridden if the redpanda license is also managed via helm or the operator.

Neither of these are particularly nasty but 2. could certainly lead to some head scratching or perhaps some unexpected downtime if redpanda doesn't reject expired licenses.

I'd be ideal if console could either disable the ability to upload licenses or perhaps display a warning with a link to our docs with an explanation of the warning. As for the restart... console could just crash itself and rely on Kubernetes to restart it but that's likely not the most pleasant experience.

Console could either garner it's environment via some heuristics or we could have the chart / operator set either a config value or environment variable to enable such functionalities.

cc @david-yu for your thoughts as well.

weeco commented 4 weeks ago

I'd probably vote for adding some config that informs Console it's managed by our Kubernetes operator. Based on that we could do further adaptions that are specific to operator managed environments. Maybe that suffices versus the approach of making it controllable per feature (i.e. disable license upload because operator) until we need additional flexibility in the future? Both would be fine for me though.

chrisseto commented 3 weeks ago

No strong preference from my end! Either way we'll just be making changes to the config file.

david-yu commented 3 weeks ago

@weeco That works. I've seen it work the same in a previous job just as you described.