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
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

View File

@ -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

View File

@ -1,39 +1,26 @@
# 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
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) |

View File

@ -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"
}
]
}

View File

@ -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 }}

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) }}
apiVersion: v1
kind: PersistentVolumeClaim
@ -16,4 +15,3 @@ spec:
storageClassName: {{ .Values.persistence.storageClass | quote }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -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 }}

View File

@ -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" . }}

View File

@ -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