From dca654690b3eec35e246331a976405e232cb6bce Mon Sep 17 00:00:00 2001 From: Kochetkov S Date: Tue, 21 Apr 2026 14:48:45 +0300 Subject: [PATCH] add bi rmq --- .../service-bootstrap-jobs.yaml | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/clusters/yc-k8s-test/infrastructure/bootstrap-jobs/service-bootstrap-jobs.yaml b/clusters/yc-k8s-test/infrastructure/bootstrap-jobs/service-bootstrap-jobs.yaml index e536612..031c05d 100644 --- a/clusters/yc-k8s-test/infrastructure/bootstrap-jobs/service-bootstrap-jobs.yaml +++ b/clusters/yc-k8s-test/infrastructure/bootstrap-jobs/service-bootstrap-jobs.yaml @@ -42,9 +42,37 @@ spec: curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/users/${username}" \ -d "{\"password\":\"${password}\",\"tags\":\"\"}" >/dev/null - curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ - -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/permissions/%2F/${username}" \ - -d '{"configure":".*","write":".*","read":".*"}' >/dev/null + + vhosts_count="$(echo "${app_json}" | jq -r '(.data.data.vhosts // []) | length')" + if [ "${vhosts_count}" -gt 0 ]; then + echo "${app_json}" | jq -c '.data.data.vhosts[]' | while read -r vhost_item; do + vhost="$(echo "${vhost_item}" | jq -r '.name // "/"')" + configure="$(echo "${vhost_item}" | jq -r '.permissions.configure // ".*"')" + write="$(echo "${vhost_item}" | jq -r '.permissions.write // ".*"')" + read="$(echo "${vhost_item}" | jq -r '.permissions.read // ".*"')" + vhost_uri="$(jq -rn --arg v "${vhost}" '$v|@uri')" + + curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ + -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/vhosts/${vhost_uri}" \ + -d '{}' >/dev/null + curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ + -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/permissions/${vhost_uri}/${username}" \ + -d "{\"configure\":\"${configure}\",\"write\":\"${write}\",\"read\":\"${read}\"}" >/dev/null + done + else + vhost="$(echo "${app_json}" | jq -r '.data.data.vhost // "/"')" + configure="$(echo "${app_json}" | jq -r '.data.data.permissions.configure // ".*"')" + write="$(echo "${app_json}" | jq -r '.data.data.permissions.write // ".*"')" + read="$(echo "${app_json}" | jq -r '.data.data.permissions.read // ".*"')" + vhost_uri="$(jq -rn --arg v "${vhost}" '$v|@uri')" + + curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ + -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/vhosts/${vhost_uri}" \ + -d '{}' >/dev/null + curl -sS -u "${admin_user}:${admin_pass}" -H "content-type:application/json" \ + -X PUT "http://rabbitmq.rabbitmq.svc.cluster.local:15672/api/permissions/${vhost_uri}/${username}" \ + -d "{\"configure\":\"${configure}\",\"write\":\"${write}\",\"read\":\"${read}\"}" >/dev/null + fi done --- apiVersion: batch/v1