version: '2'

services:
  nodepool-builder:
    image: docker.io/zuul/nodepool-builder:{{ nodepool_builder_container_tag|default('latest') }}
    user: nodepool
    network_mode: host
    restart: always
    stop_grace_period: 90s
    command: nodepool-builder -f -c /etc/nodepool/nodepool.yaml -l /etc/nodepool/builder-logging.conf --upload-workers {{ nodepool_builder_upload_workers }}

    privileged: true

    environment:
      - DEBUG=1
      - STATSD_HOST=graphite.opendev.org
      - STATSD_PORT=8125

    volumes:
      # nodepool config
      - /etc/nodepool:/etc/nodepool:ro
      # openstacksdk config
      - /etc/openstack:/etc/openstack:ro
      # project-config
      - /opt/project-config:/opt/project-config:ro
      # dib temporary storage; see config in project-config
      - /opt/dib_tmp:/opt/dib_tmp:rw
      # dib cache; see config in project-config
      - /opt/dib_cache:/opt/dib_cache:rw
      # dib image output; see config in project-config
      - /opt/nodepool_dib:/opt/nodepool_dib:rw
      # logs (builder + dib build logs under /build)
      - /var/log/nodepool:/var/log/nodepool:rw
      # for the containerfile element/podman; it needs a non-overlayfs
      # mounted here.
      - /opt/dib_containers:/var/lib/containers