From 96abd71cde4ed66223a916935ab28af1909b7ef0 Mon Sep 17 00:00:00 2001 From: makefunstuff Date: Fri, 28 Jun 2024 13:52:33 +0300 Subject: argocd password --- scripts/argocd-admin-password | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 scripts/argocd-admin-password (limited to 'scripts/argocd-admin-password') diff --git a/scripts/argocd-admin-password b/scripts/argocd-admin-password new file mode 100755 index 0000000..da85088 --- /dev/null +++ b/scripts/argocd-admin-password @@ -0,0 +1,40 @@ +#!/bin/bash + +# Ensure a secret name is provided +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +# Set the secret name +SECRET_NAME=$1 + +# Check if 1Password CLI is installed +if ! command -v op &> /dev/null; then + echo "1Password CLI (op) could not be found. Please install it first." + exit 1 +fi + +# Sign in to 1Password (ensure OP_SESSION_myaccount is set in the environment) +if [ -z "$OP_SESSION_myaccount" ]; then + eval $(op signin my) +fi + +# Retrieve the admin password from 1Password +ADMIN_PASSWORD=$(op read "op://Personal/$SECRET_NAME/password") + +if [ -z "$ADMIN_PASSWORD" ]; then + echo "Failed to retrieve the admin password from 1Password." + exit 1 +fi + +# Generate bcrypt hash of the password +HASHED_PASSWORD=$(htpasswd -nbBC 10 "" "$ADMIN_PASSWORD" | tr -d ':\n' | sed 's/$2y/$2a/') + +# Create the Kubernetes secret +kubectl create secret generic argocd-secret \ + --from-literal=admin.password=$HASHED_PASSWORD \ + -n argocd + +echo "ArgoCD admin password secret created successfully." + -- cgit 1.4.1-2-gfad0