diff --git a/docker/build.dockerfile b/docker/build.dockerfile index 9a39bce..57bc207 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -10,12 +10,15 @@ RUN cargo build --release --bin meili_updater FROM debian:bullseye-slim RUN apt-get update \ - && apt-get install -y openssl ca-certificates \ + && apt-get install -y openssl ca-certificates curl jq \ && rm -rf /var/lib/apt/lists/* +COPY ./scripts/*.sh / +RUN chmod +x /*.sh + RUN update-ca-certificates WORKDIR /app COPY --from=builder /app/target/release/meili_updater /usr/local/bin -ENTRYPOINT ["/usr/local/bin/meili_updater"] \ No newline at end of file +ENTRYPOINT ["/start.sh"] \ No newline at end of file diff --git a/scripts/env.sh b/scripts/env.sh new file mode 100644 index 0000000..048ba2d --- /dev/null +++ b/scripts/env.sh @@ -0,0 +1,12 @@ +#! /usr/bin/env sh + +response=`curl -X 'GET' "https://$VAULT_HOST/v1/$VAULT_SECRET_PATH" -s \ + -H 'accept: application/json' \ + -H "X-Vault-Token: $VAULT_TOKEN"` + +data=`echo $response | jq -r '.data.data'` + +for key in $(echo "$data" | jq -r 'keys[]'); do + value=$(echo "$data" | jq -r ".\"$key\"") # Corrected syntax + echo "$key"="$value" +done \ No newline at end of file diff --git a/scripts/start.sh b/scripts/start.sh new file mode 100644 index 0000000..580e338 --- /dev/null +++ b/scripts/start.sh @@ -0,0 +1,5 @@ +#! /usr/bin/env sh + +export $(/env.sh) + +exec /usr/local/bin/meili_updater