diff --git a/infrastructure/rabbitmq/aero/rabbitmq.yaml b/infrastructure/rabbitmq/aero/rabbitmq.yaml index e6812a3..7030609 100644 --- a/infrastructure/rabbitmq/aero/rabbitmq.yaml +++ b/infrastructure/rabbitmq/aero/rabbitmq.yaml @@ -87,6 +87,14 @@ spec: # auth/kubernetes создаётся там же. auth: securePassword: true + # Без этого администратор пускается только с localhost, и любое + # подключение из кластера отбивается на аутентификации: + # PLAIN login refused: user 'rabbit' can only connect via localhost + # Диагностика сбивает с толку: клиент видит 403 ACCESS_REFUSED, будто + # не сошёлся пароль, хотя пароль верный — rabbitmqctl authenticate_user + # с тем же значением проходит. Так у celery не поднимался worker, и по + # той же причине в management UI нельзя было войти снаружи. + enableLoopbackUser: false existingPasswordSecret: "" vault: enabled: true @@ -95,3 +103,15 @@ spec: secretPath: secrets/data/rabbitmq/auth usernameKey: username passwordKey: password + # Дублирует enableLoopbackUser: false намеренно, тем же способом, что и + # d8-ugmk-prod. Одного флага мало: он лишь заменяет в rabbitmq.conf строку + # loopback_users. на "= false", а брокер её не применяет — в рантайме + # rabbitmqctl eval "application:get_env(rabbit, loopback_users)." всё равно + # отдавал {ok,[<<"rabbit">>]}. advanced.config разбирается позже и задаёт + # значение явным списком, поэтому именно он и решает. + advancedConfiguration: |- + [ + {rabbit, [ + {loopback_users, []} + ]} + ].