Настройка PostgreSQL

Перед установкой Закрома.Диск подготовьте PostgreSQL для двух сервисов:

  • Закрома.Диск использует базу disk и схему disk.
  • Keycloak использует базу keycloak и схему keycloak.

Создание базы данных для Закрома.Диск

  1. Зайдите под пользователем с административными правами PostgreSQL:
1sudo su - postgres
  1. Подключитесь к PostgreSQL:
1psql -U postgres -d postgres
  1. Выполните SQL-команды. Замените zakroma_password на пароль вашего контура.
1CREATE USER zakroma_user LOGIN PASSWORD 'zakroma_password'; 2CREATE DATABASE disk OWNER zakroma_user; 3\c disk; 4DROP SCHEMA IF EXISTS public; 5CREATE SCHEMA disk AUTHORIZATION zakroma_user; 6GRANT ALL PRIVILEGES ON DATABASE disk TO zakroma_user; 7GRANT ALL PRIVILEGES ON SCHEMA disk TO zakroma_user;

Эти значения должны совпадать с переменными в inventories/<inventory>/group_vars/zakroma-disk.yml:

1zakroma_disk_dsdrive: 2 database: 3 host: "postgres.zakroma.internal" 4 port: 5432 5 name: "disk" 6 search_path: "disk" 7 user: "zakroma_user" 8 password: "zakroma_password" 9 sslmode: disable

Если используется сервис dslocks с отдельным подключением к БД, настройте его на ту же базу и схему либо создайте отдельную схему по требованиям вашего контура.

Создание базы данных для Keycloak

В той же сессии psql создайте пользователя, базу и схему Keycloak. Замените keycloak_password на пароль вашего контура.

1CREATE USER keycloak_user LOGIN PASSWORD 'keycloak_password'; 2CREATE DATABASE keycloak OWNER keycloak_user; 3\c keycloak; 4DROP SCHEMA IF EXISTS public; 5CREATE SCHEMA keycloak AUTHORIZATION keycloak_user; 6GRANT ALL PRIVILEGES ON DATABASE keycloak TO keycloak_user; 7GRANT ALL PRIVILEGES ON SCHEMA keycloak TO keycloak_user;

Эти значения должны совпадать с переменными в inventories/<inventory>/group_vars/keycloak.yml:

1postgres_host: "postgresql.zakroma.internal" 2keycloak_quarkus_jdbc_url: "jdbc:postgresql://{{ postgres_host }}:5432/keycloak" 3keycloak_quarkus_db_schema: "keycloak" 4keycloak_quarkus_db_user: "keycloak_user" 5keycloak_quarkus_db_pass: "keycloak_password"

Завершение работы

Выйдите из psql и учетной записи postgres:

1exit 2exit