|
122 | 122 | if [ $PRIVATE_CONTAINER_REGISTRY_USERNAME == "false" ]; then |
123 | 123 | echo "No 'username' defined for registry $PRIVATE_CONTAINER_REGISTRY"; exit 1; |
124 | 124 | fi |
| 125 | + if [ $PRIVATE_CONTAINER_REGISTRY_USERNAME != "false" ]; then |
| 126 | + # check if we have an override password defined anywhere in the api |
| 127 | + PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME="" |
| 128 | + PRIVATE_CONTAINER_REGISTRY_USERNAME_OVERRIDE_KEY="REGISTRY_${PRIVATE_CONTAINER_REGISTRY}_USERNAME" |
| 129 | + |
| 130 | + if [ ! -z "$LAGOON_PROJECT_VARIABLES" ]; then |
| 131 | + TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME=($(echo $LAGOON_PROJECT_VARIABLES | jq -r '.[] | select(.scope == "container_registry" and .name == "'$PRIVATE_CONTAINER_REGISTRY_USERNAME_OVERRIDE_KEY'") | "\(.value)"')) |
| 132 | + if [ ! -z "$TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME" ]; then |
| 133 | + PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME=$TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME |
| 134 | + PRIVATE_CONTAINER_REGISTRY_USERNAME_SOURCE="Lagoon API project variable $PRIVATE_CONTAINER_REGISTRY_USERNAME_OVERRIDE_KEY" |
| 135 | + fi |
| 136 | + fi |
| 137 | + if [ ! -z "$LAGOON_ENVIRONMENT_VARIABLES" ]; then |
| 138 | + TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME=($(echo $LAGOON_ENVIRONMENT_VARIABLES | jq -r '.[] | select(.scope == "container_registry" and .name == "'$PRIVATE_CONTAINER_REGISTRY_USERNAME_OVERRIDE_KEY'") | "\(.value)"')) |
| 139 | + if [ ! -z "$TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME" ]; then |
| 140 | + PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME=$TEMP_PRIVATE_REGISTRY_CREDENTIAL_USERNAME |
| 141 | + PRIVATE_CONTAINER_REGISTRY_USERNAME_SOURCE="Lagoon API environment variable $PRIVATE_CONTAINER_REGISTRY_USERNAME_OVERRIDE_KEY" |
| 142 | + fi |
| 143 | + fi |
| 144 | + |
| 145 | + if [ -z $PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME ]; then |
| 146 | + #if no password defined in the lagoon api, pass the one in `.lagoon.yml` as a password |
| 147 | + PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME=$PRIVATE_CONTAINER_REGISTRY_USERNAME |
| 148 | + PRIVATE_CONTAINER_REGISTRY_USERNAME_SOURCE=".lagoon.yml" |
| 149 | + fi |
| 150 | + fi |
125 | 151 | PRIVATE_CONTAINER_REGISTRY_PASSWORD=$(cat .lagoon.yml | shyaml get-value container-registries.$PRIVATE_CONTAINER_REGISTRY.password false) |
126 | 152 | if [[ $PRIVATE_CONTAINER_REGISTRY_PASSWORD == "false" ]]; then |
127 | 153 | echo "No 'password' defined for registry $PRIVATE_CONTAINER_REGISTRY"; exit 1; |
|
173 | 199 | exit 1 |
174 | 200 | fi |
175 | 201 | if [ $PRIVATE_CONTAINER_REGISTRY_URL != "false" ]; then |
176 | | - echo "Attempting to log in to $PRIVATE_CONTAINER_REGISTRY_URL with user $PRIVATE_CONTAINER_REGISTRY_USERNAME; password sourced from $PRIVATE_REGISTRY_CREDENTIAL_SOURCE" |
177 | | - docker login --username $PRIVATE_CONTAINER_REGISTRY_USERNAME --password $PRIVATE_REGISTRY_CREDENTIAL $PRIVATE_CONTAINER_REGISTRY_URL |
178 | | - kubectl create secret docker-registry "lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret" --docker-server=$PRIVATE_CONTAINER_REGISTRY_URL --docker-username=$PRIVATE_CONTAINER_REGISTRY_USERNAME --docker-password=$PRIVATE_REGISTRY_CREDENTIAL --dry-run -o yaml | kubectl apply -f - |
| 202 | + echo "Attempting to log in to $PRIVATE_CONTAINER_REGISTRY_URL with user $PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME from $PRIVATE_CONTAINER_REGISTRY_USERNAME_SOURCE" |
| 203 | + echo "Using password sourced from $PRIVATE_REGISTRY_CREDENTIAL_SOURCE" |
| 204 | + docker login --username $PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME --password $PRIVATE_REGISTRY_CREDENTIAL $PRIVATE_CONTAINER_REGISTRY_URL |
| 205 | + kubectl create secret docker-registry "lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret" --docker-server=$PRIVATE_CONTAINER_REGISTRY_URL --docker-username=$PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME --docker-password=$PRIVATE_REGISTRY_CREDENTIAL --dry-run -o yaml | kubectl apply -f - |
179 | 206 | REGISTRY_SECRETS+=("lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret") |
180 | 207 | PRIVATE_REGISTRY_URLS+=($PRIVATE_CONTAINER_REGISTRY_URL) |
181 | 208 | PRIVATE_EXTERNAL_REGISTRY=1 |
182 | 209 | let ++PRIVATE_REGISTRY_COUNTER |
183 | 210 | else |
184 | | - echo "Attempting to log in to docker hub with user $PRIVATE_CONTAINER_REGISTRY_USERNAME; password sourced from $PRIVATE_REGISTRY_CREDENTIAL_SOURCE" |
185 | | - docker login --username $PRIVATE_CONTAINER_REGISTRY_USERNAME --password $PRIVATE_REGISTRY_CREDENTIAL |
186 | | - kubectl create secret docker-registry "lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret" --docker-server="https://index.docker.io/v1/" --docker-username=$PRIVATE_CONTAINER_REGISTRY_USERNAME --docker-password=$PRIVATE_REGISTRY_CREDENTIAL --dry-run -o yaml | kubectl apply -f - |
| 211 | + echo "Attempting to log in to docker hub with user $PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME from $PRIVATE_CONTAINER_REGISTRY_USERNAME_SOURCE" |
| 212 | + echo "Using password sourced from $PRIVATE_REGISTRY_CREDENTIAL_SOURCE" |
| 213 | + docker login --username $PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME --password $PRIVATE_REGISTRY_CREDENTIAL |
| 214 | + kubectl create secret docker-registry "lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret" --docker-server="https://index.docker.io/v1/" --docker-username=$PRIVATE_CONTAINER_REGISTRY_CREDENTIAL_USERNAME --docker-password=$PRIVATE_REGISTRY_CREDENTIAL --dry-run -o yaml | kubectl apply -f - |
187 | 215 | REGISTRY_SECRETS+=("lagoon-private-registry-${PRIVATE_REGISTRY_COUNTER}-secret") |
188 | 216 | PRIVATE_REGISTRY_URLS+=("") |
189 | 217 | PRIVATE_DOCKER_HUB_REGISTRY=1 |
|
0 commit comments