feat(clickhouse): добавлен пароль служебному default
- Зачем: - default должен остаться только учёткой локальных служебных вызовов. - Что: - пароль default подставлен из окружения на обеих нодах. - healthcheck и служебные скрипты передают его внутри контейнера. - Проверка: - make config-test, make up, make smoke, make check-clickhouse, make check-services.
This commit is contained in:
+2
-1
@@ -12,6 +12,7 @@ x-clickhouse-common: &clickhouse-common
|
||||
# Стенд локальный: нодам нужен общий пользователь без пароля для Distributed.
|
||||
CLICKHOUSE_SKIP_USER_SETUP: "1"
|
||||
CLICKHOUSE_CLUSTER_SECRET: ${CLICKHOUSE_CLUSTER_SECRET:?Скопируйте .env.example в .env}
|
||||
CLICKHOUSE_DEFAULT_PASSWORD: ${CLICKHOUSE_DEFAULT_PASSWORD:?Скопируйте .env.example в .env}
|
||||
CLICKHOUSE_ETL_PASSWORD: ${CLICKHOUSE_ETL_PASSWORD:?Скопируйте .env.example в .env}
|
||||
CLICKHOUSE_BI_PASSWORD: ${CLICKHOUSE_BI_PASSWORD:?Скопируйте .env.example в .env}
|
||||
CLICKHOUSE_ANALYST_PASSWORD: ${CLICKHOUSE_ANALYST_PASSWORD:?Скопируйте .env.example в .env}
|
||||
@@ -22,7 +23,7 @@ x-clickhouse-common: &clickhouse-common
|
||||
# Гигабайта не хватало: половину съедали страницы самого бинарника (ADR 0004).
|
||||
mem_limit: 4g
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "clickhouse-client --host 127.0.0.1 --query 'SELECT 1' >/dev/null 2>&1"]
|
||||
test: ["CMD-SHELL", "clickhouse-client --host 127.0.0.1 --user default --password \"$$CLICKHOUSE_DEFAULT_PASSWORD\" --query 'SELECT 1' >/dev/null 2>&1"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 30
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
</roles>
|
||||
|
||||
<users>
|
||||
<default>
|
||||
<password from_env="CLICKHOUSE_DEFAULT_PASSWORD"/>
|
||||
</default>
|
||||
<etl>
|
||||
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
|
||||
<profile>default</profile>
|
||||
|
||||
@@ -18,7 +18,12 @@ compose() {
|
||||
query() {
|
||||
local service="$1"
|
||||
local sql="$2"
|
||||
compose exec -T "$service" clickhouse-client --query "$sql" </dev/null
|
||||
compose exec -T "$service" sh -c '
|
||||
clickhouse-client \
|
||||
--user default \
|
||||
--password "$CLICKHOUSE_DEFAULT_PASSWORD" \
|
||||
--query "$1"
|
||||
' _ "$sql" </dev/null
|
||||
}
|
||||
|
||||
query_with_timeout() {
|
||||
@@ -27,7 +32,12 @@ query_with_timeout() {
|
||||
local sql="$3"
|
||||
timeout --foreground "${timeout_seconds}s" \
|
||||
docker compose --project-directory "$ROOT_DIR" exec -T "$service" \
|
||||
clickhouse-client --query "$sql"
|
||||
sh -c '
|
||||
clickhouse-client \
|
||||
--user default \
|
||||
--password "$CLICKHOUSE_DEFAULT_PASSWORD" \
|
||||
--query "$1"
|
||||
' _ "$sql"
|
||||
}
|
||||
|
||||
fail() {
|
||||
|
||||
@@ -42,7 +42,12 @@ fail() {
|
||||
|
||||
query() {
|
||||
"${COMPOSE_CMD[@]}" --project-directory "$ROOT_DIR" exec -T clickhouse-01 \
|
||||
clickhouse-client --query "$1" </dev/null
|
||||
sh -c '
|
||||
clickhouse-client \
|
||||
--user default \
|
||||
--password "$CLICKHOUSE_DEFAULT_PASSWORD" \
|
||||
--query "$1"
|
||||
' _ "$1" </dev/null
|
||||
}
|
||||
|
||||
expected="$(jq '[.days[].events] | add' "$INVENTORY")"
|
||||
|
||||
Reference in New Issue
Block a user