Skip to content

Commit

Permalink
Fix CI job to publish helm chart (#52)
Browse files Browse the repository at this point in the history
Signed-off-by: Waleed Malik <[email protected]>
  • Loading branch information
ahmedwaleedmalik authored Aug 15, 2024
1 parent a7b74ef commit fdc2079
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 4 deletions.
14 changes: 11 additions & 3 deletions .prow/postsubmits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,21 @@ postsubmits:
labels:
preset-docker-push: "true"
preset-goproxy: "true"
preset-vault: "true"
spec:
containers:
- image: quay.io/kubermatic/build:go-1.23-node-20-kind-0.23-0
command:
- make
args:
- release-charts
- /bin/bash
- -c
- |
set -euo pipefail
# Calculate Git Tag.
GIT_HEAD_TAG="$(git tag -l "${PULL_BASE_REF:-}")"
RELEASE_TAG="${TAG:-$GIT_HEAD_TAG}"
make IMAGE_TAG=$RELEASE_TAG release-charts
resources:
requests:
cpu: 100m
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ bump-chart:
$(SED) -i "s/tag:.*/tag: $(IMAGE_TAG)/" charts/*/values.yaml

.PHONY: release-charts helm-docs generate-helm-docs
release-charts: helm-lint generate-helm-docs bump-chart
release-charts: bump-chart helm-lint generate-helm-docs
CHART_VERSION=$(IMAGE_TAG) ./hack/release-helm-charts.sh

.PHONY: crd-ref-docs
Expand Down
18 changes: 18 additions & 0 deletions hack/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,21 @@ containerize() {
exit $?
fi
}

vault_ci_login() {
# already logged in
if [ -n "${VAULT_TOKEN:-}" ]; then
return 0
fi

# check environment variables
if [ -z "${VAULT_ROLE_ID:-}" ] || [ -z "${VAULT_SECRET_ID:-}" ]; then
echo "VAULT_ROLE_ID and VAULT_SECRET_ID must be set to programmatically authenticate against Vault."
return 1
fi

local token
token=$(vault write --format=json auth/approle/login "role_id=$VAULT_ROLE_ID" "secret_id=$VAULT_SECRET_ID" | jq -r '.auth.client_token')

export VAULT_TOKEN="$token"
}
15 changes: 15 additions & 0 deletions hack/release-helm-charts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ set -euo pipefail
cd $(dirname $0)/..
source hack/lib.sh

## When running out of CI, it's expected that the user has already configured vault
if [ -n "$JOB_NAME" ] || [ -n "$PROW_JOB_ID" ]; then
echodate "Getting secrets from Vault"
retry 5 vault_ci_login
fi

if [ -z "$CHART_VERSION" ]; then
echo "CHART_VERSION is empty, cannot proceed"
exit 1
fi

REGISTRY_HOST="${REGISTRY_HOST:-quay.io}"
REPOSITORY_PREFIX="${REPOSITORY_PREFIX:-kubermatic/helm-charts}"

Expand All @@ -38,6 +49,10 @@ CHART_PACKAGE_MANAGER="${MANAGER}-${CHART_VERSION}.tgz"
CHART_PACKAGE_CCM="${CCM}-${CHART_VERSION}.tgz"

echodate "Packaging helm charts ${CHART_PACKAGE_MANAGER} and ${CHART_PACKAGE_CCM}"

helm dependency build charts/kubelb-manager
helm dependency build charts/kubelb-ccm

helm package charts/${MANAGER} --version ${CHART_VERSION} --destination ./
helm package charts/${CCM} --version ${CHART_VERSION} --destination ./

Expand Down

0 comments on commit fdc2079

Please sign in to comment.