Netbird server Helm chart
Hi,
I have created this issue to track the status of creating a Helm chart to install a self-hosted server easily. I have just finished preparing all Kubernetes required resources and got it working out of the box.
I just still need to replace the hard-coded fields with Helm vars.
Here I am using no "magic script" to create my configuration, because it was the most tedious part for me to get everything working without the script, because it reduced the readability and my understanding to what is going on and how is every part being configured. So I think these K8s resources can also help anybody to understand how the components can be configured manually.
You can assign me this task. Also, Please help me in finding Kubernetes manifest files so that I can start working on packaging it using Helm.
Hello @MohammedNoureldin @jayvardhan2111 Any news on this feature request ? Regards,
As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird
https://github.com/jaconi-io/helm-charts/tree/main
As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird
https://github.com/jaconi-io/helm-charts/tree/main
HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding.
As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird
https://github.com/jaconi-io/helm-charts/tree/main
HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding.
It's a classic helm chart with a lot of configurable features (all ? I didn't look much into in for now) with default values also. If we have a simple helm chart if your requirement change and need a feature that's not managed you have to migrate to another helm chart. Documentation and default values (when possible) will helps to understand.
I have written a generic helm chart, which is not as coupled as the one from jaconi. Right now works quite well, and is quite configurable. The difficult part, is how to manage the management configuration file, and populate it with configs and secrets. Should I create a PR on this repo, with a proposal? Spoiler alert:
- It will support configuration template with secrets and config support using vals in an init container.
@marcportabellaclotet-mt can you share a preview of your chart with the proposal? thanks
Here is a basic version of the Helm chart that I am using.
It needs documentation, which could be added if the proposal is accepted. The aim is to support any configuration since it's impractical to template all possible configurations based on the management.json file.
To render the configuration, we will need to run the configure.sh from Netbird, include it as values.configuration in the netbird chart, and replace sensitive data with vals references. Note that netbird-dashboard also needs to update some env vars.
Maybe I could merge both charts for simplicity.
I provide an example using Authentik as an IdP and Kubernetes secrets to manage sensitive data.
For deploying the TURN server, I have successfully done so in Kubernetes using the Stunner Gateway Operator.
I've just updated the helm chart, with relay support. It includes examples, documentation, and now you can use it as a helm release:
helm repo add netbird-helm https://totmicro.github.io/helms
Details here.
@marcportabellaclotet-mt that is great work. I had forked your repo earlier and added some elements that I needed: https://github.com/mojaloop/netbird-charts
i would like to move to using your chart repo if we can see if my changes are needed anymore and if so, make a PR from mine to yours.
But also, was wondering if you are on the netbird slack. There are other users there interested in a helm chart and it would be good to get the discussion going with them as well as the netbird guys.
one big thing would be to address the use of env vars in the management.json config so we don't need the helmfile secrets injection and the kubectl init container bit.
I will join netbird slack, to discuss about this.
so the concensus is that you are moving forward with @marcportabellaclotet-mt 's helm chart.. and eventually merge that into netbird repo here as the official helm chart, or ?
I am also happy to contribute to this effort.
join the netbird slack #helm channel
Hello @MohammedNoureldin,
We're currently reviewing our open issues and would like to verify if this problem still exists in the latest NetBird version.
Could you please confirm if the issue is still there?
We may close this issue temporarily if we don't hear back from you within 2 weeks, but feel free to reopen it with updated information.
Thanks for your contribution to improving the project!
It is not an issue, we are missing the official Helm, while I am currently using my self-written chart. FYI @nazarewk
More of a feature request and not an issue but regardless, it is a need.
Can agree this is a need. Im surprised you went about creating an operator before even creating a chart to host the server
Edit: Although i have just spotted this, which i will be investigating.
The chart is available and it was donated by the community. If you have any feedback, please join our slack workspace here or open an issue in the chart repository directly.
@mlsmaycon Sounds great. Where can I find it? I can't see it in general readme in this repo under installation methods?
It looks like this chart (https://github.com/netbirdio/kubernetes-operator) is for the agent, I was expecting the manager and UI. Unless I am missing something.
Isn't this one? https://github.com/netbirdio/helms
Yes, you are right, I was looking at the operator that was posted earlier. Thank you!
what chart are we using for coturn ?
@ashish1099 checking the source code of the Chart shows that the default TURN server is a netbird-built TURN server. You still can use your external self-hosted COTURN.
I also happened to write a helm chart (the existing one didn't fit all the needs of my cluster). Feel free to steal anything from it https://github.com/cclloyd/helm-netbird
@MohammedNoureldin I couldn't found anything where it says netbird-built TURN server setup, in the compose file too I saw its running coturn only.
I have working here kubeaid netbird