Skip to content

Commit 49cc5ee

Browse files
author
Ubuntu
committed
Add Key Vault secret support
1 parent 6ed426f commit 49cc5ee

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,20 @@ az group create -n hackbox -l westus
2525
az identity create -n hackbox -g hackbox
2626
PRINCIPAL_ID=`az identity show -n hackbox -g hackbox --query principalId -o tsv`
2727
az role assignment create --role Contributor --assignee $PRINCIPAL_ID
28+
az keyvault secret create -n noelhackbox -g hackbox
29+
az keyvault set-policy -n noelhackbox --object-id $PRINCIPAL_ID --secret-permissions 'get'
30+
az keyvault secret set --vault-name noelhackbox -n foo --value bar
31+
az keyvault secret set --vault-name noelhackbox -n baz --value secret
2832

2933
# Create an Azure Container Instance
3034
SSHPUBLIC=`cat ~/.ssh/id_rsa.pub`
3135
REPO_URL=https://github.com/noelbundick/python-hackbox.git
3236
REPO_BRANCH=master
3337
IDENTITY_ID=`az identity show -n hackbox -g hackbox --query id -o tsv`
38+
KEY_VAULT=noelhackbox
39+
KEY_VAULT_SECRETS="foo:foo.txt,bar:my_bar.txt"
3440

35-
az container create -g hackbox -n hackbox --image acanthamoeba/hackbox:latest -e "REPO_URL=$REPO_URL" "REPO_BRANCH=$REPO_BRANCH" "SSH_PUBLIC_KEY=$SSHPUBLIC" --ports 22 --dns-name-label noelhackbox --cpu 2 --memory 2 --assign-identity $IDENTITY_ID
41+
az container create -g hackbox -n hackbox --image acanthamoeba/hackbox:latest -e "REPO_URL=$REPO_URL" "REPO_BRANCH=$REPO_BRANCH" "SSH_PUBLIC_KEY=$SSHPUBLIC" "KEY_VAULT=$KEY_VAULT" "KEY_VAULT_SECRETS=$KEY_VAULT_SECRETS" --ports 22 --dns-name-label noelhackbox --cpu 2 --memory 2 --assign-identity $IDENTITY_ID
3642
```
3743

3844
In Visual Studio Code:

startup.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
set -euo pipefail
33

4+
# Set authorized keys
45
mkdir -p ~/.ssh
56
echo $SSH_PUBLIC_KEY >> ~/.ssh/authorized_keys
67

@@ -9,5 +10,15 @@ git init
910
git remote add origin $REPO_URL
1011
git pull origin $REPO_BRANCH
1112

13+
# Pull secrets
14+
if [[ ! -z $KEY_VAULT ]]; then
15+
IFS=',' read -a secrets <<< "${KEY_VAULT_SECRETS}"
16+
for secret in "${secrets[@]}"
17+
do
18+
IFS=':' read -a parts <<< "${secret}"
19+
az keyvault secret download --vault-name $KEY_VAULT -n ${parts[0]} -f ${parts[1]}
20+
done
21+
fi
22+
1223
# Start sshd
1324
/usr/sbin/sshd -D

0 commit comments

Comments
 (0)