Created
June 14, 2022 11:11
-
-
Save rhopp/81695d8b2db11a26ccd70f2ea541e207 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
help() | |
{ | |
# Display Help | |
echo "This script adds docker.io pull secret to your openshift instance." | |
echo | |
echo "Usage: $0 -u <dockerhub_user> -p <dockerhub_password> -n <target_namespace> -s <target_secret>" | |
echo | |
echo "Example for adding docker.io credentials to cluster pull secret:" | |
echo "$ $0 -u rhopp -p mypassword -n openshift-config -s pull-secret" | |
} | |
while getopts ":hu:p:n:s:" arg; do | |
case $arg in | |
h) | |
help | |
exit 1 | |
;; | |
u) | |
USERNAME=${OPTARG} | |
;; | |
p) | |
PASSWORD=${OPTARG} | |
;; | |
n) | |
NAMESPACE=${OPTARG} | |
;; | |
s) | |
SECRET=${OPTARG} | |
;; | |
*) | |
help | |
exit 1 | |
;; | |
esac | |
done | |
if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] || [ -z "$NAMESPACE" ] || [ -z "$SECRET" ]; then | |
help | |
exit 1 | |
fi | |
CLUSTER_URL=$(oc whoami --show-console) | |
echo "Logged in to cluster $CLUSTER_URL" | |
TEMP_DIR=$(mktemp -d /tmp/dockerhubscriptXXX) | |
oc get "secret/${SECRET}" -n "${NAMESPACE}" --template='{{index .data ".dockerconfigjson" | base64decode}}' > "$TEMP_DIR/pull_secret.yaml" | |
oc registry login --registry="docker.io" --auth-basic="${USERNAME}:${PASSWORD}" --to="$TEMP_DIR/pull_secret.yaml" | |
oc set data "secret/${SECRET}" -n "${NAMESPACE}" --from-file=.dockerconfigjson="$TEMP_DIR/pull_secret.yaml" | |
rm -rf "$TEMP_DIR" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment