# Synapse charm

A Juju charm deploying and managing [Synapse](https://github.com/matrix-org/synapse) on Kubernetes. Synapse is a drop-in replacement for other chat servers like Mattermost and Slack.

This charm simplifies the deployment and ongoing operations of Synapse on Kubernetes, such as integration with SSO, access to S3 for redundant file storage and more. It allows for deployment on many different Kubernetes platforms, from [MicroK8s](https://microk8s.io) to [Charmed Kubernetes](https://ubuntu.com/kubernetes) to public cloud Kubernetes offerings.

For DevOps or SRE teams this charm will make operating Synapse straightforward through Juju’s clean interface. It will allow easy deployment into multiple environments for testing of changes.

## In this documentation

|                 |                                                                                                                                                                                                                                                                                       |
|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Get started** | [Guided tutorial](https://canonical.com/juju/docs/synapse-charm/latest/tutorial/getting-started/index.html.md#tutorial-getting-started)                                                                                                                                                                                               |
| **Deployment**  | [Integrate with SMTP](https://canonical.com/juju/docs/synapse-charm/latest/how-to/configure-smtp/index.html.md#how-to-configure-smtp) | [Configurations](https://canonical.com/juju/docs/synapse-charm/latest/reference/configurations/index.html.md#reference-configurations) | [Actions](https://canonical.com/juju/docs/synapse-charm/latest/reference/actions/index.html.md#reference-actions)                          |
| **Operations**  | [Back up and restore](https://canonical.com/juju/docs/synapse-charm/latest/how-to/backup-and-restore/index.html.md#how-to-backup-and-restore) | [Horizontally scale](https://canonical.com/juju/docs/synapse-charm/latest/how-to/horizontally-scale/index.html.md#how-to-horizontally-scale) | [Relation endpoints](https://canonical.com/juju/docs/synapse-charm/latest/reference/integrations/index.html.md#reference-integrations) |
| **Design**      | [Charm architecture](https://canonical.com/juju/docs/synapse-charm/latest/reference/charm-architecture/index.html.md#reference-charm-architecture)                                                                                                                                                                                        |
| **Security**    | [Federation and external access](https://canonical.com/juju/docs/synapse-charm/latest/reference/external-access/index.html.md#reference-external-access)                                                                                                                                                                               |

## How this documentation is organized

This documentation uses the
[Diátaxis documentation structure](https://diataxis.fr/).

- The [Tutorial](https://canonical.com/juju/docs/synapse-charm/latest/tutorial/index.html.md#tutorial-index) takes you step-by-step through deploying the Synapse charm for the first time.
- [How-to guides](https://canonical.com/juju/docs/synapse-charm/latest/how-to/index.html.md#how-to-index) assume basic familiarity with the Synapse charm. They cover key operations and common tasks such as backups, scaling, and SMTP integration.
- [Reference](https://canonical.com/juju/docs/synapse-charm/latest/reference/index.html.md#reference-index) provides technical details on actions, configurations, integrations, and charm architecture.
- The [Changelog](https://canonical.com/juju/docs/synapse-charm/latest/changelog/index.html.md#changelog) holds a record of all notable changes to the charm.

## Project and community

Synapse is an open-source project that welcomes community contributions, suggestions, fixes and constructive feedback.

- [Read our Code of Conduct](https://ubuntu.com/community/code-of-conduct)
- [Join the Discourse forum](https://discourse.charmhub.io/)
- [Discuss on the Matrix chat service](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
- [Contribute and report bugs](https://github.com/canonical/synapse-operator/issues)
- Check the [release notes](https://github.com/canonical/synapse-operator/releases)
