//Cloudogu EcoSystem Docs

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

  1. connect to your instance (command line) by setting the Kubernetes context accordingly.
  2. 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 kubectl command:

    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.

  3. 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)>
  4. 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.