From 0009c19f1c138d685b65106ee0d03650c8a3c8fb Mon Sep 17 00:00:00 2001 From: Anbraten Date: Fri, 24 Sep 2021 14:04:54 +0200 Subject: [PATCH] Release Helm charts (#302) closes #261 --- .woodpecker/helm.yml | 41 ++++++++++++++++ charts/README.md | 49 -------------------- charts/woodpecker-agent/Chart.yaml | 6 +-- charts/woodpecker-agent/values.yaml | 4 +- charts/woodpecker-server/Chart.yaml | 6 +-- charts/woodpecker-server/values.yaml | 12 ++--- docs/docs/30-administration/80-kubernetes.md | 40 +++++++++++++++- 7 files changed, 94 insertions(+), 64 deletions(-) create mode 100644 .woodpecker/helm.yml delete mode 100644 charts/README.md diff --git a/.woodpecker/helm.yml b/.woodpecker/helm.yml new file mode 100644 index 000000000..fcc17ba38 --- /dev/null +++ b/.woodpecker/helm.yml @@ -0,0 +1,41 @@ +clone: + git: + image: plugins/git:next + +pipeline: + set-version: + image: alpine/helm:3.5.3 + commands: + # use tag name or 0.0.0 if not running on a tag + - export CHART_VERSION="${DRONE_TAG##v}" + - export CHART_VERSION=$${CHART_VERSION:=0.0.0} + - echo "Version $CHART_VERSION" + - sed -i "s//$CHART_VERSION/g" charts/woodpecker-agent/Chart.yaml + - sed -i "s//$CHART_VERSION/g" charts/woodpecker-server/Chart.yaml + - cat charts/woodpecker-agent/Chart.yaml + - cat charts/woodpecker-server/Chart.yaml + when: + path: "charts/**" + + lint: + image: alpine/helm:3.5.3 + commands: + - helm lint charts/woodpecker-agent/ + - helm lint charts/woodpecker-server/ + when: + path: "charts/**" + + release: + image: quay.io/helmpack/chart-releaser:v1.2.1 + secrets: + - source: github_token + target: CR_TOKEN + commands: + - mkdir -p .cr-index + - cr package charts/woodpecker-server + - cr package charts/woodpecker-agent + - cr upload --owner woodpecker-ci --git-repo woodpecker-ci.github.io --release-name-template "helm-{{ .Name }}-{{ .Version }}" + - cr index --owner woodpecker-ci --git-repo woodpecker-ci.github.io --pages-branch main --charts-repo https://woodpecker-ci.github.io --push --release-name-template "helm-{{ .Name }}-{{ .Version }}" + when: + event: tag + path: "charts/**" diff --git a/charts/README.md b/charts/README.md deleted file mode 100644 index 642e0ee26..000000000 --- a/charts/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Woodpecker - -[Woodpecker](https://woodpecker-ci.github.io/) is a fork of the Drone CI system version 0.8, right before the 1.0 release and license changes - -## Installing Woodpecker server - -### Requirements - -``` -kubectl create secret generic drone-secret \ - --namespace sre \ - --from-literal=DRONE_SECRET=$(openssl rand -hex 32) -``` - -[GitHub](https://woodpecker-ci.github.io/docs/administration) - -``` -kubectl create secret generic drone-github-client \ - --namespace \ - --from-literal=DRONE_GITHUB_CLIENT=xxxxxxxx -``` - -``` -kubectl create secret generic drone-github-secret \ - --namespace \ - --from-literal=DRONE_GITHUB_SECRET=xxxxxxxx -``` - -``` -helm upgrade --install woodpecker-server --namespace woodpecker-server/ -``` - - -## Installing Woodpecker agent - -``` -helm upgrade --install woodpecker-agent --namespace woodpecker-agent/ -``` - -## Uninstall - -``` -helm delete woodpecker-agent -helm delete woodpecker-server -``` - -## Support - -For questions, suggestions, and discussion, visit the [Discord](https://discord.gg/fcMQqSMXJy). diff --git a/charts/woodpecker-agent/Chart.yaml b/charts/woodpecker-agent/Chart.yaml index 007480115..f16afdbad 100644 --- a/charts/woodpecker-agent/Chart.yaml +++ b/charts/woodpecker-agent/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 name: woodpecker-agent -description: A Helm chart for Woodpecker, a fork of the Drone CI system +description: A Helm chart for the Woodpecker agent type: application -version: 0.1.1 -appVersion: "v0.13.0-rc.3" +version: +appVersion: "" keywords: - continuous-delivery - continuous-deployment diff --git a/charts/woodpecker-agent/values.yaml b/charts/woodpecker-agent/values.yaml index 3071157f3..d4841d4b8 100644 --- a/charts/woodpecker-agent/values.yaml +++ b/charts/woodpecker-agent/values.yaml @@ -8,10 +8,10 @@ image: tag: "" env: - DRONE_SERVER: "woodpecker-server..svc.cluster.local:9000" + WOODPECKER_SERVER: "woodpecker-server..svc.cluster.local:9000" extraSecretNamesForEnvFrom: -- drone-secret +- woodpecker-secret imagePullSecrets: [] nameOverride: "" diff --git a/charts/woodpecker-server/Chart.yaml b/charts/woodpecker-server/Chart.yaml index b83a1b3a7..fd38ed806 100644 --- a/charts/woodpecker-server/Chart.yaml +++ b/charts/woodpecker-server/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 name: woodpecker-server -description: A Helm chart for Woodpecker a fork of the Drone CI system +description: A Helm chart for the Woodpecker server type: application -version: 0.1.0 -appVersion: "v0.13.0-rc.3" +version: +appVersion: "" keywords: - continuous-delivery - continuous-deployment diff --git a/charts/woodpecker-server/values.yaml b/charts/woodpecker-server/values.yaml index cfa83193c..b9019613a 100644 --- a/charts/woodpecker-server/values.yaml +++ b/charts/woodpecker-server/values.yaml @@ -8,14 +8,14 @@ image: tag: "" env: - DRONE_ADMIN: "xxxx" - DRONE_HOST: https://"xxxxxxx" - DRONE_GITHUB: true + WOODPECKER_ADMIN: "xxxx" + WOODPECKER_HOST: https://"xxxxxxx" + WOODPECKER_GITHUB: true extraSecretNamesForEnvFrom: -- drone-github-client -- drone-github-secret -- drone-secret +- woodpecker-github-client +- woodpecker-github-secret +- woodpecker-secret persistentVolume: enabled: true diff --git a/docs/docs/30-administration/80-kubernetes.md b/docs/docs/30-administration/80-kubernetes.md index bebccb4af..df8b6b764 100644 --- a/docs/docs/30-administration/80-kubernetes.md +++ b/docs/docs/30-administration/80-kubernetes.md @@ -4,7 +4,45 @@ Woodpecker does not support Kubernetes natively, but being a container first CI ## Deploy with HELM -TODO +### Preparation + +```shell +# create secrets +kubectl create secret generic woodpecker-secret \ + --namespace \ + --from-literal=WOODPECKER_SECRET=$(openssl rand -hex 32) + +kubectl create secret generic woodpecker-github-client \ + --namespace \ + --from-literal=WOODPECKER_GITHUB_CLIENT=xxxxxxxx + +kubectl create secret generic woodpecker-github-secret \ + --namespace \ + --from-literal=WOODPECKER_GITHUB_SECRET=xxxxxxxx + +# add helm repo +helm repo add woodpecker https://woodpecker-ci.github.io/ +``` + +### Woodpecker server + +```shell +# Install +helm upgrade --install woodpecker-server --namespace woodpecker/woodpecker-server + +# Uninstall +helm delete woodpecker-server +``` + +## Woodpecker agent + +```shell +# Install +helm upgrade --install woodpecker-agent --namespace woodpecker/woodpecker-agent + +# Uninstall +helm delete woodpecker-agent +``` ## Deploy with kubectl