summaryrefslogtreecommitdiff
path: root/.gitlab-ci/buildgrid-compose.yml
blob: 09165818b2e03bbc9a06b467948729223b49ef8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
##
# BuildGrid Compose manifest for BuildStream.
#
# Spins-up a unnamed and unauthenticated grid:
#  - Controller + CAS + AC at http://localhost:50051
#  - Ref. + CAS at: http://localhost:50052
#
# BuildStream configuration snippet:
#
#    artifacts:
#      url: http://localhost:50052
#      push: true
#    remote-execution:
#      execution-service:
#        url: http://localhost:50051
#      action-cache-service:
#        url: http://localhost:50051
#      storage-service:
#        url: http://localhost:50051
#
# Basic usage:
#  - docker-compose -f buildgrid-compose.yml up
#  - docker-compose -f buildgrid-compose.yml down
#
version: "3.2"

services:
  controller:
    image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
    command: [
      "bgd", "server", "start", "-vvv",
      "/etc/buildgrid/default.conf"]
    ports:
      - 50051:50051
    networks:
      - grid

  bot:
    image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
    command: [
      "bgd", "bot", "--parent=", "-vvv",
      "--remote=http://controller:50051",
      "--remote-cas=http://controller:50051",
      "buildbox",
      "--local-cas", "/var/lib/buildgrid/cache",
      "--fuse-dir", "/mnt"]
    privileged: true
    volumes:
      - type: volume
        source: cache
        target: /var/lib/buildgrid/cache
    depends_on:
      - controller
    networks:
      - grid

  storage:
    image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
    command: [
      "bgd", "server", "start", "-vvv",
      "/etc/buildgrid/artifacts.conf"]
    ports:
      - 50052:50052
    networks:
      - grid

networks:
  grid:
    driver: bridge

volumes:
  cache: