Skip to content

Commit 9ad628f

Browse files
committed
Document erlang cookie rotation
1 parent 1be4f1c commit 9ad628f

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

services/rabbit/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ rabbitmq.conf: rabbitmq.conf.j2 .env venv
3030
# generate $@
3131
@$(call jinja, $<, .env, $@)
3232

33-
docker-compose.yml: docker-compose.yml.j2 .env rabbitmq.conf erlang.cookie.secret venv
33+
docker-compose.yml: docker-compose.yml.j2 .env rabbitmq.conf erlang.cookie.secret venv $(VENV_BIN)/j2
3434
@$(call jinja, $<, .env, $@)

services/rabbit/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ Source: https://www.rabbitmq.com/docs/upgrade#maintenance-mode
1616

1717
## Rotating erlang cookie (zero-downtime)
1818

19-
https://github.com/rabbitmq/rabbitmq-server/issues/14390
20-
https://github.com/rabbitmq/rabbitmq-server/discussions/9784
19+
In our case, a full stop of rabbit cluster is required (it means downtime). Nodes shall be started from scratch with a new erlang cookie. If zero-downtime update is an absolute must, blue-green deployments is a way to go according to core developers (see sources)
20+
21+
Source: https://github.com/rabbitmq/rabbitmq-server/discussions/14391

services/rabbit/docker-compose.yml.j2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ services:
77
init: true
88
# https://docs.docker.com/reference/cli/docker/service/create/#create-services-using-templates
99
hostname: {% raw %}"{{.Service.Name}}"{% endraw %}
10+
deploy:
11+
placement:
12+
constraints:
13+
- node.labels.rabbit0{{ ix }} == true
1014
environment:
1115
RABBITMQ_DEFAULT_USER: ${RABBIT_USER}
1216
RABBITMQ_DEFAULT_PASS: ${RABBIT_PASSWORD}

0 commit comments

Comments
 (0)