Skip to content
Snippets Groups Projects
Commit dd4a62e6 authored by Maksim Nabokikh's avatar Maksim Nabokikh Committed by m.nabokikh
Browse files

Apply suggestions from code review

parent 7f744598
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,8 @@ FROM alpine:3.13.1 AS gomplate ...@@ -25,7 +25,8 @@ FROM alpine:3.13.1 AS gomplate
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH
ARG TARGETVARIANT ARG TARGETVARIANT
ARG GOMPLATE_VERSION=v3.9.0
ENV GOMPLATE_VERSION=v3.9.0
RUN wget -O /usr/local/bin/gomplate \ RUN wget -O /usr/local/bin/gomplate \
"https://github.com/hairyhenderson/gomplate/releases/download/${GOMPLATE_VERSION}/gomplate_${TARGETOS:-linux}-${TARGETARCH:-amd64}${TARGETVARIANT}" \ "https://github.com/hairyhenderson/gomplate/releases/download/${GOMPLATE_VERSION}/gomplate_${TARGETOS:-linux}-${TARGETARCH:-amd64}${TARGETVARIANT}" \
...@@ -45,7 +46,7 @@ RUN mkdir -p /var/dex ...@@ -45,7 +46,7 @@ RUN mkdir -p /var/dex
RUN chown -R 1001:1001 /var/dex RUN chown -R 1001:1001 /var/dex
RUN mkdir -p /etc/dex RUN mkdir -p /etc/dex
COPY config.docker.yaml /etc/dex/config.docker.yaml COPY config.docker.yaml /etc/dex/
RUN chown -R 1001:1001 /etc/dex RUN chown -R 1001:1001 /etc/dex
# Copy module files for CVE scanning / dependency analysis. # Copy module files for CVE scanning / dependency analysis.
...@@ -63,7 +64,7 @@ COPY --from=builder /usr/local/src/dex/web /web ...@@ -63,7 +64,7 @@ COPY --from=builder /usr/local/src/dex/web /web
USER 1001:1001 USER 1001:1001
COPY docker-entrypoint.sh / COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]
CMD ["serve", "/etc/dex/config.docker.yaml"] CMD ["dex", "serve", "/etc/dex/config.docker.yaml"]
#!/bin/sh -e #!/bin/sh -e
### Usage: /docker-entrypoint.sh <command> <args> ### Usage: /docker-entrypoint.sh <command> <args>
### * If command equals to "serve", config file for serving will be preprocessed using gomplate and saved to tmp dir. function main() {
### Example: docker-entrypoint.sh serve config.yaml = dex serve /tmp/dex-config.yaml-ABCDEFG executable=$1
### * If command is not in the list of known dex commands, it will be executed bypassing entrypoint. command=$2
### Example: docker-entrypoint.sh echo "Hello!" = echo "Hello!"
command=$1 if [[ "$executable" != "dex" ]] && [[ "$executable" != "$(which dex)" ]]; then
exec $@
case "$command" in fi
serve)
for file_candidate in $@ ; do
if test -f "$file_candidate"; then
tmpfile=$(mktemp /tmp/dex.config.yaml-XXXXXX)
gomplate -f "$file_candidate" -o "$tmpfile"
args="${args} ${tmpfile}" if [[ "$command" != "serve" ]]; then
else
args="${args} ${file_candidate}"
fi
done
exec dex $args
;;
--help|-h|version)
exec dex $@
;;
*)
exec $@ exec $@
;; fi
esac
for tpl_candidate in $@ ; do
case "$tpl_candidate" in
*.tpl|*.tmpl|*.yaml)
tmp_file=$(mktemp /tmp/dex.config.yaml-XXXXXX)
gomplate -f "$tpl_candidate" -o "$tmp_file"
args="${args} ${tmp_file}"
;;
*)
args="${args} ${tpl_candidate}"
;;
esac
done
exec $args
}
main $@
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment