kind: cluster name: gitlab-cluster description: | This is an example cluster morphology that can be adapted to set up a GitLab server with GitLab CI running alongside it, along with one or more CI runners to actually run the CI tests/builds. For the server, you will need to specify the GITLAB_HOSTNAME. This is the domain name or IP by which your deployed GitLab instance will be able to be reached by. You will also need a GITLAB_PORT, CI_PORT, UNICORN PORT and UNICORN_CI_PORT. These are the port to use for GitLab, the port to use for GitLab CI, the port for GitLab's Unicorn process to listen on, and the port for GitLab CI's Unicorn process to listen on respectively. Finally, you will need to define a GITLAB_EMAIL, that is the email that mail from your GitLab instance will appear to be from. systems: - morph: gitlab-server deploy-defaults: AUTOSTART: no DISK_SIZE: 10G RAM_SIZE: 2G VCPUS: 2 VERSION_LABEL: factory deploy: gitlab: type: kvm location: kvm+ssh://USER@HOST/gitlab/home/USER/gitlab.img HOSTNAME: gitlab GITLAB_HOSTNAME: gitlab.example.com GITLAB_PORT: 80 GITLAB_EMAIL: gitlab@gitlab.example.com UNICORN_PORT: 8080 CI_PORT: 81 UNICORN_CI_PORT: 8081 INSTALL_FILES: gitlab-server/manifest - morph: gitlab-ci-runner deploy-defaults: AUTOSTART: no DISK_SIZE: 10G RAM_SIZE: 3G VCPUS: 2 VERSION_LABEL: factory deploy: gitlab-ci-runner: type: kvm location: kvm+ssh://USER@HOST/gitlab-ci-runner/home/USER/gitlab-ci-runner.img HOSTNAME: gitlab-ci-runner INSTALL_FILES: gitlab-ci-runner/manifest