apiVersion: v1 kind: Namespace metadata: name: gitlab --- apiVersion: apps/v1 kind: Deployment metadata: name: gitlab-webserver namespace: gitlab spec: replicas: 1 selector: matchLabels: app: gitlab-webserver template: metadata: labels: app: gitlab-webserver spec: containers: - name: gitlab-webserver image: gitlab/gitlab-ee:latest imagePullPolicy: Always ports: - containerPort: 80 name: gitlab-http - containerPort: 443 name: gitlab-https - containerPort: 22 name: gitlab-ssh env: - name: GITLAB_OMNIBUS_CONFIG value: | external_url 'https://gitlab.tryton.geeraert.eu' # gitlab_ssh_host 'localhost:30627' volumeMounts: - name: gitlab-webserver-config mountPath: /etc/gitlab - name: gitlab-webserver-logs mountPath: /var/log/gitlab - name: gitlab-webserver-data mountPath: /var/opt/gitlab resources: requests: cpu: 300m memory: 2.5G limits: cpu: 500m memory: 3G volumes: - name: gitlab-webserver-config persistentVolumeClaim: claimName: gitlab-webserver-config - name: gitlab-webserver-logs persistentVolumeClaim: claimName: gitlab-webserver-logs - name: gitlab-webserver-data persistentVolumeClaim: claimName: gitlab-webserver-data securityContext: fsGroup: 33 --- apiVersion: v1 kind: Service metadata: name: webserver namespace: gitlab spec: ports: - name: http port: 80 targetPort: gitlab-http protocol: TCP - name: https targetPort: gitlab-https port: 443 protocol: TCP - name: "22" port: 22 targetPort: gitlab-ssh protocol: TCP nodePort: 30627 type: NodePort selector: app: gitlab-webserver