diff --git a/.github/ISSUE_TEMPLATE/release_template.md b/.github/ISSUE_TEMPLATE/release_template.md index cd7ef62152a..4e515094318 100644 --- a/.github/ISSUE_TEMPLATE/release_template.md +++ b/.github/ISSUE_TEMPLATE/release_template.md @@ -18,7 +18,7 @@ assignees: '' git checkout -b pr/prepare-$RELEASE ./contrib/update-helm-chart.sh $RELEASE - ./install/kubernetes/test.sh + make -C install/kubernetes git add install/kubernetes/tetragon/ # update hugo version sed -i "s/^version =.*/version = \"${RELEASE}\"/" docs/hugo.toml diff --git a/.github/renovate.json5 b/.github/renovate.json5 index d88e5a9c8ac..35bc574582e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -13,7 +13,7 @@ "^make codegen$", "^make generate$", "^make vendor$", - "^install/kubernetes/test.sh$", + "^make -C install/kubernetes$", "^go mod vendor$", "^install-tool golang \\$\\(grep -oP '\\^go \\\\K\\.\\+' go\\.mod\\)$" ], @@ -240,7 +240,7 @@ ], // lint and generate files for helm chart "postUpgradeTasks": { - "commands": ["install/kubernetes/test.sh"], + "commands": ["make -C install/kubernetes"], "fileFilters": ["**/**"], "executionMode": "branch" } diff --git a/.github/workflows/lint-helm.yaml b/.github/workflows/lint-helm.yaml index 6e09163891d..d320dbedac5 100644 --- a/.github/workflows/lint-helm.yaml +++ b/.github/workflows/lint-helm.yaml @@ -15,13 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Run install/kubernetes/test.sh + - name: Run install/kubernetes run: | - install/kubernetes/test.sh + make -C install/kubernetes - name: Validate generated files run: | test -z "$(git status --porcelain)" if [ $? != 0 ]; then git status --porcelain - echo "Please run 'install/kubernetes/test.sh' and submit your changes."; exit 1 + echo "Please run 'make -C install/kubernetes' and submit your changes."; exit 1 fi diff --git a/install/kubernetes/Makefile b/install/kubernetes/Makefile new file mode 100644 index 00000000000..59c0f7a9edf --- /dev/null +++ b/install/kubernetes/Makefile @@ -0,0 +1,19 @@ +# Variables +SCRIPT_DIR := $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))") +TETRAGON_CHART := $(SCRIPT_DIR)/tetragon +HELM ?= docker run --rm -v $(TETRAGON_CHART):/apps alpine/helm:3.3.4 + +# Targets +.PHONY: all lint docs +all: deps lint docs + +deps: + $(HELM) dependency update . + +lint: + $(HELM) lint . --with-subcharts + $(HELM) template tetragon . | docker run --rm -i ghcr.io/yannh/kubeconform:v0.6.4-alpine@sha256:e68a0b638c6e9b76f1b7d58b4ec94340ef3b6601db25b2e40b29e3ac2d68e4bf --strict --schema-location default + +docs: + docker run --rm -v $(TETRAGON_CHART):/helm-docs -u $$(id -u) jnorwood/helm-docs:v1.11.0@sha256:66c8f4164dec860fa5c1528239c4aa826a12485305b7b224594b1a73f7e6879a + $(SCRIPT_DIR)/export-doc.sh $(SCRIPT_DIR)/../../docs/content/en/docs/reference/helm-chart.md diff --git a/install/kubernetes/test.sh b/install/kubernetes/test.sh deleted file mode 100755 index 6d26ca46955..00000000000 --- a/install/kubernetes/test.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -e -set -o pipefail -shopt -s expand_aliases - -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -TETRAGON_CHART="$SCRIPT_DIR/tetragon" - -alias helm='docker run --rm -v $TETRAGON_CHART:/apps alpine/helm:3.3.4' -alias kubeconform='docker run --rm -i ghcr.io/yannh/kubeconform:v0.6.4-alpine@sha256:e68a0b638c6e9b76f1b7d58b4ec94340ef3b6601db25b2e40b29e3ac2d68e4bf' -helm dependency update . -helm lint . --with-subcharts -helm template tetragon . | kubeconform --strict --schema-location default - -# Update README.md and documentation -docker run --rm -v "$TETRAGON_CHART:/helm-docs" -u "$(id -u)" jnorwood/helm-docs:v1.11.0@sha256:66c8f4164dec860fa5c1528239c4aa826a12485305b7b224594b1a73f7e6879a -"$SCRIPT_DIR/export-doc.sh" "$SCRIPT_DIR/../../docs/content/en/docs/reference/helm-chart.md"