No project description provided
Project description
ESS Migration Tool
The ESS Migration Tool helps you migrate your existing Synapse and Matrix Authentication Service (MAS) configurations to Element Server Suite (ESS) Helm values format. This tool automates the conversion process, making it easier to transition to ESS while preserving your existing configuration settings.
Installation
Install the migration tool, ideally using pipx:
pipx install ess-migration-tool
Prerequisites
Before running the migration tool, ensure you have:
- A Synapse configuration file: Access to
homeserver.yamlfile from your current Synapse installation - A Matrix Authentication Service configuration file (optional): Access to
config.yamlfile if you're already using MAS - Python 3.11+: The tool requires Python 3.11 or higher
- Access to configuration files: Make sure your configuration files are accessible and readable
If the tool has access to the secrets referenced in the configuration files, the tool will automatically discover and use them in the resulting output files. If it does not have access to the secrets, it will prompt you to provide them manually.
Usage
Basic Migration (Synapse only)
ess-migration-tool --synapse-config /path/to/synapse/homeserver.yaml
Migration with Matrix Authentication Service
ess-migration-tool --synapse-config /path/to/synapse/homeserver.yaml --mas-config /path/to/mas/config.yaml
Advanced Options
usage: ess-migration-tool [-h] --synapse-config SYNAPSE_CONFIG [--mas-config MAS_CONFIG]
[--output-dir OUTPUT_DIR] [--verbose] [--debug] [--quiet]
[--database-mode {existing,ess-managed}]
Migrate Matrix Stack configurations to Element Server Suite Helm values
options:
-h, --help show this help message and exit
--synapse-config SYNAPSE_CONFIG
Path to Synapse homeserver.yaml configuration file. This is the main Synapse
configuration that contains server_name, database, listeners, etc.
--mas-config MAS_CONFIG
Path to Matrix Authentication Service config.yaml configuration file.
--output-dir OUTPUT_DIR
Output directory for generated files (default: output). The migration will create Helm
values.yaml and any ConfigMap files in this directory.
--verbose Enable verbose logging. Shows detailed information about the migration process.
--debug Enable debug logging. Shows debug information about the migration process.
--quiet Disable migration summary output.
--database-mode {existing,ess-managed}
Database migration mode. 'existing' to use existing database, 'ess-managed' to use ESS-
managed Postgres. If not specified, user will be prompted.
Migration Process
The migration tool follows these steps:
- Loading and validating input files: Reads and validates your Synapse and MAS configuration files
- Discovering secrets and extra files: Automatically discovers secrets and extra files referenced in the configuration
- Migrating configuration to ESS values: Converts your existing configuration to ESS Helm values format
- Writing output files: Write the
values.yaml, ConfigMaps, and Secrets to the output directory
Output Files
The tool generates the following files in the output directory:
values.yaml: Main Helm values file for ESS deployment- ConfigMap files: Additional Kubernetes ConfigMaps containing additional extra files (emails templates etc...)
- Secrets files: Kubernetes Secrets containing secrets discovered in the configuration files
Post-Migration Steps
After running the migration tool:
- Review the generated files: Check the output directory for the generated
values.yamland other files - Customize as needed: Modify the values to match your specific requirements
- Follow the instructions provided by the tool: The tool will explain the next steps adjusted to your environment. You many need to adjust some steps according to your environment
- Verify the setup: Follow the ESS verification steps
Enabling Matrix Authentication Service
If your existing deployment does not support Matrix Authentication Service (MAS), after migrating to ESS,
you can use the ESS syn2mas feature:
See the syn2mas documentation for the complete process.
Support
For issues or questions about the migration tool:
- Create an issue in the ESS Helm repository
- Join the ESS Community Matrix room
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ess_migration_tool-0.1.2.tar.gz.
File metadata
- Download URL: ess_migration_tool-0.1.2.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d83aa837e33e6852981344f35eb8bac84848629f14f0efecc1b35a83423099e7
|
|
| MD5 |
ca5f9f8590b27596041c89061d97229a
|
|
| BLAKE2b-256 |
7c1d10463fb6879f2e8f51d59144c735687716837560f072f831448ebf18442d
|
File details
Details for the file ess_migration_tool-0.1.2-py3-none-any.whl.
File metadata
- Download URL: ess_migration_tool-0.1.2-py3-none-any.whl
- Upload date:
- Size: 39.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd96f5e0ed853ea3edf8808c7894f5ef07ec1023fe69393bdbe267a30195252
|
|
| MD5 |
6591716f076ffcdeca3f100022386cbf
|
|
| BLAKE2b-256 |
79c6593d497959689f9e23f875d5aef1e26c7f4271395f3c93b23c15c7715069
|