This chart is based on my manifests for manual deployment with lots of improvements.
Some of the features:
- Fully automated installation of Gitlab.
- Register and manage Letsencrypt certificates with kube-lego
- Deploys PostgreSQL, Redis and Minio as part of the setup
- Deploys fully configured Docker registry with external domain (letsencrypt) and integration with gitlab.
- Semi-automatic creating of Runner
- Ability to customize any of the environment variables
- Kubernetes 1.5 (for StatefulSets support).
- PV support on the underlying infrastructure
- Helm 2.2.0 (for conditions and flags support)
# add repository (needed for dependencies)
$ helm repo add lwolf-charts http://charts.lwolf.org
# get default values.yaml file
$ curl https://raw.githubusercontent.com/lwolf/gitlab-chart/master/gitlab/values.yaml -o values-test.yaml
# install
$ helm install -f values-test.yaml lwolf-charts/gitlab
# establish DNS
# if running with minikube, add an entry in /etc/hosts to the result of `$ minikube ip`
# Wait until gitlab is up and running.
$ while ! curl --output /dev/null --silent --head --fail https://gitlab.example.com/help; do sleep 1 && echo -n .; done
...................................................
# Open gitlab runner configuration and check that Runner is successfully registered.
# Copy token and run upgrade.
$ helm upgrade -f values-test.yaml --set runner.token=<TOKEN> <install-name> lwolf-charts/gitlab --namespace=gitlab
- splitting registry/runner into separate charts
- Add support for gitlab pages
- Upgrade to v9
- Upgrade to Kubernetes 1.6+
- more flexible runner configuration
- testing/refactoring
- monitoring of the whole thing in Prometheus
Hey dude! Help me out for a couple of 🍻!