Интеграция с продуктом Platform V CopyWala (PBR) (опциональный)#

Интеграция с продуктом Platform V CopyWala (PBR) обеспечивает возможность наблюдения за процессами резервного копирования и восстановления данных.

Примечание

Интеграция является опциональной. Вкладка Резервное копирование отображается в основном меню только при успешном подключении к платформе CopyWala.

Создание, запуск и управление задачами резервного копирования выполняются непосредственно в платформе CopyWala. В Kintsugi (DBCM) доступно только наблюдение (read-only).

Предусловия#

  • Платформа Platform V Kintsugi Standard версии 2.3.1-std успешно установлена и запускается.

  • Платформа Platform V CopyWala (PBR) версии 1.3.0 и выше установлена и доступна по сети.

  • Для подключения к платформе CopyWala используется TLS версии не ниже 1.2.

Настройка Nginx/OpenResty прокси#

  1. Для интеграции с продуктом Platform V CopyWala необходимо добавить файл конфигурации copywala.server.conf в директорию package/conf/conf/openresty/server/.

    Пример конфигурации copywala.server.conf:

    location = /api/agent-manager/v1/registration-tokens {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/registration-tokens/reestablish {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/agents {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/agent-manager/v1/agents/[^/]+$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/agent-manager/v1/agents/[^/]+/revoke$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/agents/self/tokens {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/agents/self/heartbeat {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/agents/self/last-backup {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/permissions/grant {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/permissions/revoke {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/permissions/is-exists {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/agent-manager/v1/agents/[^/]+/send/run-create-backup$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/agent-manager/v1/agents/[^/]+/send/run-restore$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/agent-manager/v1/agents/[^/]+/send/run-restore-latest$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/agent-manager/v1/health {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/task-manager/v1/backup-tasks {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/backup-tasks/[^/]+$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/backup-tasks/[^/]+/status$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/backup-tasks/[^/]+/progress$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/task-manager/v1/recovery-tasks {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/recovery-tasks/[^/]+$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/recovery-tasks/[^/]+/status$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/task-manager/v1/recovery-tasks/[^/]+/progress$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/task-manager/v1/health {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/registration-tokens {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/registration-tokens/reestablish {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/storage-services {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/storage-manager/v1/storage-services/[^/]+$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/storage-services/self/tokens {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/storage-services/self/heartbeat {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/inventory {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/backups {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location ~ ^/api/storage-manager/v1/backups/[^/]+$ {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
    location = /api/storage-manager/v1/health {
      set $copywala_host ${COPYWALA_HOST};
      proxy_pass http://$copywala_host:29000;
    
      include /etc/nginx/kintsugi/common/http-proxy-pass.common.conf;
    }
    
  2. В файле copywala.server.conf заменить значение ${COPYWALA_HOST} на IP-адрес или доменное имя сервиса DBBR (Platform V Copywala).

  3. Установить права доступа на файл конфигурации:

    chmod 644 package/conf/conf/openresty/server/copywala.server.conf
    
  4. Для применения конфигурации выполнить перезапуск сервиса openresty из рабочей директории docker compose:

    sudo docker compose down openresty && sudo docker compose up openresty -d
    

Интеграция с Keycloak (IAM)#

  1. Выполнить вход в панель администрирования Keycloak Platform V Kintsugi редакции Standard: https://KC_HOSTNAME/admin/ (пользователь: admin).

  2. В панели администрирования Keycloak выбрать realm kintsugi.

  3. Выполнить интеграцию Keycloak (realm kintsugi) с Platform V CopyWala согласно руководству по установке Platform V CopyWala.

Проверка интеграции#

  1. Выполнить вход по адресу https://KINTSUGI_HOST/frontend/copywala.

  2. Убедиться, что страница «Резервное копирование» загрузилась корректно.

Результат#

Вкладка Резервное копирование отображается в основном меню Kintsugi (DBCM). Пользователь может просматривать агентов, резервные копии, задачи резервного копирования и задачи восстановления.