Развёртывание дистрибутива из архива

Установка компонентов Спектр S3:

cd ~
tar -xf S3Gateway-distrib-*.tar.gz
cd ./distrib/files
dnf install ./rpm/s3gateway-*

Настройка модулей Спектр S3 заключается в приведении содержимого конфигурационного файла /opt/skala-r/s3gateway/s3gateway.config.json к виду, соответствующему используемой системе аутентификации и авторизации:

# Avanpost FAM
{
  "cmp_settings": { # Настройки модуля компрессии, не требуют коррекции(без требований из карты инсоляции)
    "compression_level": 3,
    "numgrt": 16
  },
  "cluster": {
  "storage_cluster_name": "mhdo", # имя кластера хранения по умолчанию
    "storage_cluster_password": "P@$$w0rd", # пароль кластера хранения
    "s3_cluster_ip_address": " ip_address ", # имя кластера s3(ostor)
    "s3_cluster_password": "qwerty" # пароль кластера s3(ostor)
  },
  "compression": true, # true - включает поддержку модуля компрессии, false - отключает поддержку модуля компрессии
  "compressor_grps_server": "localhost:5001", # адрес подключения к модулю компрессии
  "db_connection": "postgres://s3gwuser:s3gwuser@127.0.0.1:5432/s3gw", # настройка подключения к системной базе данных
  "hproxy_address": "127.0.0.1:80", # путь для подключения к сервису "Haproxy"
  "iam_settings": {
    "type": "Avanpost FAM" # тип используемой системы авторизации пользователей
    "client_id": "id", # Пользователь для подключения к iam(Avanpost FAM
    "client_secret": " secret ", # пароль от пользователя Avanpost FAM
      "realm": "s3gateway", # имя области Avanpost FAM, выделенной для проекта "Спектр S3"
      "url": "http://server-Avanpost FAM:8080", # путь для подключения к сервису Avanpost FAM
      "use_resource_role_mappings": true, # назначение прав доступа на основе ролей. Внесение изменений не требуется, кроме отдельных случаев.
      "skip_verify_ssl": true # отключение верификации ssl сертификата между сервером с ролью "Спектр S3" и сервисом Avanpost FAM
    },
    "ostor_grpc_servers": [ # список серверов хранения, в списке указывается путь подключения к сервису "s3gateway-ostor-server"
      "storage-server#1:5002",
      ...
      " storage-server#2:5002"
    ],
    "proxy_ctl_grpc_server":"localhost:5003", # путь для подключения к сервису «s3proxy-server". Не требует настройки
    "s3_admin": "Admin", # префикс в имени роли пользователя iam "Администратор" (в Avanpost FAM)
    "s3_auditor": "Auditor", # префикс в имени роли пользователя iam "Аудитор"(в Avanpost FAM)
    "ssl": {
      "control_cert": "/opt/skala-r/s3gateway/ctl-cert.pem", # Путь к сертификату панели управления (web интерфейс)
      "control_key": "/opt/skala-r/s3gateway/ctl-key.pem", # Путь к ключу панели управления (web интерфейс)
      "proxy_cert": "/opt/skala-r/s3gateway/prx-cert.pem", # Путь к сертификату сервиса S3
      "proxy_key": "/opt/skala-r/s3gateway/prx-key.pem" # Путь к ключу сервиса S3
    },
    "ttl": 120, # Время жизни данных в кэше сервиса "s3gateway-proxy-server"
    "vision_url": "https://server-vision/vision/grafana/", # Путь для подключения к сервису мониторинга "Визион"
    "rsyslog": {
      "control_rsyslog_url": "127.0.0.1:514/tcp", # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-control
    "proxy_rsyslog_url": "127.0.0.1:514/tcp" # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-proxy
  },
  "logger" : {
    "control_facility": "local0", # адрес fasility для логирования событий сервиса s3gateway-control
    "proxy_facility": "local0" # адрес fasility для логирования событий сервиса s3gateway-proxy
  },
  "role_separator": "." # символ разделитель в имени роли пользователя
}

# Avanpost FAM
{
  "cmp_settings": { # Настройки модуля компрессии, не требуют коррекции(без требований из карты инсоляции)
    "compression_level": 3,
    "numgrt": 16
  },
  "cluster": {
    "storage_cluster_name": "mhdo", # имя кластера хранения по умолчанию
    "storage_cluster_password": "P@$$w0rd", # пароль кластера хранения
    "s3_cluster_ip_address": " ip_address ", # имя кластера s3(ostor)
    "s3_cluster_password": "qwerty" # пароль кластера s3(ostor)
  },
  "compression": true, # true - включат поддержку модуля компрессии, false - отключает поддержку модуля компрессии
  "compressor_grps_server": "localhost:5001", # адрес подключения к модулю компрессии
  "db_connection": "postgres://s3gwuser:s3gwuser@127.0.0.1:5432/s3gw", # настройка подключения к системной базе данных
  "hproxy_address": "127.0.0.1:80", # путь для подключения к сервису "Haproxy"
  "iam_settings": {
    "type": "avanpost" # тип используемой системы авторизации пользователей
    "client_id": "s3gtw-user", # пользователь для подключения к iam (FAM Avanpost), выделенной для проекта "Спектр S3"
    "client_secret": " secret ", # пароль от пользователя FAM Avanpost, выделенной для проекта "Спектр S3"
    "realm": "s3gateway", # имя области FAM Avanpost, выделенной для проекта "Спектр S3"
    "url": "http:// server-Avanpost:8080", # путь для подключения к сервису FAM Avanpost
    "skip_verify_ssl": true # отключение верификации ssl сертификата между сервером с ролью "Спектр S3" и сервисом FAM Avanpost
  },
  "ostor_grpc_servers": [ # список серверов хранения, в списке указывается путь подключения к сервису "s3gateway-ostor-server"
    " storage-server#1:5002",
    ...
    " storage-server#2:5002"
  ],
  "proxy_ctl_grpc_server":"localhost:5003", # путь для подключения к сервису "s3proxy-server". Не требует настройки
  "s3_admin": "Admin", # префикс в имени роли пользователя iam "Администратор" (в FAM Avanpost)
  "s3_auditor": "Auditor", # префикс в имени роли пользователя iam "Аудитор" (в FAM Avanpost)
  "ssl": {
    "control_cert": "/opt/skala-r/s3gateway/ctl-cert.pem", # Путь к сертификату панели управления (web интерфейс)
    "control_key": "/opt/skala-r/s3gateway/ctl-key.pem", # Путь к ключу панели управления (web интерфейс)
    "proxy_cert": "/opt/skala-r/s3gateway/prx-cert.pem", # Путь к сертификату сервиса S3
    "proxy_key": "/opt/skala-r/s3gateway/prx-key.pem" # Путь к ключу сервиса S3
  },
  "ttl": 120, # Время жизни данных в кэше сервиса "s3gateway-proxy-server"
  "vision_url": "https://server-vision/vision/grafana/", # Путь для подключения к сервису мониторинга "Визион"
  "rsyslog": {
    "control_rsyslog_url": "127.0.0.1:514/tcp", # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-control
    "proxy_rsyslog_url": "127.0.0.1:514/tcp" # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-proxy
  },
  "logger" : {
    "control_facility": "local0", # адрес fasility для логирования событий сервиса s3gateway-control
    "proxy_facility": "local0" # адрес fasility для логирования событий сервиса s3gateway-proxy
  },
  "role_separator": "." # символ разделитель в имени роли пользователя
}

Загрузка структуры базы данных:

cd /opt/skala-r/s3gateway/
/opt/skala-r/s3gateway/migrator

Запуск сервисов Спектр S3:

systemctl enable --now s3gateway-compression-server.service
systemctl enable --now s3gateway-proxy-server.service
systemctl enable --now s3gateway-control-server.service