Deprecate Drone as it's devs moved on to develop Gitness
This commit is contained in:
		@@ -1,13 +0,0 @@
 | 
				
			|||||||
To deply:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
kubectl apply -n drone-execution -f application.yml
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To bootstrap secrets:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 kubectl create secret generic -n drone-execution application-secrets \
 | 
					 | 
				
			||||||
    --from-literal=DRONE_RPC_SECRET=$(kubectl get secret -n drone application-secrets  -o jsonpath="{.data.DRONE_RPC_SECRET}" | base64 -d) \
 | 
					 | 
				
			||||||
    --from-literal=DRONE_SECRET_PLUGIN_TOKEN=$(cat /dev/urandom | base64 | head -c 30)
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
@@ -1,177 +0,0 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					 | 
				
			||||||
kind: ServiceAccount
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: v1
 | 
					 | 
				
			||||||
kind: ConfigMap
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: application-config
 | 
					 | 
				
			||||||
data:
 | 
					 | 
				
			||||||
  DRONE_DEBUG: "false"
 | 
					 | 
				
			||||||
  DRONE_TRACE: "false"
 | 
					 | 
				
			||||||
  DRONE_NAMESPACE_DEFAULT: "drone-execution"
 | 
					 | 
				
			||||||
  DRONE_RPC_HOST: "drone.k-space.ee"
 | 
					 | 
				
			||||||
  DRONE_RPC_PROTO: "https"
 | 
					 | 
				
			||||||
  PLUGIN_MTU: "1300"
 | 
					 | 
				
			||||||
  DRONE_SECRET_PLUGIN_ENDPOINT: "http://secrets:3000"
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: Role
 | 
					 | 
				
			||||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
  namespace: "drone-execution"
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    app: drone-runner-kube
 | 
					 | 
				
			||||||
rules:
 | 
					 | 
				
			||||||
  - apiGroups:
 | 
					 | 
				
			||||||
      - ""
 | 
					 | 
				
			||||||
    resources:
 | 
					 | 
				
			||||||
      - secrets
 | 
					 | 
				
			||||||
    verbs:
 | 
					 | 
				
			||||||
      - create
 | 
					 | 
				
			||||||
      - delete
 | 
					 | 
				
			||||||
  - apiGroups:
 | 
					 | 
				
			||||||
      - ""
 | 
					 | 
				
			||||||
    resources:
 | 
					 | 
				
			||||||
      - pods
 | 
					 | 
				
			||||||
      - pods/log
 | 
					 | 
				
			||||||
    verbs:
 | 
					 | 
				
			||||||
      - get
 | 
					 | 
				
			||||||
      - create
 | 
					 | 
				
			||||||
      - delete
 | 
					 | 
				
			||||||
      - list
 | 
					 | 
				
			||||||
      - watch
 | 
					 | 
				
			||||||
      - update
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: RoleBinding
 | 
					 | 
				
			||||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
  namespace: drone-execution
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    app: drone-runner-kube
 | 
					 | 
				
			||||||
subjects:
 | 
					 | 
				
			||||||
  - kind: ServiceAccount
 | 
					 | 
				
			||||||
    name: drone-runner-kube
 | 
					 | 
				
			||||||
    namespace: drone-execution
 | 
					 | 
				
			||||||
roleRef:
 | 
					 | 
				
			||||||
  kind: Role
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
  apiGroup: rbac.authorization.k8s.io
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: v1
 | 
					 | 
				
			||||||
kind: Service
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    app: drone-runner-kube
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  type: ClusterIP
 | 
					 | 
				
			||||||
  ports:
 | 
					 | 
				
			||||||
    - port: 3000
 | 
					 | 
				
			||||||
      targetPort: http
 | 
					 | 
				
			||||||
      protocol: TCP
 | 
					 | 
				
			||||||
      name: http
 | 
					 | 
				
			||||||
  selector:
 | 
					 | 
				
			||||||
    app: drone-runner-kube
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: apps/v1
 | 
					 | 
				
			||||||
kind: Deployment
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
  annotations:
 | 
					 | 
				
			||||||
    keel.sh/policy: force
 | 
					 | 
				
			||||||
    keel.sh/trigger: poll
 | 
					 | 
				
			||||||
    keel.sh/pollSchedule: "@midnight"
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  replicas: 1
 | 
					 | 
				
			||||||
  selector:
 | 
					 | 
				
			||||||
    matchLabels:
 | 
					 | 
				
			||||||
      app: drone-runner-kube
 | 
					 | 
				
			||||||
  template:
 | 
					 | 
				
			||||||
    metadata:
 | 
					 | 
				
			||||||
      labels:
 | 
					 | 
				
			||||||
        app: drone-runner-kube
 | 
					 | 
				
			||||||
    spec:
 | 
					 | 
				
			||||||
      serviceAccountName: drone-runner-kube
 | 
					 | 
				
			||||||
      terminationGracePeriodSeconds: 3600
 | 
					 | 
				
			||||||
      containers:
 | 
					 | 
				
			||||||
        - name: server
 | 
					 | 
				
			||||||
          securityContext:
 | 
					 | 
				
			||||||
            {}
 | 
					 | 
				
			||||||
          image: drone/drone-runner-kube
 | 
					 | 
				
			||||||
          imagePullPolicy: Always
 | 
					 | 
				
			||||||
          ports:
 | 
					 | 
				
			||||||
          - name: http
 | 
					 | 
				
			||||||
            containerPort: 3000
 | 
					 | 
				
			||||||
            protocol: TCP
 | 
					 | 
				
			||||||
          envFrom:
 | 
					 | 
				
			||||||
          - configMapRef:
 | 
					 | 
				
			||||||
              name: application-config
 | 
					 | 
				
			||||||
          - secretRef:
 | 
					 | 
				
			||||||
              name: application-secrets
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: apps/v1
 | 
					 | 
				
			||||||
kind: Deployment
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-kubernetes-secrets
 | 
					 | 
				
			||||||
  annotations:
 | 
					 | 
				
			||||||
    keel.sh/policy: force
 | 
					 | 
				
			||||||
    keel.sh/trigger: poll
 | 
					 | 
				
			||||||
    keel.sh/pollSchedule: "@midnight"
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  replicas: 1
 | 
					 | 
				
			||||||
  selector:
 | 
					 | 
				
			||||||
    matchLabels:
 | 
					 | 
				
			||||||
      app: drone-kubernetes-secrets
 | 
					 | 
				
			||||||
  template:
 | 
					 | 
				
			||||||
    metadata:
 | 
					 | 
				
			||||||
      labels:
 | 
					 | 
				
			||||||
        app: drone-kubernetes-secrets
 | 
					 | 
				
			||||||
    spec:
 | 
					 | 
				
			||||||
      containers:
 | 
					 | 
				
			||||||
      - name: secrets
 | 
					 | 
				
			||||||
        image: drone/kubernetes-secrets
 | 
					 | 
				
			||||||
        imagePullPolicy: Always
 | 
					 | 
				
			||||||
        ports:
 | 
					 | 
				
			||||||
        - containerPort: 3000
 | 
					 | 
				
			||||||
        env:
 | 
					 | 
				
			||||||
        - name: SECRET_KEY
 | 
					 | 
				
			||||||
          valueFrom:
 | 
					 | 
				
			||||||
            secretKeyRef:
 | 
					 | 
				
			||||||
              name: application-secrets
 | 
					 | 
				
			||||||
              key: DRONE_SECRET_PLUGIN_TOKEN
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: networking.k8s.io/v1
 | 
					 | 
				
			||||||
kind: NetworkPolicy
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-kubernetes-secrets
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  podSelector:
 | 
					 | 
				
			||||||
    matchLabels:
 | 
					 | 
				
			||||||
      app: drone-kubernetes-secrets
 | 
					 | 
				
			||||||
  policyTypes:
 | 
					 | 
				
			||||||
  - Ingress
 | 
					 | 
				
			||||||
  ingress:
 | 
					 | 
				
			||||||
  - from:
 | 
					 | 
				
			||||||
    - podSelector:
 | 
					 | 
				
			||||||
        matchLabels:
 | 
					 | 
				
			||||||
          app: drone-runner-kube
 | 
					 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
    - port: 3000
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
# Following should block access to pods in other namespaces, but should permit
 | 
					 | 
				
			||||||
# Git checkout, pip install, talking to Traefik via public IP etc
 | 
					 | 
				
			||||||
apiVersion: networking.k8s.io/v1
 | 
					 | 
				
			||||||
kind: NetworkPolicy
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone-runner-kube
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  podSelector: {}
 | 
					 | 
				
			||||||
  policyTypes:
 | 
					 | 
				
			||||||
  - Egress
 | 
					 | 
				
			||||||
  egress:
 | 
					 | 
				
			||||||
  - to:
 | 
					 | 
				
			||||||
    - ipBlock:
 | 
					 | 
				
			||||||
        cidr: 0.0.0.0/0
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
../shared/networkpolicy-base.yml
 | 
					 | 
				
			||||||
@@ -1,25 +0,0 @@
 | 
				
			|||||||
# Patterns to ignore when building packages.
 | 
					 | 
				
			||||||
# This supports shell glob matching, relative path matching, and
 | 
					 | 
				
			||||||
# negation (prefixed with !). Only one pattern per line.
 | 
					 | 
				
			||||||
.DS_Store
 | 
					 | 
				
			||||||
# Common VCS dirs
 | 
					 | 
				
			||||||
.git/
 | 
					 | 
				
			||||||
.gitignore
 | 
					 | 
				
			||||||
.bzr/
 | 
					 | 
				
			||||||
.bzrignore
 | 
					 | 
				
			||||||
.hg/
 | 
					 | 
				
			||||||
.hgignore
 | 
					 | 
				
			||||||
.svn/
 | 
					 | 
				
			||||||
# Common backup files
 | 
					 | 
				
			||||||
*.swp
 | 
					 | 
				
			||||||
*.bak
 | 
					 | 
				
			||||||
*.tmp
 | 
					 | 
				
			||||||
*~
 | 
					 | 
				
			||||||
# Various IDEs
 | 
					 | 
				
			||||||
.project
 | 
					 | 
				
			||||||
.idea/
 | 
					 | 
				
			||||||
*.tmproj
 | 
					 | 
				
			||||||
.vscode/
 | 
					 | 
				
			||||||
# Chart dirs/files
 | 
					 | 
				
			||||||
docs/
 | 
					 | 
				
			||||||
ci/
 | 
					 | 
				
			||||||
							
								
								
									
										155
									
								
								drone/README.md
									
									
									
									
									
								
							
							
						
						
									
										155
									
								
								drone/README.md
									
									
									
									
									
								
							@@ -1,155 +0,0 @@
 | 
				
			|||||||
# Deployment
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To deploy:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
kubectl apply -n drone -f application.yml
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To bootstrap secrets:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 kubectl create secret generic -n drone application-secrets \
 | 
					 | 
				
			||||||
    --from-literal=DRONE_GITEA_CLIENT_ID=... \
 | 
					 | 
				
			||||||
    --from-literal=DRONE_GITEA_CLIENT_SECRET=... \
 | 
					 | 
				
			||||||
    --from-literal=DRONE_RPC_SECRET=$(cat /dev/urandom | base64 | head -c 30)
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Integrating with Docker registry
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
We use harbor.k-space.ee to host own images.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Set up robot account `robot$k-space+drone` in Harbor first.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In Drone associate `docker_username` and `docker_password` secrets with the
 | 
					 | 
				
			||||||
`k-space`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Instead of click marathon you can also pull the CLI configuration for Drone
 | 
					 | 
				
			||||||
from https://drone.k-space.ee/account
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
drone orgsecret add k-space docker_username 'robot$k-space+drone'
 | 
					 | 
				
			||||||
 drone orgsecret add k-space docker_password '...'
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Integrating with e-mail
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To (re)set e-mail credentials:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
drone orgsecret add k-space email_password '...'
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To issue build hit the button in Drone web interface or alternatively:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
drone build create k-space/...
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Using templates
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Templates unfortunately aren't pulled in from this Git repo.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Current `docker.yaml` template includes following:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: build-arm64
 | 
					 | 
				
			||||||
platform:
 | 
					 | 
				
			||||||
  arch: arm64
 | 
					 | 
				
			||||||
  os: linux
 | 
					 | 
				
			||||||
node_selector:
 | 
					 | 
				
			||||||
  kubernetes.io/arch: arm64
 | 
					 | 
				
			||||||
tolerations:
 | 
					 | 
				
			||||||
- key: arch
 | 
					 | 
				
			||||||
  operator: Equal
 | 
					 | 
				
			||||||
  value: arm64
 | 
					 | 
				
			||||||
  effect: NoSchedule
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: submodules
 | 
					 | 
				
			||||||
  image: alpine/git
 | 
					 | 
				
			||||||
  commands:
 | 
					 | 
				
			||||||
  - touch .gitmodules
 | 
					 | 
				
			||||||
  - sed -i -e 's/git@git.k-space.ee:/https:\\/\\/git.k-space.ee\\//g' .gitmodules
 | 
					 | 
				
			||||||
  - git submodule update --init --recursive
 | 
					 | 
				
			||||||
  - echo "ENV GIT_COMMIT=$(git rev-parse HEAD)" >> Dockerfile
 | 
					 | 
				
			||||||
  - echo "ENV GIT_COMMIT_TIMESTAMP=$(git log -1 --format=%cd --date=iso-strict)" >> Dockerfile
 | 
					 | 
				
			||||||
  - cat Dockerfile
 | 
					 | 
				
			||||||
- name: docker
 | 
					 | 
				
			||||||
  image: harbor.k-space.ee/k-space/drone-kaniko
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    repo: ${DRONE_REPO}
 | 
					 | 
				
			||||||
    tags: latest-arm64
 | 
					 | 
				
			||||||
    registry: harbor.k-space.ee
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: docker_username
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: docker_password
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: build-amd64
 | 
					 | 
				
			||||||
platform:
 | 
					 | 
				
			||||||
  arch: amd64
 | 
					 | 
				
			||||||
  os: linux
 | 
					 | 
				
			||||||
node_selector:
 | 
					 | 
				
			||||||
  kubernetes.io/arch: amd64
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: submodules
 | 
					 | 
				
			||||||
  image: alpine/git
 | 
					 | 
				
			||||||
  commands:
 | 
					 | 
				
			||||||
  - touch .gitmodules
 | 
					 | 
				
			||||||
  - sed -i -e 's/git@git.k-space.ee:/https:\\/\\/git.k-space.ee\\//g' .gitmodules
 | 
					 | 
				
			||||||
  - git submodule update --init --recursive
 | 
					 | 
				
			||||||
  - echo "ENV GIT_COMMIT=$(git rev-parse HEAD)" >> Dockerfile
 | 
					 | 
				
			||||||
  - echo "ENV GIT_COMMIT_TIMESTAMP=$(git log -1 --format=%cd --date=iso-strict)" >> Dockerfile
 | 
					 | 
				
			||||||
  - cat Dockerfile
 | 
					 | 
				
			||||||
- name: docker
 | 
					 | 
				
			||||||
  image: harbor.k-space.ee/k-space/drone-kaniko
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    repo: ${DRONE_REPO}
 | 
					 | 
				
			||||||
    tags: latest-amd64
 | 
					 | 
				
			||||||
    registry: harbor.k-space.ee
 | 
					 | 
				
			||||||
    storage_driver: vfs
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: docker_username
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: docker_password
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: manifest
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: manifest
 | 
					 | 
				
			||||||
  image: plugins/manifest
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    target: ${DRONE_REPO}:latest
 | 
					 | 
				
			||||||
    template: ${DRONE_REPO}:latest-ARCH
 | 
					 | 
				
			||||||
    platforms:
 | 
					 | 
				
			||||||
      - linux/amd64
 | 
					 | 
				
			||||||
      - linux/arm64
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: docker_username
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: docker_password
 | 
					 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
- build-amd64
 | 
					 | 
				
			||||||
- build-arm64
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: gitlint
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: gitlint
 | 
					 | 
				
			||||||
  image: harbor.k-space.ee/k-space/gitlint-bundle
 | 
					 | 
				
			||||||
  # https://git.k-space.ee/k-space/gitlint-bundle
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: flake8
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: flake8
 | 
					 | 
				
			||||||
  image: harbor.k-space.ee/k-space/flake8-bundle
 | 
					 | 
				
			||||||
  # https://git.k-space.ee/k-space/flake8-bundle
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
@@ -1,117 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
apiVersion: v1
 | 
					 | 
				
			||||||
kind: Service
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  type: ClusterIP
 | 
					 | 
				
			||||||
  ports:
 | 
					 | 
				
			||||||
    - port: 80
 | 
					 | 
				
			||||||
      targetPort: http
 | 
					 | 
				
			||||||
      protocol: TCP
 | 
					 | 
				
			||||||
      name: http
 | 
					 | 
				
			||||||
  selector:
 | 
					 | 
				
			||||||
    app: drone
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: apps/v1
 | 
					 | 
				
			||||||
kind: StatefulSet
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone
 | 
					 | 
				
			||||||
  annotations:
 | 
					 | 
				
			||||||
    keel.sh/policy: minor
 | 
					 | 
				
			||||||
    keel.sh/trigger: poll
 | 
					 | 
				
			||||||
    keel.sh/pollSchedule: "@midnight"
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  serviceName: drone
 | 
					 | 
				
			||||||
  replicas: 1
 | 
					 | 
				
			||||||
  selector:
 | 
					 | 
				
			||||||
    matchLabels:
 | 
					 | 
				
			||||||
      app: drone
 | 
					 | 
				
			||||||
  template:
 | 
					 | 
				
			||||||
    metadata:
 | 
					 | 
				
			||||||
      labels:
 | 
					 | 
				
			||||||
        app: drone
 | 
					 | 
				
			||||||
    spec:
 | 
					 | 
				
			||||||
      automountServiceAccountToken: false
 | 
					 | 
				
			||||||
      securityContext:
 | 
					 | 
				
			||||||
        {}
 | 
					 | 
				
			||||||
      containers:
 | 
					 | 
				
			||||||
      - name: server
 | 
					 | 
				
			||||||
        securityContext:
 | 
					 | 
				
			||||||
          {}
 | 
					 | 
				
			||||||
        image: drone/drone:2
 | 
					 | 
				
			||||||
        ports:
 | 
					 | 
				
			||||||
          - name: http
 | 
					 | 
				
			||||||
            containerPort: 80
 | 
					 | 
				
			||||||
            protocol: TCP
 | 
					 | 
				
			||||||
        livenessProbe:
 | 
					 | 
				
			||||||
          httpGet:
 | 
					 | 
				
			||||||
            path: /
 | 
					 | 
				
			||||||
            port: http
 | 
					 | 
				
			||||||
        env:
 | 
					 | 
				
			||||||
          - name: DRONE_GITEA_SERVER
 | 
					 | 
				
			||||||
            value: https://git.k-space.ee
 | 
					 | 
				
			||||||
          - name: DRONE_GIT_ALWAYS_AUTH
 | 
					 | 
				
			||||||
            value: "false"
 | 
					 | 
				
			||||||
          - name: DRONE_SERVER_HOST
 | 
					 | 
				
			||||||
            value: drone.k-space.ee
 | 
					 | 
				
			||||||
          - name: DRONE_SERVER_PROTO
 | 
					 | 
				
			||||||
            value: https
 | 
					 | 
				
			||||||
          - name: DRONE_USER_CREATE
 | 
					 | 
				
			||||||
            value: username:lauri,admin:true
 | 
					 | 
				
			||||||
          - name: DRONE_DEBUG
 | 
					 | 
				
			||||||
            value: "true"
 | 
					 | 
				
			||||||
          - name: DRONE_TRACE
 | 
					 | 
				
			||||||
            value: "true"
 | 
					 | 
				
			||||||
        envFrom:
 | 
					 | 
				
			||||||
          - secretRef:
 | 
					 | 
				
			||||||
              name: application-secrets
 | 
					 | 
				
			||||||
        volumeMounts:
 | 
					 | 
				
			||||||
          - name: drone-data
 | 
					 | 
				
			||||||
            mountPath: /data
 | 
					 | 
				
			||||||
  volumeClaimTemplates:
 | 
					 | 
				
			||||||
  - metadata:
 | 
					 | 
				
			||||||
      name: drone-data
 | 
					 | 
				
			||||||
    spec:
 | 
					 | 
				
			||||||
      storageClassName: longhorn
 | 
					 | 
				
			||||||
      accessModes:
 | 
					 | 
				
			||||||
        - ReadWriteOnce
 | 
					 | 
				
			||||||
      resources:
 | 
					 | 
				
			||||||
        requests:
 | 
					 | 
				
			||||||
          storage: 8Gi
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: traefik.io/v1alpha1
 | 
					 | 
				
			||||||
kind: Middleware
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: redirect
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  redirectRegex:
 | 
					 | 
				
			||||||
    regex: ^https://(.*)/register$
 | 
					 | 
				
			||||||
    replacement: https://${1}/
 | 
					 | 
				
			||||||
    permanent: false
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: networking.k8s.io/v1
 | 
					 | 
				
			||||||
kind: Ingress
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: drone
 | 
					 | 
				
			||||||
  annotations:
 | 
					 | 
				
			||||||
    external-dns.alpha.kubernetes.io/target: traefik.k-space.ee
 | 
					 | 
				
			||||||
    kubernetes.io/ingress.class: traefik
 | 
					 | 
				
			||||||
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
 | 
					 | 
				
			||||||
    traefik.ingress.kubernetes.io/router.tls: "true"
 | 
					 | 
				
			||||||
    traefik.ingress.kubernetes.io/router.middlewares: drone-redirect@kubernetescrd
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  tls:
 | 
					 | 
				
			||||||
    - hosts:
 | 
					 | 
				
			||||||
        - "*.k-space.ee"
 | 
					 | 
				
			||||||
  rules:
 | 
					 | 
				
			||||||
    - host: "drone.k-space.ee"
 | 
					 | 
				
			||||||
      http:
 | 
					 | 
				
			||||||
        paths:
 | 
					 | 
				
			||||||
          - pathType: Prefix
 | 
					 | 
				
			||||||
            path: /
 | 
					 | 
				
			||||||
            backend:
 | 
					 | 
				
			||||||
              service:
 | 
					 | 
				
			||||||
                name: drone
 | 
					 | 
				
			||||||
                port:
 | 
					 | 
				
			||||||
                  number: 80
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user