From 706ef10dfbbb9dc8c52e9849fa0fc6229416dd7a Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Sun, 30 Jan 2022 14:20:45 +0100 Subject: [PATCH] doc(README): description, drone example --- Makefile | 2 +- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++- install.sh | 2 +- renovate.json | 29 ++++++++++++++++++++++-- 4 files changed, 91 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index b92e32a..82a63b8 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # HELM_VERSION # Only required to install a specifiy version -HELM_VERSION?=3.8.0 +HELM_VERSION?=v3.8.0 # renovate: datasource=github-releases depName=helm lookupName=helm/helm versioning=semver # CONTAINER_RUNTIME # The CONTAINER_RUNTIME variable will be used to specified the path to a diff --git a/README.md b/README.md index d0a9857..ffdbb50 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,64 @@ # helm-docker -Hello +[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/helm-docker/status.svg)](https://drone.cryptic.systems/volker.raschek/helm-docker) +[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/helm)](https://hub.docker.com/r/volkerraschek/helm) + +This project contains all sources to build the container image +`docker.io/volkerraschek/helm`. The primary goal of this project is to package +the binary `helm` as container image to provide the functionally for CI/CD +workflows. The source code of the binary can be found in the upstream project of +[helm](github.com/helm/helm). + +## drone + +Here is an example to lint, package and deploy a chart to chartmuseum via +`docker.io/volkerraschek/helm`. + +```yaml +kind: pipeline +type: kubernetes +name: linter + +platform: + os: linux + arch: amd64 + +steps: +- name: helm lint + commands: + - helm lint + image: docker.io/volkerraschek/helm:latest + resources: + limits: + cpu: 50 + memory: 50M + +--- +kind: pipeline +type: kubernetes +name: release + +platform: + os: linux + +steps: +- name: release-helm-chart + commands: + - helm plugin install https://github.com/chartmuseum/helm-push.git + - helm repo add myrepo https://charts.example.com/myrepo + - helm package --version ${DRONE_TAG} . + - helm cm-push ${DRONE_REPO_NAME}-${DRONE_TAG}.tgz myrepo + environment: + HELM_REPO_PASSWORD: + from_secret: helm_repo_password + HELM_REPO_USERNAME: + from_secret: helm_repo_username + image: docker.io/volkerraschek/helm:latest + resources: + limits: + cpu: 50 + memory: 50M +trigger: + event: + - tag +``` diff --git a/install.sh b/install.sh index de38160..c4b9e64 100755 --- a/install.sh +++ b/install.sh @@ -30,7 +30,7 @@ case `uname -m` in esac apk add --update --no-cache wget git -wget ${BASE_URL}/helm-v${VERSION}-linux-${ARCH}.tar.gz -O - | tar -xz +wget ${BASE_URL}/helm-${VERSION}-linux-${ARCH}.tar.gz -O - | tar -xz mv linux-${ARCH}/helm /usr/bin/helm chmod +x /usr/bin/helm rm -rf linux-${ARCH} \ No newline at end of file diff --git a/renovate.json b/renovate.json index b89fb23..216d899 100644 --- a/renovate.json +++ b/renovate.json @@ -1,8 +1,33 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "automerge": true, "automergeStrategy": "merge-commit", "automergeType": "pr", + "labels": [ "renovate" ], + "packageRules": [ + { + "addLabels": [ "renovate/droneci", "renovate/automerge" ], + "automerge": true, + "matchManagers": "droneci" + }, + { + "addLabels": [ "renovate/helm", "renovate/automerge" ], + "automerge": true, + "matchPackageNames": [ "helm" ], + "matchManagers": [ "regex" ], + "matchUpdateTypes": [ "minor", "patch"] + } + ], "rebaseLabel": "renovate/rebase", - "rebaseWhen": "behind-base-branch" + "rebaseWhen": "behind-base-branch", + "regexManagers": [ + { + "description": "Update helm version", + "fileMatch": [ + "^Makefile$" + ], + "matchStrings": [ + "HELM_VERSION\\?=(?.*) # renovate: datasource=(?.*) depName=(?.*) (lookupName=(?.*))? (versioning=(?.*))?" + ] + } + ] }