Compare commits

..

No commits in common. "master" and "0.3.1" have entirely different histories.

9 changed files with 126 additions and 266 deletions

View File

@ -3,61 +3,44 @@ kind: pipeline
type: kubernetes type: kubernetes
name: linter name: linter
clone:
disable: true
platform: platform:
os: linux os: linux
arch: amd64 arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: helm lint - name: helm lint
commands: commands:
- helm lint - helm lint
image: git.cryptic.systems/volker.raschek/helm:3.17.1 image: quay.io/helmpack/chart-testing:latest
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 50M
- name: markdown lint - name: markdown lint
commands: commands:
- markdownlint *.md - markdownlint *.md
image: git.cryptic.systems/volker.raschek/markdownlint:0.44.0 image: docker.io/volkerraschek/markdownlint:0.30.0
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 50M
- name: helm template
commands:
- helm template .
image: git.cryptic.systems/volker.raschek/helm:3.17.1
resources:
limits:
cpu: 150
memory: 150M
- name: email-notification - name: email-notification
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_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: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 25M
when: when:
status: status:
- changed - changed
@ -69,39 +52,81 @@ trigger:
- tag - tag
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
name: release name: release
clone:
disable: true
platform: platform:
os: linux os: linux
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: release-helm-chart - name: release-helm-chart
commands: commands:
- grep -o 'version:"${DRONE_TAG}"' Chart.yaml || echo "Version ${DRONE_TAG} not found in Chart.yaml" - helm plugin install https://github.com/chartmuseum/helm-push.git
- helm repo add drone https://charts.cryptic.systems/drone - helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
- helm package --version ${DRONE_TAG} . - 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: environment:
HELM_REPO_PASSWORD: HELM_REPO_PASSWORD:
from_secret: helm_repo_password from_secret: helm_repo_password
HELM_REPO_USERNAME: HELM_REPO_USERNAME:
from_secret: helm_repo_username from_secret: helm_repo_username
image: git.cryptic.systems/volker.raschek/helm:3.17.1 image: docker.io/alpine/helm:3.7.2
resources:
limits:
cpu: 150
memory: 150M
trigger: trigger:
event: event:
- tag - tag
repo: repo:
- volker.raschek/drone-charts - 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

View File

@ -2,17 +2,16 @@ apiVersion: v2
name: drone name: drone
description: Drone Helm chart for Kubernetes description: Drone Helm chart for Kubernetes
type: application type: application
version: "0.8.2" version: "0.3.0"
appVersion: "2.25.0" appVersion: "2.8.0"
icon: https://readme.drone.io/logo.svg icon: https://readme.drone.io/logo.svg
keywords: keywords:
- continuous-delivery - git
- continuous-deployment
- continuous-integration
- drone - drone
- drone-runner - drone-runner
- git - ci
- cd
sources: sources:
- https://github.com/volker-raschek/drone-charts - https://github.com/volker-raschek/drone-charts

View File

@ -1,39 +1,26 @@
# drone-charts # drone-charts
[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/drone-charts/status.svg)](https://drone.cryptic.systems/volker.raschek/drone-charts) [![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/drone-charts/status.svg)](https://drone.cryptic.systems/volker.raschek/drone-charts)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/drone-ce)](https://artifacthub.io/packages/search?repo=drone-ce) [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/volker-raschek)](https://artifacthub.io/packages/search?repo=volker-raschek)
This is an inofficial helm chart for [drone](https://github.com/drone/drone) and 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 should replace the official unmainted helm chart
time - [Issue](https://github.com/drone/charts/issues/46). [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 This helm chart can be found on [artifacthub.io](https://artifacthub.io/) and
[artifacthub.io](https://artifacthub.io/) and can be installed via helm: 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`.
```bash ```bash
helm repo add drone https://charts.cryptic.systems/drone helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek
helm install drone drone/drone helm install drone volker.raschek/drone
``` ```
## Customization ## Customization
All [configuration options](https://docs.drone.io/server/reference/) can be All [configuration options](https://docs.drone.io/server/reference/) can be
defined in the `values.yml` file below the `config` section. Alternatively can 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 be the options passed via the `--set` flag of the `helm install` command.
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 | | 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_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_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_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_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_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) | | `config.DRONE_STASH_PRIVATE_KEY` | [Documentation](https://docs.drone.io/server/reference/drone-stash-private-key) |

View File

@ -1,23 +1,8 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"automergeStrategy": "merge-commit",
"automergeType": "pr",
"assignees": [ "volker.raschek" ], "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": [ "regexManagers": [
{ {
"description": "Update container image reference", "description": "Update container image reference",
@ -27,9 +12,8 @@
"matchStrings": [ "matchStrings": [
"appVersion: \"(?<currentValue>.*?)\"\\s+" "appVersion: \"(?<currentValue>.*?)\"\\s+"
], ],
"datasourceTemplate": "docker", "depNameTemplate": "docker.io/drone/drone",
"depNameTemplate": "drone", "datasourceTemplate": "docker"
"lookupNameTemplate": "docker.io/drone/drone"
} }
] ]
} }

View File

@ -5,11 +5,6 @@ metadata:
labels: labels:
{{- include "drone.labels" . | nindent 4 }} {{- include "drone.labels" . | nindent 4 }}
spec: spec:
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
replicas: 1
{{- else }}
replicas: {{ .Values.replicas | default 1 }}
{{- end }}
selector: selector:
matchLabels: matchLabels:
{{- include "drone.selectorLabels" . | nindent 6 }} {{- include "drone.selectorLabels" . | nindent 6 }}
@ -22,51 +17,28 @@ spec:
labels: labels:
{{- include "drone.selectorLabels" . | nindent 8 }} {{- include "drone.selectorLabels" . | nindent 8 }}
spec: spec:
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
containers: containers:
- name: {{ .Chart.Name }} - name: {{ .Chart.Name }}
envFrom: envFrom:
- secretRef: - secretRef:
name: {{ include "drone.fullname" . }} name: {{ include "drone.fullname" . }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
ports: ports:
- name: http - name: http
containerPort: 80 containerPort: 80
protocol: TCP protocol: TCP
- name: https
containerPort: 443
protocol: TCP
{{- with .Values.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
resources: resources:
{{- toYaml .Values.resources | nindent 12 }} {{- toYaml .Values.resources | nindent 12 }}
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }} {{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: {{ default "/data/database.sqlite" .Values.config.DRONE_DATABASE_DATASOURCE | dir }} mountPath: {{ default "/data/database.sqlite" .Values.config.DRONE_DATABASE_DATASOURCE | dir }}
{{- with .Values.extraVolumeMounts }}
{{- toYaml . | nindent 10 }}
{{- end }} {{- end }}
{{- else }} {{- with .Values.affinity }}
{{- with .Values.extraVolumeMounts }} affinity:
volumeMounts:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- end }}
{{- with .Values.initContainers }}
initContainers:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
{{- with .Values.imagePullSecrets }} {{- with .Values.imagePullSecrets }}
@ -77,9 +49,6 @@ spec:
nodeSelector: nodeSelector:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.podPriorityClassName }}
priorityClassName: {{ .Values.podPriorityClassName }}
{{- end }}
securityContext: securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
serviceAccountName: {{ include "drone.fullname" . }} serviceAccountName: {{ include "drone.fullname" . }}
@ -94,20 +63,9 @@ spec:
{{- with .Values.persistence.existingClaim }} {{- with .Values.persistence.existingClaim }}
claimName: {{ tpl . $ }} claimName: {{ tpl . $ }}
{{- end }} {{- end }}
{{- with .Values.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- else if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }} {{- else if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ include "drone.fullname" . }} claimName: {{ include "drone.fullname" . }}
{{- with .Values.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- else }}
{{- with .Values.extraVolumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }} {{- end }}

View File

@ -1,4 +1,3 @@
{{- if .Values.persistence.enabled -}}
{{ if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }} {{ if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
@ -16,4 +15,3 @@ spec:
storageClassName: {{ .Values.persistence.storageClass | quote }} storageClassName: {{ .Values.persistence.storageClass | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end -}}

View File

@ -1,36 +1,15 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
{{- with .Values.service.annotations }} name: {{ include "drone.fullname" . }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels: labels:
{{- include "drone.labels" . | nindent 4 }} {{- include "drone.labels" . | nindent 4 }}
name: {{ include "drone.fullname" . }}
spec: 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 }} type: {{ .Values.service.type }}
ports: ports:
- port: {{ .Values.service.port }} - port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }} targetPort: http
protocol: TCP protocol: TCP
name: {{ .Values.service.name }} name: http
selector: selector:
{{- include "drone.selectorLabels" . | nindent 4 }} {{- include "drone.selectorLabels" . | nindent 4 }}

View File

@ -1,10 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "drone.labels" . | nindent 4 }}
name: {{ include "drone.fullname" . }} name: {{ include "drone.fullname" . }}

View File

@ -2,6 +2,8 @@
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
replicaCount: 1
image: image:
repository: docker.io/drone/drone repository: docker.io/drone/drone
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
@ -14,16 +16,16 @@ fullnameOverride: ""
podAnnotations: {} podAnnotations: {}
podPriorityClassName: ""
podSecurityContext: {} podSecurityContext: {}
# fsGroup: 2000 # fsGroup: 2000
# Increasing the amount of replicas has no effect, when `DRONE_DATABASE_DRIVER` securityContext: {}
# is set to sqlite3. # capabilities:
replicas: 1 # drop:
# - ALL
affinity: {} # readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
config: {} config: {}
# DRONE_BITBUCKET_CLIENT_ID # DRONE_BITBUCKET_CLIENT_ID
@ -518,6 +520,10 @@ config: {}
# https://docs.drone.io/server/reference/drone-webhook-skip-verify/ # https://docs.drone.io/server/reference/drone-webhook-skip-verify/
# DRONE_WEBHOOK_SKIP_VERIFY: "" # DRONE_WEBHOOK_SKIP_VERIFY: ""
service:
type: ClusterIP
port: 80
ingress: ingress:
enabled: false enabled: false
className: "nginx" className: "nginx"
@ -535,22 +541,6 @@ ingress:
hosts: hosts:
- "your-hostname" - "your-hostname"
initContainers: []
livenessProbe:
httpGet:
scheme: HTTP
path: /healthz
port: http
nodeSelector: {}
readinessProbe:
httpGet:
scheme: HTTP
path: /healthz
port: http
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # 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 # choice for the user. This also increases chances charts run on environments with little
@ -563,72 +553,19 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
securityContext: {} nodeSelector: {}
# 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
tolerations: [] tolerations: []
affinity: {}
# persistence is only required when config.DATABASE_DRIVER is sqlite3 or # persistence is only required when config.DATABASE_DRIVER is sqlite3 or
# undefined. # undefined.
persistence: persistence:
enabled: true
annotation: {}
# existingClaim: # existingClaim:
size: 5Gi size: 5Gi
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
labels: {} 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