Installation of the importer
The importer for automatic migration is provided as a CES component and can be installed in a CES-MN instance with the associated “Component CR”.
Prerequisites
- Your target instance is an instance of the Cloudogu EcoSystem on a multinode basis (CES-MN instance).
-
Login data including a password of the mail server used.
- The Postfix Dogu of the target instance cannot be used as it is a Dogu and is temporarily inaccessible during the migration.
-
You have an SSH key pair.
-
If you do not yet have an SSH key pair, generate one with
ssh-keygen.- It is recommended to use the key type “Ed25519”, which offers higher performance and improved security compared to traditional algorithms such as RSA.
- The SSH key pair must not require a passphrase.
- You need the private key for the importer on the target instance
- You need the public key for the exporter on the source instance.
-
-
You have an API key.
- You can generate the key individually with any characters.
- The API key has a length of 8 to 128 characters.
- You also need this API key to install the exporter on the source instance.
- The FQDN of the source instance is known.
Installation
- connect to your instance (command line) by setting the Kubernetes context accordingly.
-
create a Kubernetes secret with the following information for the importer:
- SSH private key
- API key
- Mail password (if required)
You can create the secret with the following
kubectlcommand:kubectl -n ecosystem create secret generic ces-importer-secret \ --from-file=privateKey=</path/to_my/Private-key> \ --from-literal=apiKey=<my-api-key> \ --from-literal=mailPassword=<your-mail-password>If the mail server is accessible without a password, an empty string is sufficient.
-
Installieren Sie den ces-importer durch Anwendung des folgenden YAML im Cluster:
apiVersion: k8s.cloudogu.com/v1 kind: Component metadata: labels: app: ces name: ces-importer namespace: ecosystem spec: name: ces-importer namespace: k8s version: 1.0.0 valuesYamlOverwrite: | config: api: host: <FQDN of the source instance> skipTLSVerify: <true, if no certificate or a self-signed certificate is available> migration: regularSchedule: <Time of migration(s) in CRON format in server time> finalSchedule: <Timestamp when to start the final migration in RFC-3339 format. e.g. "2025-04-03T12:34:56Z"> smtp: enabled: <true, if mail notifications are required; if not, the rest of this section can be omitted> server: <smtp.my-mailserver.com> port: <the port of the mail server, e.g. 25> username: <the user name for authentication on the mail server; an empty string if not required> from: <sender address> to: - <recipient address(es)> -
Check whether the component is ready:
kubectl get component ces-importer
Configuration
All values of the importer can be configured with the valuesYamlOverwrite.
A detailed description of the individual configuration values can be found under Reference: Configuration of the importer
After making changes to the configuration, you should restart the importer so that the configuration is adopted.