#!/usr/bin/env bash # # Author: Hari Sekhon # Date: 2020-08-16 18:13:02 +0100 (Sun, 16 Aug 2020) # # https://github.com/harisekhon/devops-bash-tools # # License: see accompanying LICENSE file # # https://www.linkedin.com/in/harisekhon # # https://docs.gitlab.com/ee/api/users.html#list-ssh-keys set -euo pipefail [ -n "${DEBUG:-}" ] && set -x usage(){ cat < EOF exit 3 } for arg; do case "$arg" in -*) usage ;; esac done if [ $# -gt 1 ]; then usage elif [ $# -eq 1 ]; then user="$1" elif [ -n "${GITLAB_USER:-}" ]; then user="$GITLAB_USER" elif [ -n "${USER:-}" ]; then if [[ "$USER" =~ hari|sekhon ]]; then user=harisekhon else user="$USER" fi else usage fi echo "# Fetching SSH Public Key(s) from GitLab for account: $user" >&2 echo "#" >&2 curl -sS --fail "https://gitlab.com/api/v4/users/$user/keys" | jq -r '.[].key'