services.ymlΒΆ

---
rabbitmq:
  modes:
    compose:
      enabled: true
    swarm:
      enabled: true
  # nocheck: default-placement-manager  engine on-disk state (Mnesia message store + fsync/locking) cannot live on NFS, so the central engine is node-local in swarm
  placement: manager
  enabled: true
  shared: true
  bond: 1
  image: rabbitmq
  name: rabbitmq
  version: "4.4-management-alpine"
  min_storage: 289MB
  backup:
    database_routine: true
    stop_required: true
  cpus: "1.0"
  mem_reservation: 512m
  mem_limit: 1g
  pids_limit: 1024
  healthcheck:
    test: ["CMD-SHELL", "rabbitmq-diagnostics -q ping || exit 1"]
    retries: 18
  ports:
    local:
      rabbitmq: 5672
    internal:
      rabbitmq: 5672
    onion:
      # nocheck: onion-flag  AMQP carries the apps' own worker queues; a broker reachable off the node would let anyone enqueue jobs
      rabbitmq: false
  lifecycle: beta
# nocheck: variants-coverage β€” sso-variant-tor requires the onion on in every variant, so the false polarity has no variant left to live in
tor:
  bond: 0.5
  enabled: "{{ 'svc-net-tor' in group_names }}"
  shared: true # nocheck: dynamic-flag

# nocheck: playwright-service-flag, dynamic-flag infrastructure backup consumer
container_backup: # nocheck: bond-baseline backup host joins outside the variant topology
  bond: 1
  enabled: "{{ 'svc-bkp-volume-2-local' in group_names }}"
  shared: true

# nocheck: variants-coverage the role has a single variant, and the guide edge is not a dimension of it: a second round would differ only by the README replay
docs:
  bond: 0.5
  enabled: "{{ 'web-app-docs' in group_names }}"
  shared: "{{ 'web-app-docs' in group_names }}"