---
# nocheck: dynamic-flag
node:
enabled: true
shared: true
bond: 1
package:
healthcheck:
flavor: http_status
port_key: http
path: service/rest/v1/status
modes:
compose:
enabled: true
swarm:
enabled: false
# nocheck: default-placement-manager the proxy repositories back every build on this host; scheduling them on a worker that still needs them is a chicken-and-egg
placement: manager
enabled: true
shared: true
bond: 1
image: sonatype/nexus3
version: 3.91.1-ubi
name: package-cache
# nocheck: min-storage-headroom Reason: the image transfers 0.373 GiB, but the service is the blobstore itself and fills up to blobstore_max (40g); sizing the host to the image alone would let the deploy prune a cache it has no room to refill
min_storage: 4GB
backup:
disabled: true
cpus: "2"
mem_reservation: 1g
mem_limit: 4g
pids_limit: 512
ports:
local:
http: 8099
internal:
http: 8081
blobstore_max: 40g
content_max_age_min: 8640
metadata_max_age_min: 0
lifecycle: beta
# nocheck: dynamic-flag the bootstrap has no group of its own; it runs exactly when the cache it provisions comes up
bootstrap:
modes:
compose:
enabled: true
swarm:
enabled: false
placement: manager # nocheck: default-placement-manager it provisions the cache beside it
enabled: true
shared: true
bond: 1
name: package-cache-bootstrap
# nocheck: single-replica
replicas: 1
# nocheck: min-storage-headroom Reason: it runs the image the package service already pulled, so it transfers nothing of its own
min_storage: 64MB
cpus: "0.5"
mem_reservation: 64m
mem_limit: 256m
pids_limit: 128
lifecycle: beta
# nocheck: dynamic-flag the frontend has no group of its own; it is up exactly when the cache it fronts is
frontend:
healthcheck:
flavor: http
port_key: http
modes:
compose:
enabled: true
swarm:
enabled: false
placement: manager # nocheck: default-placement-manager it fronts the cache beside it
enabled: true
shared: true
bond: 1
image: nginx
version: 1.31-alpine
name: package-cache-frontend
# nocheck: dynamic-flag the throwaway container that issues the CA and leaf certs before nginx starts, not a deployed service
init_image: alpine:latest
min_storage: 64MB
cpus: "0.5"
mem_reservation: 64m
mem_limit: 256m
pids_limit: 256
ports:
internal:
http: 80
https: 443
lifecycle: beta
# nocheck: dynamic-flag - proxied package content is re-fetchable, the backup consumer stays permanently off
container_backup:
enabled: false
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 }}"