Compare commits
No commits in common. "master" and "0.3.1" have entirely different histories.
115
.drone.yml
115
.drone.yml
@ -3,61 +3,44 @@ kind: pipeline
|
||||
type: kubernetes
|
||||
name: linter
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: clone
|
||||
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||
|
||||
- name: helm lint
|
||||
commands:
|
||||
- helm lint
|
||||
image: git.cryptic.systems/volker.raschek/helm:3.17.1
|
||||
image: quay.io/helmpack/chart-testing:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: git.cryptic.systems/volker.raschek/markdownlint:0.44.0
|
||||
image: docker.io/volkerraschek/markdownlint:0.30.0
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: helm template
|
||||
commands:
|
||||
- helm template .
|
||||
image: git.cryptic.systems/volker.raschek/helm:3.17.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
SMTP_FROM_ADDRESS:
|
||||
from_secret: smtp_from_address
|
||||
SMTP_FROM_NAME:
|
||||
from_secret: smtp_from_name
|
||||
SMTP_HOST:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
SMTP_USERNAME:
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
SMTP_PASSWORD:
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
@ -69,39 +52,81 @@ trigger:
|
||||
- tag
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: release
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
|
||||
steps:
|
||||
- name: clone
|
||||
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||
|
||||
- name: release-helm-chart
|
||||
commands:
|
||||
- grep -o 'version:"${DRONE_TAG}"' Chart.yaml || echo "Version ${DRONE_TAG} not found in Chart.yaml"
|
||||
- helm repo add drone https://charts.cryptic.systems/drone
|
||||
- helm plugin install https://github.com/chartmuseum/helm-push.git
|
||||
- helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
|
||||
- helm package --version ${DRONE_TAG} .
|
||||
- helm cm-push ${DRONE_REPO_NAME%-charts}-${DRONE_TAG}.tgz drone
|
||||
- helm cm-push ${DRONE_REPO_NAME%-charts}-${DRONE_TAG}.tgz volker.raschek
|
||||
environment:
|
||||
HELM_REPO_PASSWORD:
|
||||
from_secret: helm_repo_password
|
||||
HELM_REPO_USERNAME:
|
||||
from_secret: helm_repo_username
|
||||
image: git.cryptic.systems/volker.raschek/helm:3.17.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
image: docker.io/alpine/helm:3.7.2
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/drone-charts
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: sync
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: github
|
||||
image: docker.io/appleboy/drone-git-push:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
settings:
|
||||
branch: master
|
||||
remote: ssh://git@github.com/volker-raschek/drone-charts.git
|
||||
force: true
|
||||
ssh_key:
|
||||
from_secret: ssh_key
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/drone-charts
|
||||
|
11
Chart.yaml
11
Chart.yaml
@ -2,17 +2,16 @@ apiVersion: v2
|
||||
name: drone
|
||||
description: Drone Helm chart for Kubernetes
|
||||
type: application
|
||||
version: "0.8.2"
|
||||
appVersion: "2.25.0"
|
||||
version: "0.3.0"
|
||||
appVersion: "2.8.0"
|
||||
icon: https://readme.drone.io/logo.svg
|
||||
|
||||
keywords:
|
||||
- continuous-delivery
|
||||
- continuous-deployment
|
||||
- continuous-integration
|
||||
- git
|
||||
- drone
|
||||
- drone-runner
|
||||
- git
|
||||
- ci
|
||||
- cd
|
||||
|
||||
sources:
|
||||
- https://github.com/volker-raschek/drone-charts
|
||||
|
32
README.md
32
README.md
@ -1,39 +1,26 @@
|
||||
# drone-charts
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/drone-charts)
|
||||
[](https://artifacthub.io/packages/search?repo=drone-ce)
|
||||
[](https://artifacthub.io/packages/search?repo=volker-raschek)
|
||||
|
||||
This is an inofficial helm chart for [drone](https://github.com/drone/drone) and
|
||||
was created because the official helmet chart was not maintained for a long
|
||||
time - [Issue](https://github.com/drone/charts/issues/46).
|
||||
should replace the official unmainted helm chart
|
||||
[repository](https://github.com/drone/charts). The official does not support
|
||||
version `v2` of drone.
|
||||
|
||||
This helm chart is maintained by contributors and myself. It is listed on
|
||||
[artifacthub.io](https://artifacthub.io/) and can be installed via helm:
|
||||
|
||||
> The repository has been changed and causes error messages when interacting
|
||||
> with the old repository definition. Please remove the chart repo
|
||||
> `volker.raschek` and replace it with `drone`.
|
||||
This helm chart can be found on [artifacthub.io](https://artifacthub.io/) and
|
||||
can be installed via helm.
|
||||
|
||||
```bash
|
||||
helm repo add drone https://charts.cryptic.systems/drone
|
||||
helm install drone drone/drone
|
||||
helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
|
||||
helm install drone volker.raschek/drone
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
All [configuration options](https://docs.drone.io/server/reference/) can be
|
||||
defined in the `values.yml` file below the `config` section. Alternatively can
|
||||
be the options passed via the `--set` flag of the `helm install` command. For
|
||||
example:
|
||||
|
||||
```bash
|
||||
helm install drone drone/drone \
|
||||
--set config.DRONE_RPC_SECRET-${DRONE_RPC_SECRET} \
|
||||
--set config.DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID} \
|
||||
--set config.DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}
|
||||
```
|
||||
|
||||
### List of config options
|
||||
be the options passed via the `--set` flag of the `helm install` command.
|
||||
|
||||
| value | reference |
|
||||
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
@ -96,7 +83,6 @@ helm install drone drone/drone \
|
||||
| `config.DRONE_SERVER_PROXY_HOST` | [Documentation](https://docs.drone.io/server/reference/drone-server-proxy-host) |
|
||||
| `config.DRONE_SERVER_PROXY_PROTO` | [Documentation](https://docs.drone.io/server/reference/drone-server-proxy-proto) |
|
||||
| `config.DRONE_STARLARK_ENABLED` | [Documentation](https://docs.drone.io/server/reference/drone-starlark-enabled) |
|
||||
| `config.DRONE_STARLARK_SIZE_LIMIT` | [Documentation](https://github.com/harness/drone/pull/3291) |
|
||||
| `config.DRONE_STARLARK_STEP_LIMIT` | [Documentation](https://docs.drone.io/server/reference/drone-starlark-step-limit) |
|
||||
| `config.DRONE_STASH_CONSUMER_KEY` | [Documentation](https://docs.drone.io/server/reference/drone-stash-consumer-key) |
|
||||
| `config.DRONE_STASH_PRIVATE_KEY` | [Documentation](https://docs.drone.io/server/reference/drone-stash-private-key) |
|
||||
|
@ -1,23 +1,8 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"automergeStrategy": "merge-commit",
|
||||
"automergeType": "pr",
|
||||
"assignees": [ "volker.raschek" ],
|
||||
"labels": [ "renovate" ],
|
||||
"packageRules": [
|
||||
{
|
||||
"addLabels": [ "renovate/drone", "renovate/automerge" ],
|
||||
"automerge": true,
|
||||
"matchManagers": "droneci",
|
||||
"matchUpdateTypes": [ "minor", "patch"]
|
||||
},
|
||||
{
|
||||
"addLabels": [ "renovate/drone", "renovate/automerge" ],
|
||||
"automerge": false,
|
||||
"matchPackageNames": [ "drone" ],
|
||||
"matchManagers": [ "regex" ]
|
||||
}
|
||||
],
|
||||
"rebaseLabel": "renovate/rebase",
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"regexManagers": [
|
||||
{
|
||||
"description": "Update container image reference",
|
||||
@ -27,9 +12,8 @@
|
||||
"matchStrings": [
|
||||
"appVersion: \"(?<currentValue>.*?)\"\\s+"
|
||||
],
|
||||
"datasourceTemplate": "docker",
|
||||
"depNameTemplate": "drone",
|
||||
"lookupNameTemplate": "docker.io/drone/drone"
|
||||
"depNameTemplate": "docker.io/drone/drone",
|
||||
"datasourceTemplate": "docker"
|
||||
}
|
||||
]
|
||||
}
|
@ -5,11 +5,6 @@ metadata:
|
||||
labels:
|
||||
{{- include "drone.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
|
||||
replicas: 1
|
||||
{{- else }}
|
||||
replicas: {{ .Values.replicas | default 1 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "drone.selectorLabels" . | nindent 6 }}
|
||||
@ -22,51 +17,28 @@ spec:
|
||||
labels:
|
||||
{{- include "drone.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: {{ include "drone.fullname" . }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- with .Values.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: https
|
||||
containerPort: 443
|
||||
protocol: TCP
|
||||
{{- with .Values.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: {{ default "/data/database.sqlite" .Values.config.DRONE_DATABASE_DATASOURCE | dir }}
|
||||
{{- with .Values.extraVolumeMounts }}
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with .Values.extraVolumeMounts }}
|
||||
volumeMounts:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.initContainers }}
|
||||
initContainers:
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
@ -77,9 +49,6 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.podPriorityClassName }}
|
||||
priorityClassName: {{ .Values.podPriorityClassName }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
serviceAccountName: {{ include "drone.fullname" . }}
|
||||
@ -94,20 +63,9 @@ spec:
|
||||
{{- with .Values.persistence.existingClaim }}
|
||||
claimName: {{ tpl . $ }}
|
||||
{{- end }}
|
||||
{{- with .Values.extraVolumes }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- else if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ include "drone.fullname" . }}
|
||||
{{- with .Values.extraVolumes }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with .Values.extraVolumes }}
|
||||
volumes:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,4 +1,3 @@
|
||||
{{- if .Values.persistence.enabled -}}
|
||||
{{ if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
@ -16,4 +15,3 @@ spec:
|
||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
@ -1,36 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
name: {{ include "drone.fullname" . }}
|
||||
labels:
|
||||
{{- include "drone.labels" . | nindent 4 }}
|
||||
name: {{ include "drone.fullname" . }}
|
||||
spec:
|
||||
{{- with .Values.service.externalIPs }}
|
||||
externalIPs:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
{{- if and .Values.service.loadBalancerClass (eq .Values.service.type "LoadBalancer") }}
|
||||
loadBalancerClass: {{ .Values.service.loadBalancerClass }}
|
||||
{{- end }}
|
||||
{{- if and .Values.service.loadBalancerIP (eq .Values.service.type "LoadBalancer") }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- with .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: {{ .Values.service.targetPort }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: {{ .Values.service.name }}
|
||||
name: http
|
||||
selector:
|
||||
{{- include "drone.selectorLabels" . | nindent 4 }}
|
||||
|
@ -1,10 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "drone.labels" . | nindent 4 }}
|
||||
name: {{ include "drone.fullname" . }}
|
97
values.yaml
97
values.yaml
@ -2,6 +2,8 @@
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: docker.io/drone/drone
|
||||
pullPolicy: IfNotPresent
|
||||
@ -14,16 +16,16 @@ fullnameOverride: ""
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podPriorityClassName: ""
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
# Increasing the amount of replicas has no effect, when `DRONE_DATABASE_DRIVER`
|
||||
# is set to sqlite3.
|
||||
replicas: 1
|
||||
|
||||
affinity: {}
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
config: {}
|
||||
# DRONE_BITBUCKET_CLIENT_ID
|
||||
@ -518,6 +520,10 @@ config: {}
|
||||
# https://docs.drone.io/server/reference/drone-webhook-skip-verify/
|
||||
# DRONE_WEBHOOK_SKIP_VERIFY: ""
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
className: "nginx"
|
||||
@ -535,22 +541,6 @@ ingress:
|
||||
hosts:
|
||||
- "your-hostname"
|
||||
|
||||
initContainers: []
|
||||
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /healthz
|
||||
port: http
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /healthz
|
||||
port: http
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
@ -563,72 +553,19 @@ resources: {}
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
serviceAccount:
|
||||
annotations: {}
|
||||
|
||||
service:
|
||||
annotations: {}
|
||||
# externalIPs: []
|
||||
# externalTrafficPolicy: "Cluster"
|
||||
# loadBalancerClass: ""
|
||||
# loadBalancerIP: ""
|
||||
# loadBalancerSourceRanges: []
|
||||
# internalTrafficPolicy: "Cluster"
|
||||
name: http
|
||||
targetPort: 80
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
# persistence is only required when config.DATABASE_DRIVER is sqlite3 or
|
||||
# undefined.
|
||||
persistence:
|
||||
enabled: true
|
||||
annotation: {}
|
||||
# existingClaim:
|
||||
size: 5Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
labels: {}
|
||||
annotation: {}
|
||||
# storageClass:
|
||||
|
||||
# extra volumes for the pod
|
||||
extraVolumes: {}
|
||||
# The following example mount the same secret, which contains tls certificates
|
||||
# under different names. Each volume mount contains only selected items of the
|
||||
# secret. This make it easier to place the items on different locations inside the
|
||||
# container filesystem via extraVolumeMounts.
|
||||
# - name: custom-ca-anchor
|
||||
# secret:
|
||||
# secretName: drone-custom-tls-certificates
|
||||
# items:
|
||||
# - key: ca.crt
|
||||
# path: ca.crt
|
||||
# mode: 0444
|
||||
# - name: custom-tls-certificates
|
||||
# secret:
|
||||
# secretName: drone-custom-tls-certificates
|
||||
# items:
|
||||
# - key: tls.key
|
||||
# path: tls.key
|
||||
# mode: 0400
|
||||
# - key: tls.crt
|
||||
# path: tls.crt
|
||||
# mode: 0444
|
||||
|
||||
extraVolumeMounts: {}
|
||||
# The following example follows the example of extraVolumes and mounts the
|
||||
# volumes to the corresponding paths in the container filesystem.
|
||||
# - name: custom-ca-anchor
|
||||
# mountPath: /usr/local/share/ca-certificates
|
||||
# - name: custom-tls-certificates
|
||||
# mountPath: /etc/drone/tls
|
||||
|
Reference in New Issue
Block a user