name: example-distbuild-cluster
description: |
  This is an example cluster morph that can be adapted to set up a
  Baserock distributed build network.

  You will need to deploy a Trove for the distributed build network
  to use before deploying this cluster. The worker SSH key file should
  be generated as part of the Trove deployment. It is the key used by
  workers to authenticate with the Trove to give them read access to
  all source repositories.
systems:
- name: build-system-x86_64
  deploy-defaults:
    CONTROLLERHOST: build-controller
    DISTBUILD_CONTROLLER: false
    DISTBUILD_WORKER: true
    FSTAB_SRC: LABEL=src /srv/distbuild auto defaults,rw,noatime 0 2
    INSTALL_FILES: distbuild/manifest
    NFSBOOT_CONFIGURE: true
    TROVE_ID: $MY_TROVE
    WORKER_SSH_KEY: ssh-keys/worker.key
  deploy:
    build-controller:
      type: nfsboot
      location: $MY_TROVE
      DISTBUILD_CONTROLLER: true
      HOSTNAME: build-controller
      WORKERS: build-node-1, build-node-2
    build-node-1:
      type: nfsboot
      location: $MY_TROVE
      HOSTNAME: build-node-1
    build-node-2:
      type: nfsboot
      location: $MY_TROVE
      HOSTNAME: build-node-2
