File gitlab-runner-k8s.yml of Package container-gitlab-runner-k8s

apiVersion: v1
kind: Namespace
metadata:
  name: gitlab-runner
---
apiVersion: v1
kind: Namespace
metadata:
  name: gitlab-build
---
apiVersion: v1
data:
  #
  # For explanation of the variables see
  # gitlab-runner register --help
  # gitlab-runner run --help
  #
  #
  # Your GitLab server URL
  #
  # Change me
  #
  CI_SERVER_URL: https://yourgitlab/
  REGISTER_NON_INTERACTIVE: "true"
  REGISTER_LOCKED: "false"
  #
  RUNNER_TAG_LIST: ""
  #
  RUNNER_REQUEST_CONCURRENCY: "30"
  RUNNER_EXECUTOR: "kubernetes"
  KUBERNETES_NAMESPACE: "gitlab-build"
  KUBERNETES_PRIVILEGED: "false"
  KUBERNETES_IMAGE: "registry.opensuse.org/opensuse/tumbleweed:latest"
  KUBERNETES_HELPER_IMAGE: "registry.opensuse.org/home/darix/apps/containers/gitlab-runner-helper:x86_64-latest"
  KUBERNETES_CPU_LIMIT: "1"
  KUBERNETES_MEMORY_LIMIT: "512Mi"
  KUBERNETES_SERVICE_CPU_LIMIT: "1"
  KUBERNETES_SERVICE_MEMORY_LIMIT: "512Mi"
  KUBERNETES_HELPER_CPU_LIMIT: "500m"
  KUBERNETES_HELPER_MEMORY_LIMIT: "100Mi"
  KUBERNETES_PULL_POLICY: "if-not-present"
  KUBERNETES_TERMINATIONGRACEPERIODSECONDS: "10"
  KUBERNETES_POLL_INTERVAL: "5"
  KUBERNETES_POLL_TIMEOUT: "360"
kind: ConfigMap
metadata:
  labels:
    app: gitlab-runner
  name: gitlab-runner-cm
  namespace: gitlab-runner
---
apiVersion: v1
kind: Secret
metadata:
  name: gitlab-token
  namespace: gitlab-runner
  labels:
    app: gitlab-runner
data:
  # https://yourgitlab/admin/runners/
  #
  # Needs to be base64
  # echo $YOUR_TOKEN | base64 -w0
  #
  # Change me
  GITLAB_CI_TOKEN: '$YOUR_TOKEN_BASE64'
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: gitlab-runner
  namespace: gitlab-runner
  labels:
    app: gitlab-runner
spec:
  updateStrategy:
    type: RollingUpdate
  replicas: 2
  serviceName: gitlab-runner
  template:
    metadata:
      labels:
        app: gitlab-runner
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - topologyKey: "kubernetes.io/hostname"
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - gitlab-runner
      serviceAccountName: gitlab-runner
      #securityContext:
      #  runAsNonRoot: true
      #  runAsUser: gitlab-runner
      #  supplementalGroups: [gitlab-runner]
      containers:
      - image: "registry.opensuse.org/home/darix/apps/containers/gitlab-runner-k8s:latest"
        name: gitlab-runner
        envFrom:
        - configMapRef:
            name: gitlab-runner-cm
        - secretRef:
            name: gitlab-token
        env:
        - name: RUNNER_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        #ports:
        #- containerPort: 9100
        #  name: http-metrics
        #  protocol: TCP
      restartPolicy: Always
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: gitlab-runner
  namespace: gitlab-runner
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: gitlab-runner
  name: gitlab-runner
rules:
  - apiGroups: [""]
    resources: ["*"]
    verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: gitlab-runner
  namespace: gitlab-runner
subjects:
  - kind: ServiceAccount
    name: gitlab-runner
    namespace: gitlab-runner
roleRef:
  kind: Role
  name: gitlab-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: gitlab-build
  name: gitlab-build
rules:
  - apiGroups: [""]
    resources: ["*"]
    verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: gitlab-build
  namespace: gitlab-build
subjects:
  - kind: ServiceAccount
    name: gitlab-runner
    namespace: gitlab-runner
roleRef:
  kind: Role
  name: gitlab-build
  apiGroup: rbac.authorization.k8s.io

openSUSE Build Service is sponsored by