Skip to content

feat: basic support for federation - #125

Merged
debdutdeb merged 14 commits into
masterfrom
feat/alpha-federation
Mar 21, 2024
Merged

feat: basic support for federation#125
debdutdeb merged 14 commits into
masterfrom
feat/alpha-federation

Conversation

@debdutdeb

@debdutdeb debdutdeb commented Feb 15, 2024

Copy link
Copy Markdown
Member

This is a very basic support to quickly enable federation in your deployment.

To configure the deployment, add the following to the values file -

host: ... # this is a must for federation as https is required
ingress:
  enabled: true
  annotations:
    cert-manager.io/cluster-issuer: some-issuer # or some other annotation if using annotation based automatic certificate assignment
  tls:
    hosts:
      - ... # the value of host
      - ... # value of the domain where matrix will be accessible from

federation:
  enabled: true
  host: ... # some host where your synapse install will be accessible from
  persistence:
    enabled: true
    existingClaim: ... # some claim

@debdutdeb
debdutdeb force-pushed the feat/alpha-federation branch from c73efd5 to 644e7b1 Compare February 15, 2024 14:47
Comment thread rocketchat/values.yaml

@geekgonecrazy geekgonecrazy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm very hesitant to give thumbs up on this. SQLite is awesome.. but its not the recommended way by MatrixOrg / Element. So I don't think we should be letting people set it up in a non-recommended way.

If you want to add a flag for "useSQLite: true" for people that wish to only use SQLite then go for it. But the default should be postgres

@geekgonecrazy geekgonecrazy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per above suggestions

@debdutdeb

Copy link
Copy Markdown
Member Author
host: rocketchat-fed.dev.rocket.chat

externalMongodbUrl: <RADACTED>
externalMongodbOplogUrl: <REDACTED>

ingress:
  enabled: true
  ingressClassName: nginx
  annotations:
    cert-manager.io/cluster-issuer: production-cert-issuer
  tls:
    - secretName: some-secret
      hosts:
        - rocketchat-fed.dev.rocket.chat
        - matrix-fed.dev.rocket.chat


microservices:
  enabled: false


mongodb:
  enabled: false

federation:
  enabled: true
  host: matrix-fed.dev.rocket.chat
  persistence:
    enabled: true
    existingClaim: synapse-helm

@casalsgh
casalsgh requested a review from geekgonecrazy March 18, 2024 14:51
@debdutdeb
debdutdeb marked this pull request as draft March 18, 2024 19:51
@debdutdeb
debdutdeb force-pushed the feat/alpha-federation branch from b212d16 to 113583d Compare March 18, 2024 19:59
@debdutdeb debdutdeb changed the title feat: alpha support for federation feat: basic support for federation Mar 19, 2024
@debdutdeb
debdutdeb force-pushed the feat/alpha-federation branch from f011828 to e2fc99d Compare March 19, 2024 15:51
@debdutdeb
debdutdeb marked this pull request as ready for review March 19, 2024 20:01
@debdutdeb

Copy link
Copy Markdown
Member Author

self note: add the documentation for the settings

Comment thread rocketchat/templates/scripts-configmap.yaml
Comment on lines +151 to +155
- name: OVERWRITE_SETTING_Federation_Matrix_serve_well_known
{{- if not .Values.ingress.federation.serveWellKnown }}
value: "true"
{{- else }}
value: "false"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't implemented yet, we will be able to avoid litghttpd and other ingress configs this way.

pr isn't merged yet RocketChat/Rocket.Chat#31965

Idea was to make this default for chart installs, but we need this now and can make it opt in.

@geekgonecrazy geekgonecrazy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to see that lighthttpd instance go away. But I guess we have to wait until 6.7 for that.

I wish element or matrix.org had an official chart for this. But can't find anything other than this ai hallucination https://www.pulumi.com/ai/answers/bUXpwtGTrLbRSFk1Lzkwt2/managing-helm-chart-deployments-on-kubernetes

Overall I don't like this extra complexity being brought in to our chart.. But its necessary for a better customer experience. K8S can be tricky, and deploying federation even more tricky.

I guess lets do this ✅

@debdutdeb
debdutdeb merged commit 22e0cee into master Mar 21, 2024
@debdutdeb
debdutdeb deleted the feat/alpha-federation branch March 21, 2024 20:39
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

Successfully merging this pull request may close these issues.

2 participants