Skip to content

Commit 5ffcec2

Browse files
author
jldec
committed
install-gh-app.sh
1 parent a486a4f commit 5ffcec2

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

components/server/install-gh-app.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
echo 'patching configmap server-config'
4+
LINE="\"githubApp\": \{\"appId\":${GH_APP_ID},\"authProviderId\":\"Public-GitHub\",\"certPath\":\"\/github-app-cert\/cert\",\"certSecretName\":\"server-github-app-cert\",\"enabled\":true,\"marketplaceName\":\"gitpod-io\",\"webhookSecret\":\"omgsecret\"}"
5+
kubectl get cm server-config -o yaml > server-config.yml
6+
perl -0777 -i.original -pe "s/\"githubApp\":.+?\}/$LINE/igs" server-config.yml
7+
kubectl apply -f server-config.yml
8+
rm server-config.yml server-config.yml.original
9+
10+
# Pasting multi-line variable values into Gitpod replaces newlines with spaces
11+
# This turns spaces back into newlines
12+
TMP=${GH_APP_KEY// RSA PRIVATE /_RSA_PRIVATE_}
13+
TMP2=${TMP// /$'\n'}
14+
GH_APP_KEY=${TMP2//_RSA_PRIVATE_/ RSA PRIVATE }
15+
16+
echo 'updating the secret'
17+
kubectl delete secret server-github-app-cert
18+
kubectl create secret generic server-github-app-cert --from-literal=cert="$GH_APP_KEY"
19+
20+
if kubectl get deployment server -o json | grep -q 'github-app-cert-secret'; then
21+
echo 'deployment already contains github-app-cert-volume. Skipping patching server deployment.'
22+
else
23+
echo 'updating server deployment'
24+
kubectl get deployment server -o json | \
25+
sed -E "s|\"volumeMounts\": \[|\"volumeMounts\": \[ {\"name\": \"github-app-cert-secret\", \"readOnly\": true, \"mountPath\": \"/github-app-cert\"},|" | \
26+
sed -E "s|\"volumes\": \[|\"volumes\": \[ {\"name\": \"github-app-cert-secret\", \"secret\": { \"secretName\": \"server-github-app-cert\"}},|" | \
27+
kubectl apply -f -
28+
fi
29+
echo 'restarting server deployment'
30+
kubectl rollout restart deployment server
31+

0 commit comments

Comments
 (0)