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.
|
# Стенд локальный: нодам нужен общий пользователь без пароля для Distributed.
|
||||||
CLICKHOUSE_SKIP_USER_SETUP: "1"
|
CLICKHOUSE_SKIP_USER_SETUP: "1"
|
||||||
CLICKHOUSE_CLUSTER_SECRET: ${CLICKHOUSE_CLUSTER_SECRET:?Скопируйте .env.example в .env}
|
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_ETL_PASSWORD: ${CLICKHOUSE_ETL_PASSWORD:?Скопируйте .env.example в .env}
|
||||||
CLICKHOUSE_BI_PASSWORD: ${CLICKHOUSE_BI_PASSWORD:?Скопируйте .env.example в .env}
|
CLICKHOUSE_BI_PASSWORD: ${CLICKHOUSE_BI_PASSWORD:?Скопируйте .env.example в .env}
|
||||||
CLICKHOUSE_ANALYST_PASSWORD: ${CLICKHOUSE_ANALYST_PASSWORD:?Скопируйте .env.example в .env}
|
CLICKHOUSE_ANALYST_PASSWORD: ${CLICKHOUSE_ANALYST_PASSWORD:?Скопируйте .env.example в .env}
|
||||||
@@ -22,7 +23,7 @@ x-clickhouse-common: &clickhouse-common
|
|||||||
# Гигабайта не хватало: половину съедали страницы самого бинарника (ADR 0004).
|
# Гигабайта не хватало: половину съедали страницы самого бинарника (ADR 0004).
|
||||||
mem_limit: 4g
|
mem_limit: 4g
|
||||||
healthcheck:
|
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
|
interval: 5s
|
||||||
timeout: 3s
|
timeout: 3s
|
||||||
retries: 30
|
retries: 30
|
||||||
|
|||||||
@@ -37,6 +37,9 @@
|
|||||||
</roles>
|
</roles>
|
||||||
|
|
||||||
<users>
|
<users>
|
||||||
|
<default>
|
||||||
|
<password from_env="CLICKHOUSE_DEFAULT_PASSWORD"/>
|
||||||
|
</default>
|
||||||
<etl>
|
<etl>
|
||||||
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
|
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
|
||||||
<profile>default</profile>
|
<profile>default</profile>
|
||||||
|
|||||||
@@ -18,7 +18,12 @@ compose() {
|
|||||||
query() {
|
query() {
|
||||||
local service="$1"
|
local service="$1"
|
||||||
local sql="$2"
|
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() {
|
query_with_timeout() {
|
||||||
@@ -27,7 +32,12 @@ query_with_timeout() {
|
|||||||
local sql="$3"
|
local sql="$3"
|
||||||
timeout --foreground "${timeout_seconds}s" \
|
timeout --foreground "${timeout_seconds}s" \
|
||||||
docker compose --project-directory "$ROOT_DIR" exec -T "$service" \
|
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() {
|
fail() {
|
||||||
|
|||||||
@@ -42,7 +42,12 @@ fail() {
|
|||||||
|
|
||||||
query() {
|
query() {
|
||||||
"${COMPOSE_CMD[@]}" --project-directory "$ROOT_DIR" exec -T clickhouse-01 \
|
"${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")"
|
expected="$(jq '[.days[].events] | add' "$INVENTORY")"
|
||||||
|
|||||||
Reference in New Issue
Block a user