You've already forked drone-charts
Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
96f609652c
|
|||
8614ca8e89
|
|||
2026906827 | |||
608605320e | |||
12db483afe | |||
0370c865c4 | |||
548e37f758 | |||
aae4092f7b
|
|||
c93bc34fc7
|
|||
ac72d688ea
|
|||
fdb778896c
|
|||
cb6a5021c8 | |||
d26bfdea13 | |||
6547aee98e | |||
b774b08dec | |||
207c9d702b | |||
df7bb19b58 | |||
bf13179edf
|
|||
efcab94223 | |||
e26ba6e113 | |||
5a3deb5f55 | |||
d549a4b637 | |||
dc03395b66
|
|||
bc9a4ea4a4 | |||
8be7f9c4da
|
|||
4a0ec52f12
|
|||
d968cce280
|
|||
925c713364
|
|||
b888ad6205 | |||
4ada0bafc6 | |||
1d2c04ede7 | |||
5cadbd31a2
|
|||
c7346ec71a
|
|||
04e6d2214c
|
|||
6f36f2b794
|
|||
fc2dd72561
|
|||
c336536512
|
|||
0b482a45d0 | |||
e2a9de91f3
|
|||
181a35028e | |||
e5833cef56 | |||
8e489572f2 | |||
b572e084e0 | |||
0869a34339 | |||
e1275fffe0
|
|||
90e2676365
|
|||
28eab737ec
|
|||
25b6a868ad | |||
b8787ea957 | |||
e1469c9d30
|
|||
f00116fcec
|
|||
0efae25b7b | |||
f89c06cdd7 | |||
b1037536ef | |||
f0e8282c2d |
102
.drone.yml
102
.drone.yml
@ -11,36 +11,47 @@ steps:
|
||||
- name: helm lint
|
||||
commands:
|
||||
- helm lint
|
||||
image: quay.io/helmpack/chart-testing:latest
|
||||
image: docker.io/volkerraschek/helm:3.10.2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: docker.io/volkerraschek/markdownlint:0.30.0
|
||||
image: docker.io/volkerraschek/markdownlint:0.32.2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: helm template
|
||||
commands:
|
||||
- helm template .
|
||||
image: docker.io/volkerraschek/helm:3.10.2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
SMTP_FROM_ADDRESS:
|
||||
from_secret: smtp_from_address
|
||||
SMTP_FROM_NAME:
|
||||
from_secret: smtp_from_name
|
||||
SMTP_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
SMTP_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
SMTP_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
@ -52,7 +63,6 @@ trigger:
|
||||
- tag
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: release
|
||||
@ -63,70 +73,22 @@ platform:
|
||||
steps:
|
||||
- name: release-helm-chart
|
||||
commands:
|
||||
- helm plugin install https://github.com/chartmuseum/helm-push.git
|
||||
- helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
|
||||
- helm repo add drone https://charts.cryptic.systems/drone
|
||||
- helm package --version ${DRONE_TAG} .
|
||||
- helm cm-push ${DRONE_REPO_NAME%-charts}-${DRONE_TAG}.tgz volker.raschek
|
||||
- helm cm-push ${DRONE_REPO_NAME%-charts}-${DRONE_TAG}.tgz drone
|
||||
environment:
|
||||
HELM_REPO_PASSWORD:
|
||||
from_secret: helm_repo_password
|
||||
HELM_REPO_USERNAME:
|
||||
from_secret: helm_repo_username
|
||||
image: docker.io/alpine/helm:3.7.2
|
||||
image: docker.io/volkerraschek/helm:3.10.2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
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,16 +2,17 @@ apiVersion: v2
|
||||
name: drone
|
||||
description: Drone Helm chart for Kubernetes
|
||||
type: application
|
||||
version: "0.3.0"
|
||||
appVersion: "2.9.0"
|
||||
version: "0.7.1"
|
||||
appVersion: "2.15.0"
|
||||
icon: https://readme.drone.io/logo.svg
|
||||
|
||||
keywords:
|
||||
- git
|
||||
- continuous-delivery
|
||||
- continuous-deployment
|
||||
- continuous-integration
|
||||
- drone
|
||||
- drone-runner
|
||||
- ci
|
||||
- cd
|
||||
- git
|
||||
|
||||
sources:
|
||||
- https://github.com/volker-raschek/drone-charts
|
||||
|
31
README.md
31
README.md
@ -1,26 +1,39 @@
|
||||
# drone-charts
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/drone-charts)
|
||||
[](https://artifacthub.io/packages/search?repo=volker-raschek)
|
||||
[](https://artifacthub.io/packages/search?repo=drone-ce)
|
||||
|
||||
This is an inofficial helm chart for [drone](https://github.com/drone/drone) and
|
||||
should replace the official unmainted helm chart
|
||||
[repository](https://github.com/drone/charts). The official does not support
|
||||
version `v2` of drone.
|
||||
was created because the official helmet chart was not maintained for a long
|
||||
time - [Issue](https://github.com/drone/charts/issues/46).
|
||||
|
||||
This helm chart can be found on [artifacthub.io](https://artifacthub.io/) and
|
||||
can be installed via helm.
|
||||
This helm chart is maintained by contributors and myself. It is listed on
|
||||
[artifacthub.io](https://artifacthub.io/) and can be installed via helm:
|
||||
|
||||
> :warning: 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`.
|
||||
|
||||
```bash
|
||||
helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
|
||||
helm install drone volker.raschek/drone
|
||||
helm repo add drone https://charts.cryptic.systems/drone
|
||||
helm install drone drone/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.
|
||||
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
|
||||
|
||||
| value | reference |
|
||||
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
|
@ -3,6 +3,23 @@
|
||||
"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",
|
||||
@ -12,8 +29,9 @@
|
||||
"matchStrings": [
|
||||
"appVersion: \"(?<currentValue>.*?)\"\\s+"
|
||||
],
|
||||
"depNameTemplate": "docker.io/drone/drone",
|
||||
"datasourceTemplate": "docker"
|
||||
"datasourceTemplate": "docker",
|
||||
"depNameTemplate": "drone",
|
||||
"lookupNameTemplate": "docker.io/drone/drone"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -26,16 +26,37 @@ spec:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /healthz
|
||||
port: http
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: https
|
||||
containerPort: 443
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /healthz
|
||||
port: http
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
|
||||
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.affinity }}
|
||||
affinity:
|
||||
@ -49,6 +70,9 @@ spec:
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.podPriorityClassName }}
|
||||
priorityClassName: {{ .Values.podPriorityClassName }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
serviceAccountName: {{ include "drone.fullname" . }}
|
||||
@ -63,9 +87,20 @@ 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,3 +1,4 @@
|
||||
{{- if .Values.persistence.enabled -}}
|
||||
{{ if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
@ -14,4 +15,5 @@ spec:
|
||||
{{- if .Values.persistence.storageClass }}
|
||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
@ -1,15 +1,36 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "drone.fullname" . }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
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: http
|
||||
targetPort: {{ .Values.service.targetPort }}
|
||||
protocol: TCP
|
||||
name: http
|
||||
name: {{ .Values.service.name }}
|
||||
selector:
|
||||
{{- include "drone.selectorLabels" . | nindent 4 }}
|
||||
|
@ -1,4 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "drone.labels" . | nindent 4 }}
|
||||
name: {{ include "drone.fullname" . }}
|
69
values.yaml
69
values.yaml
@ -2,8 +2,6 @@
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: docker.io/drone/drone
|
||||
pullPolicy: IfNotPresent
|
||||
@ -16,6 +14,8 @@ fullnameOverride: ""
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podPriorityClassName: ""
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
@ -520,7 +520,19 @@ config: {}
|
||||
# https://docs.drone.io/server/reference/drone-webhook-skip-verify/
|
||||
# DRONE_WEBHOOK_SKIP_VERIFY: ""
|
||||
|
||||
serviceAccount:
|
||||
annotations: {}
|
||||
|
||||
service:
|
||||
annotations: {}
|
||||
# externalIPs: []
|
||||
# externalTrafficPolicy: "Cluster"
|
||||
# loadBalancerClass: ""
|
||||
# loadBalancerIP: ""
|
||||
# loadBalancerSourceRanges: []
|
||||
# internalTrafficPolicy: "Cluster"
|
||||
name: http
|
||||
targetPort: 80
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
|
||||
@ -532,14 +544,14 @@ ingress:
|
||||
# cert-manager.io/issuer:
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
hosts:
|
||||
- host: "your-hostname"
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
- host: "your-hostname"
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
tls:
|
||||
- secretName: "your-tls-secret"
|
||||
hosts:
|
||||
- "your-hostname"
|
||||
- secretName: "your-tls-secret"
|
||||
hosts:
|
||||
- "your-hostname"
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
@ -562,10 +574,43 @@ affinity: {}
|
||||
# persistence is only required when config.DATABASE_DRIVER is sqlite3 or
|
||||
# undefined.
|
||||
persistence:
|
||||
enabled: true
|
||||
annotation: {}
|
||||
# existingClaim:
|
||||
size: 5Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
- ReadWriteOnce
|
||||
labels: {}
|
||||
annotation: {}
|
||||
# storageClass:
|
||||
# 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