Add GitLab and GitLab Runner.

Change-Id: Iaf9bbf4567db2ee7c5b36c6be767825093a2881d
diff --git a/gitlab-system/gitlab.yaml b/gitlab-system/gitlab.yaml
new file mode 100644
index 0000000..a262412
--- /dev/null
+++ b/gitlab-system/gitlab.yaml
@@ -0,0 +1,175 @@
+apiVersion: apps.gitlab.com/v1beta1
+kind: GitLab
+metadata:
+  name: gitlab
+  namespace: gitlab-system
+spec:
+  chart:
+    version: "6.7.1"
+    values:
+      global:
+        appConfig:
+          incomingEmail:
+            enabled: true
+            address: gitlab@benkard.de
+            user: gitlab@benkard.de
+            host: mail.benkard.de
+            startTls: true
+            port: 143
+            ssl: false
+            #host: mailcow.mulk.svc.cluster.local.
+            password:
+              secret: gitlab-infrastructure
+              key: email-password
+          omniauth:
+            enabled: true
+            syncProfileAttributes: ['email']
+            allowSingleSignOn: []
+            blockAutoCreatedUsers: true
+            autoLinkUser: ['openid_connect']
+            externalProviders: ['github']
+            allowBypassTwoFactor: []
+            providers:
+              - secret: gitlab-keycloak
+              - secret: gitlab-github
+        edition: ce
+        #deployment:
+        #  strategy:
+        #    type: Recreate
+        email:
+          display_name: Benkard GitLab
+          from: gitlab@benkard.de
+          reply_to: gitlab@benkard.de
+        smtp:
+          enabled: true
+          address: mail.benkard.de
+          tls: false
+          starttls_auto: true
+          port: 587
+          #address: mailcow.mulk.svc.cluster.local.
+          #tls: false
+          authentication: plain
+          user_name: gitlab@benkard.de
+          password:
+            secret: gitlab-infrastructure
+            key: email-password
+        hosts:
+          domain: gitlab.benkard.de
+          gitlab:
+            name: gitlab.benkard.de
+          ssh: gitlab.benkard.de
+        hpa:
+          minReplicas: 1
+          maxReplicas: 1
+        ingress:
+          configureCertmanager: false
+          #class: nginx
+          class: none
+          annotations:
+            kubernetes.io/tls-acme: true
+            cert-manager.io/cluster-issuer: letsencrypt-prod
+            kubernetes.io/ingress.class: nginx
+          tls:
+            secretName: gitlab-wildcard-tls
+        #object_store:
+        #  enabled: true
+        persistence:
+          storageClass: local-path
+        psql:
+          host: postgresql.system
+          port: 5432
+          username: gitlab
+          database: gitlab
+          password:
+            secret: gitlab-infrastructure
+            key: postgresql-password
+        #redis:
+          #host: redis.system
+          #password:
+          #  secret: gitlab-infrastructure
+          #  key: redis-password
+        shell:
+          port: 22022
+
+      certmanager:
+        install: false
+
+      certmanager-issuer:
+        email: id+acme@mulk.eu
+
+      gitlab:
+        gitaly:
+          persistence:
+            storageClass: local-path
+        gitlab-shell:
+          #replicaCount: 1
+          minReplicas: 1
+          maxReplicas: 1
+          service:
+            type: NodePort
+            nodePort: 22022
+        kas:
+          ingress:
+            tls:
+              secretName: gitlab-kas-tls
+          minReplicas: 1
+          maxReplicas: 1
+        sidekiq:
+          #replicas: 1
+          minReplicas: 1
+          maxReplicas: 1
+        toolbox:
+          backups:
+            cron:
+              persistence:
+                storageClass: local-path
+          persistence:
+            storageClass: local-path
+        webservice:
+          #replicaCount: 1
+          workerProcesses: 1
+          resources:
+            requests:
+              cpu: 1m
+              memory: 100M
+          hpa:
+            minReplicas: 1
+            maxReplicas: 1
+          ingress:
+            tls:
+              secretName: gitlab-gitlab-tls
+#          deployment:
+#            strategy:
+#              type: Recreate
+#          deployments:
+#            default:
+#              hpa:
+#                minReplicas: 1
+#                maxReplicas: 1
+#              workerProcesses: 1
+
+      minio:
+        persistence:
+          storageClass: local-path
+        replicas: 1
+        ingress:
+          tls:
+            secretName: gitlab-minio-tls
+
+      nginx-ingress:
+        enabled: false
+
+      postgresql:
+        install: false
+
+      #redis:
+      #  install: false
+
+      registry:
+        ingress:
+          tls:
+            secretName: gitlab-registry-tls
+        hpa:
+          minReplicas: 1
+          maxReplicas: 1
+