#!/bin/bash
if [ "$#" -lt 3 ]; then
echo "How to use: $0 <username> <password> <k8s-namespace> <registry: optional>"
echo "Example: $0 myuser mypass default https://index.docker.io/v1/"
exit 1
fi
USERNAME="$1"
PASSWORD="$2"
NAMESPACE="$3"
REGISTRY="${4:-https://index.docker.io/v1/}"
OUTPUT_FILE="./config.json"
AUTH=$(echo -n "$USERNAME:$PASSWORD" | base64 | tr -d '\n')
cat > "$OUTPUT_FILE" <<EOF
{
"auths": {
"$REGISTRY": {
"auth": "$AUTH"
}
}
}
EOF
echo "Docker config.json already generate: $OUTPUT_FILE"
kubectl -n $NAMESPACE create secret generic image-repo-secret --from-file=.dockerconfigjson=$OUTPUT_FILE --from-file=config.json=$OUTPUT_FILE --type=kubernetes.io/dockerconfigjson
rm "$OUTPUT_FILE"