From 30214a22a0d53ed49d861a1da5d610db51f3f216 Mon Sep 17 00:00:00 2001 From: Henrik Gerdes Date: Sat, 21 Dec 2024 12:46:58 +0100 Subject: [PATCH] feat: add vault snippet Signed-off-by: Henrik Gerdes --- .gitlab-ci.yml | 1 + .gitlab/ci/snippets.yml | 24 ++++++++++++++++++++++++ README.md | 1 + 3 files changed, 26 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index be80969..3da49ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -84,6 +84,7 @@ snippets: - !reference [.snippets, skopeo-install] - !reference [.snippets, cosign-install] - !reference [.snippets, talosctl-install] + - !reference [.snippets, vault-install] - !reference [.snippets, helm-install] - !reference [.snippets, packer-install] - !reference [.snippets, kind-install] diff --git a/.gitlab/ci/snippets.yml b/.gitlab/ci/snippets.yml index 22f401b..40552c3 100644 --- a/.gitlab/ci/snippets.yml +++ b/.gitlab/ci/snippets.yml @@ -41,6 +41,30 @@ chmod +x /usr/local/bin/jq fi jq --version + vault-install: + - | + # Check if vault is installed + if ! command -v vault > /dev/null; then + echo "Installing vault" + echo "You can set the desired version via VAULT_VERSION_TAG. Default is latest" + if [ "$(uname -m)" = "x86_64" ]; then + ARCH=amd64 + elif [ "$(uname -m)" = "aarch64" ]; then + ARCH=arm64 + else + echo "Unknown system arch. Default to amd64" + fi + VAULT_DEFAULT_VERSION_TAG=$(curl -sL https://api.github.com/repos/hashicorp/vault/releases/latest | jq -r .name) + VAULT_VERSION=${VAULT_VERSION_TAG-$VAULT_DEFAULT_VERSION_TAG} + # Fix version beginning with "v" + if echo "${VAULT_VERSION}" | grep -q "v"; then + VAULT_VERSION="${VAULT_VERSION:1}" + fi + curl -sL --fail --output /tmp/vault.zip https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_${ARCH-amd64}.zip + unzip -q /tmp/vault.zip -d /usr/local/bin -x "LICENSE.txt" + rm /tmp/vault.zip + fi + vault --version openssl-install: - | # Check if openssl is installed diff --git a/README.md b/README.md index b3510fc..fa599f1 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Currently supported snippets are: * az-copy-install * minikube-install * packer-install + * vault-install * argocd-cli-install * helm-install * kubeseal-install