name: gitlab-cluster kind: 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: systems/gitlab-server.morph deploy-defaults: AUTOSTART: false 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 CI_PORT: 81 GITLAB_EMAIL: gitlab@gitlab.example.com GITLAB_HOSTNAME: gitlab.example.com GITLAB_PORT: 80 HOSTNAME: gitlab INSTALL_FILES: gitlab-server/manifest UNICORN_CI_PORT: 8081 UNICORN_PORT: 8080 - morph: systems/gitlab-ci-runner.morph deploy-defaults: AUTOSTART: false 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