docs(clickhouse): уточнено применение настроек нод

- Зачем:
  - перезапуск мог оставить прежнее окружение и старый inode файла, а документы обещали неподдерживаемое живое применение.
- Что:
  - в README записано пересоздание нод с ожиданием их здоровья.
  - ADR 0007 отделяет решение от процедуры и очищен от устаревших обещаний.
- Проверка:
  - make config-test.
  - git diff --cached --check.
This commit is contained in:
ddadmin committed 2026-08-20 15:10:13 +03:00
1 parent 664abf0160
commit 0dcc874419
2 files changed
+26 -18

No files matched your search

+12 -13
View File
@@ -1,6 +1,6 @@
# ADR 0007. Доступ к ClickHouse: пользователи файлом, доверие нод секретом
Дата: 9 августа 2026 года. Статус: принято. Реализация — отдельным тикетом.
Дата: 9 августа 2026 года. Статус: принято.
## Решение
@@ -21,8 +21,7 @@
Роль здесь шире прав на слои: образ ClickHouse требует отдельного разрешения
на запросы `ON CLUSTER`, на чтение системных таблиц и на каждый движок
внешнего источника. Без права на системные таблицы клиент вовсе не открывает
соединение. Состав прав каждой роли — работа тикета
реализации.
соединение.
Пользователи, роли и права объявлены файлами настройки сервера, а не
запросами SQL. Файл монтируется на обе ноды и лежит в git. Пароли живут
@@ -79,14 +78,16 @@ DDS под ними, потому что так чаще всего и быва
в разделе «Что проверено».
**Файлы, а не SQL.** Объявленное файлом не оставляет состояния в томах:
повторный `make up` на живом стенде ничего не сдвигает, правка пароля
применяется перезапуском, источник истины — файл в git. Оба варианта с SQL —
локальное хранилище доступа с `ON CLUSTER` и реплицированное в keeper —
делают пользователей состоянием тома: `.env` на них больше не влияет, и
появляется расхождение того же сорта, которое README уже описывает для
Postgres и Grafana. Цена выбора известна: объявленных файлом пользователей
нельзя менять запросами. Она принята как упрощение — сломать модель случайно
труднее.
источник истины — файл в git. Стенд считает `access.xml` и переданные через
`.env` значения настройкой при создании контейнера; отдельного способа
применять их на живом стенде нет, потому что уроки не меняют базовую модель
доступа. Порядок применения изменений — в разделе README «Состав и доступ».
Оба варианта с SQL — локальное хранилище доступа с `ON CLUSTER` и
реплицированное в keeper — делают пользователей состоянием тома: `.env` на
них больше не влияет, и появляется расхождение того же сорта, которое README
уже описывает для Postgres и Grafana. Цена выбора известна: объявленных файлом
пользователей нельзя менять запросами. Она принята как упрощение — сломать
модель случайно труднее.
**Что ещё отвергнуто.** Оставить всё на беспарольном `default`
— цена нулевая, но и рассказать по итогам нечего. Раздать всем пароль без
@@ -136,8 +137,6 @@ Postgres и Grafana. Цена выбора известна: объявленн
такого пользователя запросом даёт `ACCESS_STORAGE_READONLY`.
- Роль, созданную через SQL, разрешено выдавать пользователю из файла —
отдельное улучшение ClickHouse 2025 года, в 26.3 оно есть.
- Настройку пользователей можно перечитать на живом стенде, в том числе на
всём кластере сразу.
- Подстановка значений из переменных окружения — общий механизм файлов
настройки ClickHouse.
- Весь DDL репозитория идёт через `IF NOT EXISTS` (файлы `sql/ddl/`).