Skip to content

Commit abb4d33

Browse files
authored
Merge pull request #791 from input-output-hk/feat/background-process-and-isolated-data
Feat/ Background process + Hasura 2
2 parents 494b2e2 + 90b4342 commit abb4d33

File tree

91 files changed

+6694
-2151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+6694
-2151
lines changed

Dockerfile

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ FROM frolvlad/alpine-glibc:alpine-3.11_glibc-2.30 as downloader
3636
RUN apk add curl
3737
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | sh
3838
ENV HASURA_GRAPHQL_ENABLE_TELEMETRY=false
39-
RUN hasura --skip-update-check update-cli --version v1.3.3
39+
RUN hasura --skip-update-check update-cli --version v2.15.0
4040
RUN hasura --skip-update-check plugins install cli-ext
4141

4242
FROM nodejs-builder as dev
@@ -57,7 +57,7 @@ ENV \
5757
POSTGRES_USER_FILE=/run/secrets/postgres_user
5858
WORKDIR /src
5959

60-
FROM ubuntu-nodejs as server
60+
FROM ubuntu-nodejs as background
6161
ARG NETWORK=mainnet
6262
ARG METADATA_SERVER_URI="https://tokens.cardano.org"
6363
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\
@@ -66,13 +66,10 @@ RUN curl --proto '=https' --tlsv1.2 -sSf -L https://www.postgresql.org/media/key
6666
ca-certificates
6767
COPY --from=downloader /usr/local/bin/hasura /usr/local/bin/hasura
6868
ENV \
69-
CARDANO_NODE_CONFIG_PATH=/config/cardano-node/config.json \
7069
HASURA_CLI_PATH=/usr/local/bin/hasura \
71-
HASURA_GRAPHQL_ENABLE_TELEMETRY=false \
7270
HASURA_URI="http://hasura:8080" \
7371
LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" \
7472
METADATA_SERVER_URI=${METADATA_SERVER_URI} \
75-
NETWORK=${NETWORK} \
7673
OGMIOS_HOST="cardano-node-ogmios" \
7774
POSTGRES_DB_FILE=/run/secrets/postgres_db \
7875
POSTGRES_HOST=postgres \
@@ -83,6 +80,26 @@ COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/dist /ap
8380
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/hasura/project /app/packages/api-cardano-db-hasura/hasura/project
8481
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/package.json /app/packages/api-cardano-db-hasura/package.json
8582
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/schema.graphql /app/packages/api-cardano-db-hasura/schema.graphql
83+
COPY --from=cardano-graphql-builder /app/packages/util/dist /app/packages/util/dist
84+
COPY --from=cardano-graphql-builder /app/packages/util/package.json /app/packages/util/package.json
85+
COPY --from=cardano-graphql-production-deps /app/node_modules /app/node_modules
86+
COPY --from=cardano-graphql-production-deps /app/packages/api-cardano-db-hasura/node_modules /app/packages/api-cardano-db-hasura/node_modules
87+
WORKDIR /app/packages/api-cardano-db-hasura/dist
88+
CMD ["node", "background.js"]
89+
90+
FROM ubuntu-nodejs as server
91+
ARG NETWORK=mainnet
92+
ENV \
93+
CARDANO_NODE_CONFIG_PATH=/config/cardano-node/config.json \
94+
HASURA_GRAPHQL_ENABLE_TELEMETRY=false \
95+
HASURA_URI="http://hasura:8080" \
96+
LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" \
97+
NETWORK=${NETWORK} \
98+
OGMIOS_HOST="cardano-node-ogmios"
99+
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/dist /app/packages/api-cardano-db-hasura/dist
100+
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/hasura/project /app/packages/api-cardano-db-hasura/hasura/project
101+
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/package.json /app/packages/api-cardano-db-hasura/package.json
102+
COPY --from=cardano-graphql-builder /app/packages/api-cardano-db-hasura/schema.graphql /app/packages/api-cardano-db-hasura/schema.graphql
86103
COPY --from=cardano-graphql-builder /app/packages/server/dist /app/packages/server/dist
87104
COPY --from=cardano-graphql-builder /app/packages/server/package.json /app/packages/server/package.json
88105
COPY --from=cardano-graphql-builder /app/packages/util/dist /app/packages/util/dist

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ your use-case.
114114
Get the most recent weekly snapshot link [here](https://update-cardano-mainnet.iohk.io/cardano-db-sync/index.html#11/), and set it as `RESTORE_SNAPSHOT` below, or omit if you wish to sync from genesis.
115115
``` console
116116
export NETWORK=mainnet &&\
117-
docker pull inputoutput/cardano-graphql:7.0.2-${NETWORK} &&\
117+
docker pull inputoutput/cardano-graphql-server:7.0.2-${NETWORK} &&\
118+
docker pull inputoutput/cardano-graphql-background:7.0.2-${NETWORK} &&\
118119
docker pull inputoutput/cardano-graphql-hasura:7.0.2 &&\
119120
docker pull cardanosolutions/cardano-node-ogmios:v5.5.8_1.35.5-${NETWORK} &&\
120121
RESTORE_SNAPSHOT=https://update-cardano-mainnet.iohk.io/cardano-db-sync/13/db-sync-snapshot-schema-13-block-8291499-x86_64.tgz \
@@ -128,7 +129,8 @@ docker compose logs -f
128129

129130
``` console
130131
export NETWORK=preprod &&\
131-
docker pull inputoutput/cardano-graphql:7.0.2-${NETWORK} &&\
132+
docker pull inputoutput/cardano-graphql-server:7.0.2-${NETWORK} &&\
133+
docker pull inputoutput/cardano-graphql-background:7.0.2-${NETWORK} &&\
132134
docker pull inputoutput/cardano-graphql-hasura:7.0.2 &&\
133135
docker pull cardanosolutions/cardano-node-ogmios:v5.5.8_1.35.5-${NETWORK} &&\
134136
API_PORT=3101 \
@@ -146,7 +148,8 @@ docker compose -p ${NETWORK} logs -f
146148

147149
``` console
148150
export NETWORK=preview &&\
149-
docker pull inputoutput/cardano-graphql:7.0.2-${NETWORK} &&\
151+
docker pull inputoutput/cardano-graphql-server:7.0.2-${NETWORK} &&\
152+
docker pull inputoutput/cardano-graphql-background:7.0.2-${NETWORK} &&\
150153
docker pull inputoutput/cardano-graphql-hasura:7.0.2 &&\
151154
docker pull cardanosolutions/cardano-node-ogmios:v5.5.8_1.35.5-${NETWORK} &&\
152155
API_PORT=3102 \

docker-compose.yml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,37 @@ services:
9898
max-size: "200k"
9999
max-file: "10"
100100

101-
cardano-graphql:
101+
background:
102+
build:
103+
cache_from: [ inputoutput/cardano-graphql-background:latest ]
104+
context: .
105+
target: background
106+
image: inputoutput/cardano-graphql-background:${CARDANO_GRAPHQL_VERSION:-7.0.2}-${NETWORK:-mainnet}
107+
depends_on:
108+
- "hasura"
109+
- "postgres"
110+
environment:
111+
- LOGGER_MIN_SEVERITY=${LOGGER_MIN_SEVERITY:-info}
112+
- METADATA_SERVER_URI=${METADATA_SERVER_URI:-https://tokens.cardano.org}
113+
restart: on-failure
114+
secrets:
115+
- postgres_db
116+
- postgres_password
117+
- postgres_user
118+
logging:
119+
driver: "json-file"
120+
options:
121+
max-size: "200k"
122+
max-file: "10"
123+
124+
server:
102125
build:
103126
args:
104127
- NETWORK=${NETWORK:-mainnet}
105-
- METADATA_SERVER_URI=${METADATA_SERVER_URI:-https://tokens.cardano.org}
106-
cache_from: [ inputoutput/cardano-graphql:latest ]
128+
cache_from: [ inputoutput/cardano-graphql-server:latest ]
107129
context: .
108130
target: server
109-
image: inputoutput/cardano-graphql:${CARDANO_GRAPHQL_VERSION:-7.0.2}-${NETWORK:-mainnet}
131+
image: inputoutput/cardano-graphql-server:${CARDANO_GRAPHQL_VERSION:-7.0.2}-${NETWORK:-mainnet}
110132
environment:
111133
- ALLOW_INTROSPECTION=true
112134
- CACHE_ENABLED=true
@@ -116,10 +138,6 @@ services:
116138
ports:
117139
- ${API_PORT:-3100}:3100
118140
restart: on-failure
119-
secrets:
120-
- postgres_db
121-
- postgres_password
122-
- postgres_user
123141
logging:
124142
driver: "json-file"
125143
options:

0 commit comments

Comments
 (0)