Skip to content

Commit 645274c

Browse files
authored
Merge pull request #125 from codecov/ElioDiNino/api-admin
feat: API admin endpoint options
2 parents 8cd0b4e + 41deb4c commit 645274c

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ COPY --chown=haproxy:haproxy --chmod=644 config/3-ssl.conf /etc/haproxy/3-ssl.co
99
COPY --chown=haproxy:haproxy --chmod=644 config/1-backends.conf /etc/haproxy/1-backends.conf.template
1010
COPY --chown=haproxy:haproxy --chmod=644 config/1-minio.conf /etc/haproxy/1-minio.conf.template
1111
COPY --chown=haproxy:haproxy --chmod=644 config/2-http.conf /etc/haproxy/2-http.conf.template
12-
COPY --chown=haproxy:haproxy --chmod=644 config/codecov.map /etc/haproxy/codecov.map
12+
COPY --chown=haproxy:haproxy --chmod=644 config/codecov.map /etc/haproxy/codecov.map.template
1313
COPY --chown=haproxy:haproxy --chmod=644 config/proxy.map /etc/haproxy/proxy.map
1414
COPY --chown=haproxy:haproxy --chmod=644 config/minio.map /etc/haproxy/minio.map
1515
ENV CODECOV_API_HOST=api
1616
ENV CODECOV_API_PORT=8000
1717
ENV CODECOV_API_SCHEME=http
1818
ENV CODECOV_API_HOST_HEADER="%[req.hdr(Host)]"
19+
ENV CODECOV_API_ADMIN_ENABLED=false
20+
ENV CODECOV_API_ADMIN_PATH=admin
1921
ENV CODECOV_IA_HOST=api
2022
ENV CODECOV_IA_PORT=8000
2123
ENV CODECOV_IA_SCHEME=http

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ CODECOV_API_HOST=api # This is the host to access the codecov api
1616
CODECOV_API_PORT=8000 # The port to access the codecov api
1717
CODECOV_API_SCHEME=http # The scheme on which to access the codecov api. http or https
1818
CODECOV_API_HOST_HEADER="%[req.hdr(Host)]" # The host to send as the host header. Default passes through host. Useful to set for local envs.
19+
CODECOV_API_ADMIN_ENABLED=false # Enable/disable the admin endpoint proxy
20+
CODECOV_API_ADMIN_PATH=admin # The path for api's admin interface
1921
CODECOV_IA_HOST=api
2022
CODECOV_IA_PORT=8000
2123
CODECOV_IA_SCHEME=http

config/codecov.map

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
^/validate(\/)?$ be_api
33
^/static(\/.*)?$ be_api
44
^/internal(\/.*)?$ be_api
5+
${API_ADMIN_PATH_PREFIX}^/${CODECOV_API_ADMIN_PATH}(\/.*)?$ be_api
56
^/graphql(\/.*)?$ be_api
67
^/webhooks(\/.*)?$ be_api
78
^/frontend_health$ be_default

entrypoint.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ _start_haproxy() {
9191
fi
9292
BACKENDS="-f /etc/haproxy/1-backends.conf"
9393
envsubst < /etc/haproxy/1-backends.conf.template > /etc/haproxy/1-backends.conf
94+
if [ "$CODECOV_API_ADMIN_ENABLED" = "true" ]; then
95+
echo 'Codecov api admin endpoint proxy enabled'
96+
else
97+
echo 'Codecov api admin endpoint proxy disabled'
98+
export API_ADMIN_PATH_PREFIX="# (disabled) "
99+
fi
100+
envsubst < /etc/haproxy/codecov.map.template > /etc/haproxy/codecov.map
94101
MINIO_FILE=""
95102
if [ "$CODECOV_GATEWAY_MINIO_ENABLED" ] && [ "$routing_map" != "proxy" ]; then
96103
echo 'Codecov gateway minio enabled'
@@ -112,4 +119,3 @@ then
112119
else
113120
exec "$@"
114121
fi
115-

0 commit comments

Comments
 (0)