Skip to content

Commit 6a78357

Browse files
build(docker): add custom entrypoint for BiblioTech and TestNetRewarder
1 parent 52f6941 commit 6a78357

File tree

4 files changed

+72
-6
lines changed

4 files changed

+72
-6
lines changed

Tools/BiblioTech/docker/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ FROM ${IMAGE} AS builder
99
ARG APP_HOME
1010

1111
WORKDIR ${APP_HOME}
12-
COPY ./Tools/BiblioTech ./Tools/BiblioTech
13-
COPY ./Framework ./Framework
14-
COPY ./ProjectPlugins ./ProjectPlugins
12+
COPY Tools/BiblioTech Tools/BiblioTech
13+
COPY Framework Framework
14+
COPY ProjectPlugins ProjectPlugins
1515
RUN dotnet restore Tools/BiblioTech
1616
RUN dotnet publish Tools/BiblioTech -c Release -o out
1717

@@ -23,4 +23,7 @@ ENV APP_HOME=${APP_HOME}
2323

2424
WORKDIR ${APP_HOME}
2525
COPY --from=builder ${APP_HOME}/out .
26+
COPY --chmod=0755 Tools/BiblioTech/docker/docker-entrypoint.sh /
27+
28+
ENTRYPOINT ["/docker-entrypoint.sh"]
2629
CMD dotnet ${APP_HOME}/BiblioTech.dll
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
3+
# Marketplace address from URL
4+
if [[ -n "${MARKETPLACE_ADDRESS_FROM_URL}" ]]; then
5+
WAIT=${MARKETPLACE_ADDRESS_FROM_URL_WAIT:-300}
6+
SECONDS=0
7+
SLEEP=1
8+
# Run and retry if fail
9+
while (( SECONDS < WAIT )); do
10+
MARKETPLACE_ADDRESS=($(curl -s -f -m 5 "${MARKETPLACE_ADDRESS_FROM_URL}"))
11+
# Check if exit code is 0 and returned value is not empty
12+
if [[ $? -eq 0 && -n "${MARKETPLACE_ADDRESS}" ]]; then
13+
export CODEXCONTRACTS_MARKETPLACEADDRESS="${MARKETPLACE_ADDRESS}"
14+
break
15+
else
16+
# Sleep and check again
17+
echo "Can't get Marketplace address from ${MARKETPLACE_ADDRESS_FROM_URL} - Retry in $SLEEP seconds / $((WAIT - SECONDS))"
18+
sleep $SLEEP
19+
fi
20+
done
21+
fi
22+
23+
# Show
24+
echo -e "\nRun parameters:"
25+
vars=$(env | grep "CODEX" | grep -v -e "[0-9]_SERVICE_" -e "[0-9]_NODEPORT_")
26+
echo -e "${vars//CODEX/ - CODEX}"
27+
echo -e " - $@\n"
28+
29+
# Run
30+
exec "$@"

Tools/TestNetRewarder/docker/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ FROM ${IMAGE} AS builder
99
ARG APP_HOME
1010

1111
WORKDIR ${APP_HOME}
12-
COPY ./Tools/TestNetRewarder ./Tools/TestNetRewarder
13-
COPY ./Framework ./Framework
14-
COPY ./ProjectPlugins ./ProjectPlugins
12+
COPY Tools/TestNetRewarder Tools/TestNetRewarder
13+
COPY Framework Framework
14+
COPY ProjectPlugins ProjectPlugins
1515
RUN dotnet restore Tools/TestNetRewarder
1616
RUN dotnet publish Tools/TestNetRewarder -c Release -o out
1717

@@ -23,4 +23,7 @@ ENV APP_HOME=${APP_HOME}
2323

2424
WORKDIR ${APP_HOME}
2525
COPY --from=builder ${APP_HOME}/out .
26+
COPY --chmod=0755 Tools/TestNetRewarder/docker/docker-entrypoint.sh /
27+
28+
ENTRYPOINT ["/docker-entrypoint.sh"]
2629
CMD dotnet ${APP_HOME}/TestNetRewarder.dll
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
3+
# Marketplace address from URL
4+
if [[ -n "${MARKETPLACE_ADDRESS_FROM_URL}" ]]; then
5+
WAIT=${MARKETPLACE_ADDRESS_FROM_URL_WAIT:-300}
6+
SECONDS=0
7+
SLEEP=1
8+
# Run and retry if fail
9+
while (( SECONDS < WAIT )); do
10+
MARKETPLACE_ADDRESS=($(curl -s -f -m 5 "${MARKETPLACE_ADDRESS_FROM_URL}"))
11+
# Check if exit code is 0 and returned value is not empty
12+
if [[ $? -eq 0 && -n "${MARKETPLACE_ADDRESS}" ]]; then
13+
export CODEXCONTRACTS_MARKETPLACEADDRESS="${MARKETPLACE_ADDRESS}"
14+
break
15+
else
16+
# Sleep and check again
17+
echo "Can't get Marketplace address from ${MARKETPLACE_ADDRESS_FROM_URL} - Retry in $SLEEP seconds / $((WAIT - SECONDS))"
18+
sleep $SLEEP
19+
fi
20+
done
21+
fi
22+
23+
# Show
24+
echo -e "\nRun parameters:"
25+
vars=$(env | grep "CODEX" | grep -v -e "[0-9]_SERVICE_" -e "[0-9]_NODEPORT_")
26+
echo -e "${vars//CODEX/ - CODEX}"
27+
echo -e " - $@\n"
28+
29+
# Run
30+
exec "$@"

0 commit comments

Comments
 (0)