Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion registry/DeploymentTemplates/azuredeploy.json
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@
"osProfile": {
"computerName": "[concat(variables('rgname'),'-vm')]",
"adminUsername": "[parameters('adminUsername')]",
"customData": "[base64(concat('#cloud-config\n\nwrite_files:\n- path: \"/opt/azure/registry/script.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n 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'))]",
"customData": "[base64(concat('#cloud-config\n\nwrite_files:\n- path: \"/opt/azure/registry/script.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n 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'))]",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"ssh": {
Expand Down
8 changes: 5 additions & 3 deletions registry/Scripts/pre-reqs.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ $pfxSecret = ""
$pfxPath = ""
$pfxPass = ""
$spnName = ""
$userName = ""
$userPass = ""


# RESOURCE GROUP
Expand Down Expand Up @@ -68,6 +70,6 @@ $tp = Get-PfxCertificate -FilePath $pfxPath
Write-Host "=> Certificate URL:" $kvSecret.Id
Write-Host "=> Certificate thumbprint:" $tp.Thumbprint

# Write-Host "Storing secret for sample user: admin"
# $userSecret = ConvertTo-SecureString -String "admin" -AsPlainText -Force
# Set-AzureKeyVaultSecret -VaultName $kvName -Name "admin" -SecretValue $userSecret | out-null
Write-Host "Storing secret for sample user: $userName"
$userSecret = ConvertTo-SecureString -String $userPass -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName $kvName -Name $userName -SecretValue $userSecret -ContentType "user credentials" | out-null
11 changes: 11 additions & 0 deletions registry/Scripts/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
ERR_APT_INSTALL_TIMEOUT=9 # Timeout installing required apt packages
ERR_MISSING_CRT_FILE=10 # Bad cert thumbprint OR pfx not in key vault OR template misconfigured VM secrets section
ERR_MISSING_KEY_FILE=11 # Bad cert thumbprint OR pfx not in key vault OR template misconfigured VM secrets section
ERR_MISSING_USER_CREDENTIALS=12 # No user credentials secret found on given key vault
ERR_REGISTRY_NOT_RUNNING=13 # The container registry failed to start successfully
ERR_MOBY_APT_LIST_TIMEOUT=25 # Timeout waiting for moby apt sources
ERR_MS_GPG_KEY_DOWNLOAD_TIMEOUT=26 # Timeout waiting for MS GPG key download
Expand Down Expand Up @@ -126,6 +127,11 @@ fetchCredentials() {
"${secret}?api-version=2016-10-01" -H "Authorization: Bearer ${TOKEN}" | jq -r .value)
htpasswd -Bb .htpasswd ${SECRET_NAME} ${SECRET_VALUE}
done

if [ ! -s .htpasswd ]; then
Comment thread
rjaini marked this conversation as resolved.
echo ".htpasswd file is empty."
return $ERR_MISSING_USER_CREDENTIALS
fi
}
fetchStorageKeys() {
RESOURCE=$(jq -r .authentication.audiences[0] ${ENDPOINTS})
Expand Down Expand Up @@ -205,6 +211,11 @@ echo fetching user credentials
HTPASSWD_DIR="/root/auth"
mkdir -p $HTPASSWD_DIR
fetchCredentials
returnCode=$?

@rjaini rjaini Sep 12, 2019

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jadarsie Updated the code a bit here again as non zero return code was not failing the deployment. Above changes will address both cases (current failure and any future non zero error code). Let me know if you feel otherwise.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, I missed it, it should be exit $ERR_MISSING_USER_CREDENTIALS in line 133

if [[ $returnCode != 0 ]]; then
exit $returnCode
fi

cp .htpasswd $HTPASSWD_DIR/.htpasswd

echo starting registry container
Expand Down
2 changes: 1 addition & 1 deletion registry/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://gallery.azure.com/schemas/2015-10-01/manifest.json#",
"name": "AzureStackDockerContainerRegistry",
"publisher": "Microsoft",
"version": "0.1.3",
"version": "0.1.4",
"displayName": "ms-resource:displayName",
"publisherDisplayName": "ms-resource:publisherDisplayName",
"publisherLegalName": "ms-resource:publisherDisplayName",
Expand Down