mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-03 08:37:03 +02:00
feat(common): Release version 1.3.2 (#120)
* fix(common): Increase CronJob pod annotations indent from 10 to 12 (#118) * feat(common): Add tests for CronJob jobTemplate metadata * feat(common): Update netshoot image * feat(common): Update code-server image * feat(ci): add workflow to create oci artifact (#38) * ci: Update release workflows --------- Signed-off-by: Tyler Witlin <tyler@codezero.io> Co-authored-by: Gabe Cook <gabe565@gmail.com> Co-authored-by: Tyler Witlin <45468117+coolguy1771@users.noreply.github.com>
This commit is contained in:
parent
75048c6d73
commit
93e761fd99
19 changed files with 151 additions and 43 deletions
|
@ -17,7 +17,7 @@ on:
|
|||
required: true
|
||||
|
||||
env:
|
||||
HELM_VERSION: 3.9.2
|
||||
HELM_VERSION: 3.11.1
|
||||
|
||||
jobs:
|
||||
release-charts:
|
||||
|
|
70
.github/workflows/charts-release-oci.yaml
vendored
Normal file
70
.github/workflows/charts-release-oci.yaml
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
name: "Charts: Release to GHCR OCI"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
charts:
|
||||
description: >
|
||||
Json encoded list of Helm charts to release.
|
||||
Defaults to releasing everything.
|
||||
default: "[]"
|
||||
required: false
|
||||
type: string
|
||||
secrets:
|
||||
BJWS_APP_ID:
|
||||
required: true
|
||||
BJWS_APP_PRIVATE_KEY:
|
||||
required: true
|
||||
|
||||
env:
|
||||
HELM_VERSION: 3.11.1
|
||||
|
||||
jobs:
|
||||
release-charts:
|
||||
name: Release charts
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Get GitHub API token
|
||||
id: get-app-token
|
||||
uses: getsentry/action-github-app-token@v1
|
||||
with:
|
||||
app_id: ${{ secrets.BJWS_APP_ID }}
|
||||
private_key: ${{ secrets.BJWS_APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
id: login-to-ghcr
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.BJWS_APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Checkout charts branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ steps.get-app-token.outputs.token }}
|
||||
path: "src"
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "${{ env.HELM_VERSION }}"
|
||||
|
||||
- name: Package & Push Helm Charts
|
||||
shell: bash
|
||||
env:
|
||||
SRC_DIR: "src/charts"
|
||||
run: |
|
||||
CHARTS=( $(yq --null-input e '${{ inputs.charts }}[]' ) )
|
||||
|
||||
for CHART in "${CHARTS[@]}" ; do
|
||||
mapfile -t CHART_PATH_PARTS < <(echo "$CHART" | tr '/' '\n')
|
||||
CHART_TYPE=${CHART_PATH_PARTS[0]}
|
||||
|
||||
helm dep up "${SRC_DIR}/${CHART}"
|
||||
helm package "${SRC_DIR}/${CHART}" -u
|
||||
helm push ${CHART} oci://ghcr.io/${{ github.actor }}
|
||||
done
|
12
.github/workflows/charts-release.yaml
vendored
12
.github/workflows/charts-release.yaml
vendored
|
@ -19,7 +19,7 @@ on:
|
|||
- "charts/**"
|
||||
|
||||
env:
|
||||
HELM_VERSION: 3.9.2
|
||||
HELM_VERSION: 3.11.1
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
|
@ -59,3 +59,13 @@ jobs:
|
|||
with:
|
||||
charts: "${{ needs.prepare.outputs.applicationChartsToRelease }}"
|
||||
secrets: inherit
|
||||
|
||||
release-github-oci:
|
||||
name: Release Application charts to GitHub pages
|
||||
uses: ./.github/workflows/charts-release-oci.yaml
|
||||
needs:
|
||||
- prepare
|
||||
- release-library-charts
|
||||
with:
|
||||
charts: "${{ needs.prepare.outputs.applicationChartsToRelease }}"
|
||||
secrets: inherit
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: v2
|
|||
name: common
|
||||
description: Function library for Helm charts
|
||||
type: library
|
||||
version: 1.3.1
|
||||
version: 1.3.2
|
||||
kubeVersion: ">=1.22.0-0"
|
||||
keywords:
|
||||
- common
|
||||
|
@ -14,5 +14,9 @@ maintainers:
|
|||
email: me@bjw-s.dev
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Updated code-server image tag to v4.10.0
|
||||
- kind: changed
|
||||
description: Updated netshoot image tag to v0.9
|
||||
- kind: fixed
|
||||
description: Probes were rendered incorrectly when primary service port was a string.
|
||||
description: Pod annotations were not indented enough when controller type was cronjob
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# common
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Function library for Helm charts
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ spec:
|
|||
metadata:
|
||||
{{- with include ("bjw-s.common.lib.metadata.podAnnotations") . }}
|
||||
annotations:
|
||||
{{- . | nindent 10 }}
|
||||
{{- . | nindent 12 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "bjw-s.common.lib.metadata.selectorLabels" . | nindent 12 }}
|
||||
|
|
|
@ -711,7 +711,7 @@ addons:
|
|||
# -- Specify the code-server image
|
||||
repository: ghcr.io/coder/code-server
|
||||
# -- Specify the code-server image tag
|
||||
tag: 4.9.1
|
||||
tag: 4.10.0
|
||||
# -- Specify the code-server image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
|
@ -802,7 +802,7 @@ addons:
|
|||
# -- Specify the netshoot image
|
||||
repository: ghcr.io/nicolaka/netshoot
|
||||
# -- Specify the netshoot image tag
|
||||
tag: v0.8
|
||||
tag: v0.9
|
||||
# -- Specify the netshoot image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
apiVersion: v2
|
||||
description: A common powered chart template. This can be useful for small projects that don't have their own chart.
|
||||
name: app-template
|
||||
version: 1.3.1
|
||||
version: 1.3.2
|
||||
kubeVersion: ">=1.22.0-0"
|
||||
maintainers:
|
||||
- name: bjw-s
|
||||
|
@ -10,12 +10,12 @@ maintainers:
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s.github.io/helm-charts
|
||||
version: 1.3.1
|
||||
version: 1.3.2
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: |
|
||||
Updated library version to 1.3.1.
|
||||
Updated library version to 1.3.2.
|
||||
links:
|
||||
- name: Common library chart definition
|
||||
url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml
|
||||
|
|
|
@ -23,7 +23,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -52,7 +52,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -89,5 +89,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,29 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: jobTemplate metadata should pass
|
||||
set:
|
||||
controller.type: cronjob
|
||||
podAnnotations:
|
||||
test_annotation: test
|
||||
podLabels:
|
||||
test_label: test
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.jobTemplate.spec.template.metadata.annotations
|
||||
value:
|
||||
test_annotation: test
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.jobTemplate.spec.template.metadata.labels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: retain enabled should pass
|
||||
set:
|
||||
|
@ -42,7 +42,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -68,7 +68,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -102,5 +102,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -23,7 +23,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -52,7 +52,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -89,5 +89,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -23,7 +23,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -52,7 +52,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -89,7 +89,7 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom secret type should pass
|
||||
|
|
|
@ -18,7 +18,7 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -80,5 +80,5 @@ tests:
|
|||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test_label: test
|
||||
|
|
|
@ -74,7 +74,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-1.3.1
|
||||
helm.sh/chart: app-template-1.3.2
|
||||
test.label: testvalue
|
||||
|
||||
- it: a serviceMonitor is created with nameOverride
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue