-
Notifications
You must be signed in to change notification settings - Fork 22
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
Make it easy to deploy a substrate-connect enabled bootnode to Kubernetes #108
Comments
To give more context, we're planning on integrating support for WebRTC in Substrate. WebRTC is basically an equivalent to WebSocket, but more suited to our use case. However, the timeline for WebRTC is probably a few months, so it's probably still worth doing a helm chart for WebSocket. |
I would not include the Ingress part in the chart. The chart is using only standard Kubernetes primitives that enables it to work on different Kubernetes distributions: be it self-hosted or a managed cloud solution. I would leave the chart as generic as possible and allow users to customize it to their needs. |
I agree to leave our chart fully cloud agnostic, however it would be nice to have ingress examples to help third party teams set up connect enabled bootnodes. If they have to do multiple hours/days of research and config tweaking like us to do it, many teams might think it's too complex to set up/maintain. |
Also the bootnodes being the first node you set up for your network, it might be good to show some examples directly in the node chart readme. Alternatively this can be discussed in the devops guide |
I created a separate issue to put some examples of using Ingress: #175 |
We can create a chart called |
Would you envisage this being an umbrella chart (and thus using subcharts) or using something like helmfile to create those stacks? The reason I ask is that using subcharts can offer some major advantages I.E being able to share subchart templated values and labels across the umbrella chart, as well as conditionally template in values based on enablements/env of your subcharts. There is some annoying overhead, however; chart dependencies require frequent version bumping, then |
To make it easy to manage a set of "wss bootnodes" we should implement
Then this would create 1 ingress for each node with rules set up like this (eg. para p2p ingress):
ping @bakhtin |
I'm no longer at Parity so feel free to ignore this comment, but I would suggest not waste time on this. |
Substrate-connect light clients have been officially announced as ready to use for the general public (https://www.youtube.com/watch?v=TDbTCrDDO2U). However, from an operational point of view, an obstacle to adoption is that to work properly, the light client needs to access a bootnode which exposes it's p2p over websocket (typically
--listen-addr /ip4/0.0.0.0/tcp/30444/ws --listen-addr /ip6/::/tcp/30444/ws
). Moreover, as browsers will only allow connecting to a secured websocket, you need a reverse proxy in front such as nginx to add a letsencrypt certificate.I believe it would be valuable to offer an easy way to deploy such a bootnode to kubernetes with the following:
Option to auto-generate the relevant p2p-ws Ingress and Service on the helm-chartping @tomaka
The text was updated successfully, but these errors were encountered: