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

Chart needs a new Service in order to support calls #384

Open
Xnyle opened this issue Nov 24, 2022 · 6 comments
Open

Chart needs a new Service in order to support calls #384

Xnyle opened this issue Nov 24, 2022 · 6 comments

Comments

@Xnyle
Copy link

Xnyle commented Nov 24, 2022

I patched this but obv. this could be done more elegantly

apiVersion: v1
kind: Service
metadata:
  name: mattermost-udp-service
  namespace: {{.Release.Namespace}}
spec:
  ports:
  - protocol: UDP
    name: udp-calls
    port: 8443
    targetPort: 8443
  type: LoadBalancer
  selector:
    app.kubernetes.io/instance: mattermost
@stafot
Copy link
Contributor

stafot commented Nov 24, 2022

Could you please elaborate more your proposal?

@baznikin
Copy link

@stafot Calls plugin required UDP port 8443 to be exposed - https://docs.mattermost.com/configure/calls-deployment.html
Separate mattermost-rtcd chart seems to do the job, but integrated processing with plugin not supported.
There is no way to expose mattermost UDP/8443 with mattermost-operator - nether operator create needed ports nor CRD for installation.mattermost.com support for additional ports declaration to expose it manually.

@Xnyle
Copy link
Author

Xnyle commented Nov 24, 2022

Operator (to me) seems like overkill. In my (simple) scenario I just needed to add the mentioned service.
Would be nice if that template just gets included and one could enable it via values.yaml.

@stafot
Copy link
Contributor

stafot commented Nov 24, 2022

Yes an additional service with a related flag to enable it on demand seems as reasonable proposal. Feel free to propose it in a pull request if you are in a rush.

@onpaws
Copy link

onpaws commented Dec 1, 2022

+1 would be great to add to the chart. Presumably since the Calls plugin is still in beta it should live behind a flag.

In my case I went with NodePort which is why I specified port 30001 in my manifest:

apiVersion: v1
kind: Service
metadata:
  name: mattermost-rtc-service
spec:
  ports:
  - nodePort: 30001
    port: 30001
    protocol: UDP
  selector:
    app.kubernetes.io/instance: mattermost ## should match the Helm name of your Mattermost deployment

Why 30001? It could be any port # so long as it complies with the rules of NodePorts.

In my view the main pro of NodePorts is that they are cloud provider agnostic and should be generally available; the con is running on a 'weird' port. Pro of LoadBalancer is that it works on default port 8443, but con is LoadBalancers are 1) not supported at every cloud provider and 2) where they are supported, they may not be free.

In testing I noticed that Mattermost clients appear to automatically load custom RTC port config from the server anyway, so a 'weird' port like 3000whatever may not matter anyway b/c it's not a user-facing detail.

@baznikin
Copy link

baznikin commented Dec 1, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants