- Зачем: - витринам нужен общий с генератором каталог, а менти — пример штатного обновления словаря. - Что: - каталог смонтирован read-only в обе ноды и создан как dds.products ON CLUSTER. - роли получили dictGet, а check-clickhouse сверяет ответ под etl с исходным CSV. - источник, раскладка и явная политика обновления записаны в документации. - Проверка: - make up с чистыми томами; make lint; make config-test; make smoke; make check-clickhouse. - в generator: make lint typecheck test — 427 тестов прошли.
67 lines
2.9 KiB
XML
67 lines
2.9 KiB
XML
<clickhouse>
|
||
<!--
|
||
Пользователи и роли объявлены файлом: повторный подъём стенда не хранит
|
||
доступ в томах. Пароли приходят из .env через Compose.
|
||
-->
|
||
<roles>
|
||
<etl_writer>
|
||
<grants>
|
||
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW ON default.*</query>
|
||
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON stg.*</query>
|
||
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON ods.*</query>
|
||
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, CREATE DICTIONARY, dictGet, DROP TABLE, DROP VIEW, CREATE DATABASE ON dds.*</query>
|
||
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON dm.*</query>
|
||
<query>GRANT SELECT ON system.*</query>
|
||
<query>GRANT CLUSTER ON *.*</query>
|
||
<query>GRANT REMOTE ON *.*</query>
|
||
<!-- В 26.3 движок Kafka требует право на внешний источник. -->
|
||
<query>GRANT KAFKA ON *.*</query>
|
||
</grants>
|
||
</etl_writer>
|
||
<!-- Оба читателя: clickhouse-connect читает system.settings при подключении. -->
|
||
<bi_reader>
|
||
<grants>
|
||
<query>GRANT SELECT, dictGet ON dds.*</query>
|
||
<query>GRANT SELECT ON dm.*</query>
|
||
<query>GRANT SELECT ON system.settings</query>
|
||
</grants>
|
||
</bi_reader>
|
||
<analyst_reader>
|
||
<grants>
|
||
<query>GRANT SELECT ON stg.*</query>
|
||
<query>GRANT SELECT ON ods.*</query>
|
||
<query>GRANT SELECT, dictGet ON dds.*</query>
|
||
<query>GRANT SELECT ON dm.*</query>
|
||
<query>GRANT SELECT ON system.settings</query>
|
||
</grants>
|
||
</analyst_reader>
|
||
</roles>
|
||
|
||
<users>
|
||
<default>
|
||
<password from_env="CLICKHOUSE_DEFAULT_PASSWORD"/>
|
||
</default>
|
||
<etl>
|
||
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT etl_writer</query>
|
||
</grants>
|
||
</etl>
|
||
<bi>
|
||
<password from_env="CLICKHOUSE_BI_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT bi_reader</query>
|
||
</grants>
|
||
</bi>
|
||
<analyst>
|
||
<password from_env="CLICKHOUSE_ANALYST_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT analyst_reader</query>
|
||
</grants>
|
||
</analyst>
|
||
</users>
|
||
</clickhouse>
|