From bde8b2a1e292a2d959ee848639c8cd75003c056a Mon Sep 17 00:00:00 2001 From: sadath-12 Date: Thu, 4 Jan 2024 12:06:59 +0530 Subject: [PATCH] Introduce install/kubernetes/Makefile Signed-off-by: sadath-12 --- .github/ISSUE_TEMPLATE/release_template.md | 2 +- .github/renovate.json5 | 4 +-- .github/workflows/lint-helm.yaml | 6 ++-- install/kubernetes/Makefile | 32 ++++++++++++++++++++++ install/kubernetes/test.sh | 18 ------------ 5 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 install/kubernetes/Makefile delete mode 100755 install/kubernetes/test.sh diff --git a/.github/ISSUE_TEMPLATE/release_template.md b/.github/ISSUE_TEMPLATE/release_template.md index cd7ef62152a..9e3297fd17f 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 all 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..6207efe58ab 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 all$", "^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 all"], "fileFilters": ["**/**"], "executionMode": "branch" } diff --git a/.github/workflows/lint-helm.yaml b/.github/workflows/lint-helm.yaml index 6e09163891d..1a3f907348a 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 all - 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 all' and submit your changes."; exit 1 fi diff --git a/install/kubernetes/Makefile b/install/kubernetes/Makefile new file mode 100644 index 00000000000..0fb2bfc6ad7 --- /dev/null +++ b/install/kubernetes/Makefile @@ -0,0 +1,32 @@ +# Variables +SCRIPT_DIR := $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))") +TETRAGON_CHART := $(SCRIPT_DIR)/tetragon + +# Aliases +define HELM + docker run --rm -v $(TETRAGON_CHART):/apps alpine/helm:3.3.4 +endef + +define KUBECONFORM + docker run --rm -i ghcr.io/yannh/kubeconform:v0.6.4-alpine@sha256:e68a0b638c6e9b76f1b7d58b4ec94340ef3b6601db25b2e40b29e3ac2d68e4bf +endef + +define HELM_DOCS + docker run --rm -v $(TETRAGON_CHART):/helm-docs -u $$(id -u) jnorwood/helm-docs:v1.11.0@sha256:66c8f4164dec860fa5c1528239c4aa826a12485305b7b224594b1a73f7e6879a +endef + +# Targets +.PHONY: all lint validate docs + +all: lint validate docs + +lint: + $(HELM) dependency update . + $(HELM) lint . --with-subcharts + +validate: + $(HELM) template tetragon . | $(KUBECONFORM) --strict --schema-location default + +docs: + $(HELM_DOCS) + $(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"