summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-12 13:40:49 -0600
committermo khan <mo@mokhan.ca>2025-05-12 13:40:49 -0600
commit4bd72e131c7db3093c7bd4236a5d2319462fcbad (patch)
tree677e48ca90cefa3da7c71cd568341a67d09d4c16
parent251539d40e89b3bc91dea14ed6afb311788962df (diff)
chore: mimic how services are run between docker and host machine
-rw-r--r--Dockerfile17
-rwxr-xr-xbin/envoy.sh8
-rwxr-xr-xbin/init.sh3
-rw-r--r--etc/envoy/envoy.yaml (renamed from etc/envoy/envoy.yml)0
4 files changed, 17 insertions, 11 deletions
diff --git a/Dockerfile b/Dockerfile
index a67eedf..0062786 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,12 +8,11 @@ RUN go build -o /bin/sparkled ./cmd/sparkled/main.go
FROM envoyproxy/envoy:v1.34-latest
ENV BIND_ADDR=":8080"
EXPOSE 8080 9901 10000
-WORKDIR /var/www/
-COPY --from=build /bin/sparkled /usr/local/bin/sparkled
-COPY --from=build /app/public /var/www/public
-COPY etc/envoy/envoy.yml /etc/envoy/envoy.yaml
-COPY bin/envoy.sh /usr/local/bin/envoy.sh
-COPY bin/init.sh /usr/local/bin/init.sh
-RUN chmod +x /usr/local/bin/envoy.sh
-RUN chmod +x /usr/local/bin/init.sh
-CMD ["/usr/local/bin/init.sh"]
+WORKDIR /opt/sparkle/
+RUN mkdir -p bin etc public
+COPY --from=build /bin/sparkled bin/sparkled
+COPY --from=build /app/public public
+COPY etc/ etc
+COPY bin/*.sh bin/
+RUN chmod +x bin/*.sh
+CMD ["/opt/sparkle/bin/init.sh"]
diff --git a/bin/envoy.sh b/bin/envoy.sh
index a123c62..8690bd1 100755
--- a/bin/envoy.sh
+++ b/bin/envoy.sh
@@ -2,10 +2,11 @@
set -e
[ -n "$DEBUG" ] && set -x
+cd "$(dirname "$0")/.."
oidc_scheme=$(echo "$OIDC_ISSUER" | awk -F[/:] '{print $1}')
oidc_host=$(echo "$OIDC_ISSUER" | awk -F[/:] '{print $4}')
-yaml=$(sed -e "s/OAUTH_CLIENT_ID/$OAUTH_CLIENT_ID/" /etc/envoy/envoy.yaml)
+yaml=$(sed -e "s/OAUTH_CLIENT_ID/$OAUTH_CLIENT_ID/" etc/envoy/envoy.yaml)
yaml=$(echo "$yaml" | sed -e "s,https://example.com,$OIDC_ISSUER,")
yaml=$(echo "$yaml" | sed -e "s/example.com/$oidc_host/")
@@ -26,6 +27,11 @@ if [ -z "$HMAC_SESSION_SECRET" ]; then
export HMAC_SESSION_SECRET="$OAUTH_CLIENT_SECRET"
fi
+if ! command -v envoy; then
+ echo "envoy could not be found"
+ exit 1
+fi
+
echo "[$(date "+%H:%M:%S")] ==> Starting…"
envoy \
--config-yaml "$yaml" \
diff --git a/bin/init.sh b/bin/init.sh
index 105c85a..6daf261 100755
--- a/bin/init.sh
+++ b/bin/init.sh
@@ -4,5 +4,6 @@ set -e
[ -n "$DEBUG" ] && set -x
+cd "$(dirname "$0")/.."
echo "[$(date "+%H:%M:%S")] ==> Starting…"
-/usr/local/bin/sparkled & /usr/local/bin/envoy.sh
+./bin/sparkled & ./bin/envoy.sh
diff --git a/etc/envoy/envoy.yml b/etc/envoy/envoy.yaml
index 3c8df3a..3c8df3a 100644
--- a/etc/envoy/envoy.yml
+++ b/etc/envoy/envoy.yaml