From 9ebf21af021f1070e15ad22ad72c30a984990ae4 Mon Sep 17 00:00:00 2001 From: Nicolas Ochem Date: Thu, 18 Mar 2021 12:51:45 -0700 Subject: [PATCH 1/3] allow custom hostnames setting for db, elastic, rabbit with envvar You can not always assume the hostname of the remote services. For example, in tezos-k8s, I am running everything in a pod, so I need to set everything to `localhost`. In order to not disrupt any existing workflow, we set these env vars to standard values in the Dockerfile; they can be overridden at runtime. See: https://stackoverflow.com/a/40334819/207209 --- build/api/Dockerfile | 3 +++ build/indexer/Dockerfile | 4 ++++ configs/production.yml | 8 ++++---- configs/you.yml | 6 +++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/build/api/Dockerfile b/build/api/Dockerfile index c6b41ae23..212a4a2d4 100644 --- a/build/api/Dockerfile +++ b/build/api/Dockerfile @@ -50,4 +50,7 @@ COPY --from=builder /go/bin/esctl /go/bin/esctl COPY --from=builder /go/bin/migration /go/bin/migration COPY --from=builder /go/bin/seo /go/bin/seo +ENV DB_HOSTNAME=db +ENV RABBITMQ_HOSTNAME=mq +ENV ELASTIC_HOSTNAME=elastic ENTRYPOINT ["/go/bin/api"] diff --git a/build/indexer/Dockerfile b/build/indexer/Dockerfile index d053dd451..7db89d7fc 100644 --- a/build/indexer/Dockerfile +++ b/build/indexer/Dockerfile @@ -34,4 +34,8 @@ COPY --from=builder /go/bin/indexer /go/bin/indexer COPY cmd/indexer/mappings /app/indexer/mappings COPY configs/*.yml /app/indexer/ +ENV DB_HOSTNAME=db +ENV RABBITMQ_HOSTNAME=mq +ENV ELASTIC_HOSTNAME=elastic + ENTRYPOINT ["/go/bin/indexer"] diff --git a/configs/production.yml b/configs/production.yml index d593a33ce..97062be2a 100644 --- a/configs/production.yml +++ b/configs/production.yml @@ -23,16 +23,16 @@ tzkt: storage: uri: - - http://elastic:9200 - - http://elastic:9200 + - http://${ELASTIC_HOSTNAME}:9200 + - http://${ELASTIC_HOSTNAME}:9200 timeout: 10 rabbitmq: - uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@mq:5672/" + uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME}:5672/" timeout: 10 db: - conn_string: "host=db port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: diff --git a/configs/you.yml b/configs/you.yml index 7522b3c00..594cd72ef 100644 --- a/configs/you.yml +++ b/configs/you.yml @@ -23,15 +23,15 @@ tzkt: storage: uri: - - http://elastic:9200 + - http://${ELASTIC_HOSTNAME}:9200 timeout: 10 rabbitmq: - uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@mq:5672/" + uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME}:5672/" timeout: 10 db: - conn_string: "host=db port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: From 22e9586622f68eebe9f1955436fa9439268dff60 Mon Sep 17 00:00:00 2001 From: Nicolas Ochem Date: Fri, 19 Mar 2021 10:33:34 -0700 Subject: [PATCH 2/3] use default env in docker-compose instead of Dockerfile --- build/api/Dockerfile | 3 --- build/indexer/Dockerfile | 4 ---- configs/production.yml | 8 ++++---- configs/sandbox.yml | 6 +++--- configs/you.yml | 6 +++--- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/build/api/Dockerfile b/build/api/Dockerfile index 212a4a2d4..c6b41ae23 100644 --- a/build/api/Dockerfile +++ b/build/api/Dockerfile @@ -50,7 +50,4 @@ COPY --from=builder /go/bin/esctl /go/bin/esctl COPY --from=builder /go/bin/migration /go/bin/migration COPY --from=builder /go/bin/seo /go/bin/seo -ENV DB_HOSTNAME=db -ENV RABBITMQ_HOSTNAME=mq -ENV ELASTIC_HOSTNAME=elastic ENTRYPOINT ["/go/bin/api"] diff --git a/build/indexer/Dockerfile b/build/indexer/Dockerfile index 7db89d7fc..d053dd451 100644 --- a/build/indexer/Dockerfile +++ b/build/indexer/Dockerfile @@ -34,8 +34,4 @@ COPY --from=builder /go/bin/indexer /go/bin/indexer COPY cmd/indexer/mappings /app/indexer/mappings COPY configs/*.yml /app/indexer/ -ENV DB_HOSTNAME=db -ENV RABBITMQ_HOSTNAME=mq -ENV ELASTIC_HOSTNAME=elastic - ENTRYPOINT ["/go/bin/indexer"] diff --git a/configs/production.yml b/configs/production.yml index 97062be2a..609ef7b0c 100644 --- a/configs/production.yml +++ b/configs/production.yml @@ -23,16 +23,16 @@ tzkt: storage: uri: - - http://${ELASTIC_HOSTNAME}:9200 - - http://${ELASTIC_HOSTNAME}:9200 + - http://${ELASTIC_HOSTNAME:-elastic}:9200 + - http://${ELASTIC_HOSTNAME:-elastic}:9200 timeout: 10 rabbitmq: - uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME}:5672/" + uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME:-mq}:5672/" timeout: 10 db: - conn_string: "host=${DB_HOSTNAME} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: diff --git a/configs/sandbox.yml b/configs/sandbox.yml index 9c1b174eb..aa4141214 100644 --- a/configs/sandbox.yml +++ b/configs/sandbox.yml @@ -5,15 +5,15 @@ rpc: storage: uri: - - http://elastic:9200 + - http://${ELASTIC_HOSTNAME:-elastic}:9200 timeout: 10 rabbitmq: - uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@mq:5672/" + uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME:-mq}:5672/" timeout: 10 db: - conn_string: "host=db port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 share_path: ${HOME}/.bcd diff --git a/configs/you.yml b/configs/you.yml index 594cd72ef..58add9c98 100644 --- a/configs/you.yml +++ b/configs/you.yml @@ -23,15 +23,15 @@ tzkt: storage: uri: - - http://${ELASTIC_HOSTNAME}:9200 + - http://${ELASTIC_HOSTNAME:-elastic}:9200 timeout: 10 rabbitmq: - uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME}:5672/" + uri: "amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOSTNAME:-mq}:5672/" timeout: 10 db: - conn_string: "host=${DB_HOSTNAME} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: From 1ccb8433f9de473819ea6fa5516fc41e7ca4db60 Mon Sep 17 00:00:00 2001 From: Nicolas Ochem Date: Fri, 19 Mar 2021 11:06:18 -0700 Subject: [PATCH 3/3] postgres => db --- configs/production.yml | 2 +- configs/sandbox.yml | 2 +- configs/you.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/production.yml b/configs/production.yml index 609ef7b0c..7d788c0e4 100644 --- a/configs/production.yml +++ b/configs/production.yml @@ -32,7 +32,7 @@ rabbitmq: timeout: 10 db: - conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-db} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: diff --git a/configs/sandbox.yml b/configs/sandbox.yml index aa4141214..ba810886b 100644 --- a/configs/sandbox.yml +++ b/configs/sandbox.yml @@ -13,7 +13,7 @@ rabbitmq: timeout: 10 db: - conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-db} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 share_path: ${HOME}/.bcd diff --git a/configs/you.yml b/configs/you.yml index 58add9c98..338d2c079 100644 --- a/configs/you.yml +++ b/configs/you.yml @@ -31,7 +31,7 @@ rabbitmq: timeout: 10 db: - conn_string: "host=${DB_HOSTNAME:-postgres} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" + conn_string: "host=${DB_HOSTNAME:-db} port=5432 user=${POSTGRES_USER} dbname=${POSTGRES_DB} password=${POSTGRES_PASSWORD} sslmode=disable" timeout: 10 oauth: