Skip to main content

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.

ESS Migration Tool

Installation

Install the migration tool, ideally using pipx:

pipx install ess-migration-tool

Prerequisites

Before running the migration tool, ensure you have:

  1. A Synapse configuration file: Access to homeserver.yaml file from your current Synapse installation
  2. A Matrix Authentication Service configuration file (optional): Access to config.yaml file if you're already using MAS
  3. Python 3.11+: The tool requires Python 3.11 or higher
  4. 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:

  1. Loading and validating input files: Reads and validates your Synapse and MAS configuration files
  2. Discovering secrets and extra files: Automatically discovers secrets and extra files referenced in the configuration
  3. Migrating configuration to ESS values: Converts your existing configuration to ESS Helm values format
  4. 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:

  1. Review the generated files: Check the output directory for the generated values.yaml and other files
  2. Customize as needed: Modify the values to match your specific requirements
  3. 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
  4. 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ess_migration_tool-0.1.2.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ess_migration_tool-0.1.2-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

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

Hashes for ess_migration_tool-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d83aa837e33e6852981344f35eb8bac84848629f14f0efecc1b35a83423099e7
MD5 ca5f9f8590b27596041c89061d97229a
BLAKE2b-256 7c1d10463fb6879f2e8f51d59144c735687716837560f072f831448ebf18442d

See more details on using hashes here.

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

Hashes for ess_migration_tool-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fcd96f5e0ed853ea3edf8808c7894f5ef07ec1023fe69393bdbe267a30195252
MD5 6591716f076ffcdeca3f100022386cbf
BLAKE2b-256 79c6593d497959689f9e23f875d5aef1e26c7f4271395f3c93b23c15c7715069

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page