Skip to content

Commit 5c61fee

Browse files
committed
WIP
1 parent 024e8fe commit 5c61fee

File tree

4 files changed

+42
-20
lines changed

4 files changed

+42
-20
lines changed

configuration/Dockerfile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM postgres:14-bookworm
33
ARG MINA_BRANCH=develop
44
ARG MINA_REPO=https://nightly.apt.packages.minaprotocol.com
55
ARG MINA_ACCOUNTS_MANAGER_VERSION=0.1.1
6-
ARG ARCHIVE_NODE_API_VERSION=0.0.1
6+
ARG ARCHIVE_NODE_API_VERSION=0.0.4
77
ARG MINA_PROFILE=devnet
88
# Extra profile like lightnet
99
ARG MINA_EXTRA_PROFILE
@@ -59,10 +59,13 @@ RUN wget -q ${MINA_REPO}/repo-signing-key.gpg -O /etc/apt/trusted.gpg.d/minaprot
5959
# that will not be valid for other networks
6060
RUN rm -f /var/lib/coda/config_*.json
6161

62-
# install Archive Node API
63-
ARG ARCHIVE_NODE_API_TARBALL_URL="https://europe-southwest1-npm.pkg.dev/o1labs-192920/euro-npm/archive-node-graphql/-/archive-node-graphql-${ARCHIVE_NODE_API_VERSION}.tgz"
64-
65-
RUN npm install -g "${ARCHIVE_NODE_API_TARBALL_URL}"
62+
# install Archive Node API from Google Artifact Registry
63+
# Create temporary .npmrc to use custom registry only for fetching the package itself
64+
# while dependencies are fetched from default npm registry
65+
RUN echo "fetch-retry-mintimeout=20000" > /root/.npmrc && \
66+
echo "fetch-retry-maxtimeout=120000" >> /root/.npmrc && \
67+
npm install -g "https://europe-southwest1-npm.pkg.dev/o1labs-192920/euro-npm/archive-node-graphql/-/archive-node-graphql-${ARCHIVE_NODE_API_VERSION}.tgz" && \
68+
rm -f /root/.npmrc
6669

6770
# install Mina Accounts Manager
6871
RUN wget https://github.com/shimkiv/mina-accounts-manager/releases/download/v${MINA_ACCOUNTS_MANAGER_VERSION}/accounts-manager-${TARGETARCH} \

scripts/build-all.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55

66
# Parse command line arguments
77
ARCHS="amd64"
8-
ARCHIVE_NODE_API_VERSION="1.0.0"
8+
ARCHIVE_NODE_API_VERSION="0.0.2"
99
DOCKER_IMAGE_BUILDING_SCRIPTS_REPO_DIR="./"
1010
MINA_ACCOUNTS_MANAGER_VERSION="0.1.1"
1111
DOCKER_HUB_USER_NAME=""

scripts/build-image.sh

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -euo pipefail
66
ARCHS=""
77
MINA_RELEASE="stable"
88
MINA_BRANCH=""
9-
ARCHIVE_NODE_API_VERSION="1.0.0"
9+
ARCHIVE_NODE_API_VERSION="0.0.2"
1010
PROOF_LEVEL="full"
1111
DOCKER_HUB_USER_NAME=""
1212
DOCKER_HUB_IMAGE_TAG=""
@@ -183,17 +183,6 @@ echo ""
183183
docker rmi -f ${DOCKER_HUB_USER_NAME}/mina-local-network:${DOCKER_HUB_IMAGE_TAG} || true
184184
docker rmi -f mina-local-network || true
185185

186-
if [[ $PUSH -eq 1 ]]; then
187-
echo ""
188-
echo "Publishing the Docker image..."
189-
PUSH_FLAG="--push"
190-
else
191-
echo ""
192-
echo "Skipping the Docker image publishing step as requested."
193-
echo ""
194-
PUSH_FLAG="--load"
195-
fi
196-
197186
EXTRA_PROFILE_ARG=""
198187
if [[ -n "$MINA_EXTRA_PROFILE" ]]; then
199188
EXTRA_PROFILE_ARG="--build-arg=MINA_EXTRA_PROFILE=${MINA_EXTRA_PROFILE}"
@@ -204,7 +193,37 @@ if [[ $NO_CACHE -eq 1 ]]; then
204193
NO_CACHE_ARG="--no-cache"
205194
fi
206195

207-
docker buildx build --platform ${PLATFORMS} ${PUSH_FLAG} ${NO_CACHE_ARG} -t ${DOCKER_HUB_USER_NAME}/mina-local-network:${DOCKER_HUB_IMAGE_TAG} --build-arg="MINA_PROFILE=${MINA_PROFILE}" --build-arg="MINA_REPO=${MINA_REPO}" --build-arg="MINA_BRANCH=${MINA_BRANCH}" --build-arg="ARCHIVE_NODE_API_TAG=${ARCHIVE_NODE_API_VERSION}" --build-arg="MINA_ACCOUNTS_MANAGER_VERSION=${ACCOUNTS_MANAGER_VERSION}" --build-arg="PROOF_LEVEL=${PROOF_LEVEL}" ${EXTRA_PROFILE_ARG} . -f configuration/Dockerfile
196+
if [[ $PUSH -eq 1 ]]; then
197+
echo ""
198+
echo "Publishing the Docker image..."
199+
echo ""
200+
docker buildx build --platform ${PLATFORMS} --push ${NO_CACHE_ARG} -t ${DOCKER_HUB_USER_NAME}/mina-local-network:${DOCKER_HUB_IMAGE_TAG} --build-arg="MINA_PROFILE=${MINA_PROFILE}" --build-arg="MINA_REPO=${MINA_REPO}" --build-arg="MINA_BRANCH=${MINA_BRANCH}" --build-arg="ARCHIVE_NODE_API_TAG=${ARCHIVE_NODE_API_VERSION}" --build-arg="MINA_ACCOUNTS_MANAGER_VERSION=${ACCOUNTS_MANAGER_VERSION}" --build-arg="PROOF_LEVEL=${PROOF_LEVEL}" ${EXTRA_PROFILE_ARG} . -f configuration/Dockerfile
201+
else
202+
echo ""
203+
echo "Skipping the Docker image publishing step as requested."
204+
echo ""
205+
206+
# Detect current architecture
207+
CURRENT_ARCH=$(uname -m)
208+
case "$CURRENT_ARCH" in
209+
x86_64)
210+
DETECTED_ARCH="amd64"
211+
;;
212+
aarch64|arm64)
213+
DETECTED_ARCH="arm64"
214+
;;
215+
*)
216+
echo "Warning: Unknown architecture $CURRENT_ARCH, defaulting to amd64"
217+
DETECTED_ARCH="amd64"
218+
;;
219+
esac
220+
221+
echo "Detected architecture: $DETECTED_ARCH (system: $CURRENT_ARCH)"
222+
echo "Building only for current architecture to enable local loading..."
223+
echo ""
224+
225+
docker buildx build --platform linux/${DETECTED_ARCH} --load ${NO_CACHE_ARG} -t ${DOCKER_HUB_USER_NAME}/mina-local-network:${DOCKER_HUB_IMAGE_TAG} --build-arg="MINA_PROFILE=${MINA_PROFILE}" --build-arg="MINA_REPO=${MINA_REPO}" --build-arg="MINA_BRANCH=${MINA_BRANCH}" --build-arg="ARCHIVE_NODE_API_TAG=${ARCHIVE_NODE_API_VERSION}" --build-arg="MINA_ACCOUNTS_MANAGER_VERSION=${ACCOUNTS_MANAGER_VERSION}" --build-arg="PROOF_LEVEL=${PROOF_LEVEL}" ${EXTRA_PROFILE_ARG} . -f configuration/Dockerfile
226+
fi
208227

209228
END=$(date +%s)
210229
RUNTIME=$((END-START))

scripts/spinup-testnet.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ start-archive-node-api() {
5353
echo "Starting the Archive-Node-API service..."
5454
echo "Archive-Node-API log file: ${ARCHIVE_NODE_API_LOG_FILE_PATH}"
5555
echo ""
56-
PORT=${ARCHIVE_NODE_API_PORT} PG_CONN="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@127.0.0.1:${RDBMS_PORT}/${POSTGRES_DB}" npm start archive-node-graphql >${ARCHIVE_NODE_API_LOG_FILE_PATH} 2>&1 &
56+
cd /usr/lib/node_modules/archive-node-graphql && PORT=${ARCHIVE_NODE_API_PORT} PG_CONN="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@127.0.0.1:${RDBMS_PORT}/${POSTGRES_DB}" npm start >${ARCHIVE_NODE_API_LOG_FILE_PATH} 2>&1 &
5757
wait-for-service ${ARCHIVE_NODE_API_PORT}
5858
echo ""
5959
}

0 commit comments

Comments
 (0)