fix: add curl to Dockerfile + env wrapper for crond jobs
Browse files- Dockerfile +1 -1
- entrypoint.sh +12 -2
Dockerfile
CHANGED
|
@@ -2,7 +2,7 @@ FROM eceasy/cli-proxy-api:latest
|
|
| 2 |
|
| 3 |
USER root
|
| 4 |
|
| 5 |
-
RUN apk add --no-cache bash libc6-compat gcompat jq
|
| 6 |
|
| 7 |
WORKDIR /app
|
| 8 |
RUN cp /CLIProxyAPI/CLIProxyAPI ./cli-proxy-api && chmod +x ./cli-proxy-api
|
|
|
|
| 2 |
|
| 3 |
USER root
|
| 4 |
|
| 5 |
+
RUN apk add --no-cache bash libc6-compat gcompat jq curl
|
| 6 |
|
| 7 |
WORKDIR /app
|
| 8 |
RUN cp /CLIProxyAPI/CLIProxyAPI ./cli-proxy-api && chmod +x ./cli-proxy-api
|
entrypoint.sh
CHANGED
|
@@ -15,9 +15,19 @@ CRON_OK=0
|
|
| 15 |
|
| 16 |
mkdir -p /tmp/logs /tmp/crontabs
|
| 17 |
|
| 18 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
cat > /tmp/crontabs/root << EOF
|
| 20 |
-
${CLEANUP_CRON_SCHEDULE} /
|
| 21 |
EOF
|
| 22 |
|
| 23 |
echo "[entrypoint] Cleanup schedule: ${CLEANUP_CRON_SCHEDULE}"
|
|
|
|
| 15 |
|
| 16 |
mkdir -p /tmp/logs /tmp/crontabs
|
| 17 |
|
| 18 |
+
# Create a wrapper that injects env vars before running cleanup
|
| 19 |
+
# (busybox crond does not inherit container environment)
|
| 20 |
+
cat > /tmp/run_cleanup.sh << WRAPPER
|
| 21 |
+
#!/bin/sh
|
| 22 |
+
export MANAGEMENT_PASSWORD='$(printf '%s' "$MANAGEMENT_PASSWORD" | sed "s/'/'\\\\''/g")'
|
| 23 |
+
export FEISHU_WEBHOOK_URL='$(printf '%s' "$FEISHU_WEBHOOK_URL" | sed "s/'/'\\\\''/g")'
|
| 24 |
+
export CLEANUP_CONCURRENCY='${CLEANUP_CONCURRENCY:-20}'
|
| 25 |
+
exec /app/cleanup_tokens.sh
|
| 26 |
+
WRAPPER
|
| 27 |
+
chmod +x /tmp/run_cleanup.sh
|
| 28 |
+
|
| 29 |
cat > /tmp/crontabs/root << EOF
|
| 30 |
+
${CLEANUP_CRON_SCHEDULE} /tmp/run_cleanup.sh >> /tmp/logs/cleanup.log 2>&1
|
| 31 |
EOF
|
| 32 |
|
| 33 |
echo "[entrypoint] Cleanup schedule: ${CLEANUP_CRON_SCHEDULE}"
|