我可以从Docker映像运行Hashura。
docker run -d -p 8080:8080 \
-e HASURA_GRAPHQL_DATABASE_URL=postgres://username:password@hostname:port/dbname \
-e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
hasura/graphql-engine:latest
但是我还有一个Postgres实例,只能使用三个证书进行访问:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \
sslcert=client-cert.pem sslkey=client-key.pem \
hostaddr=$DB_HOST \
port=$DB_PORT\
user=$DB_USER dbname=$DB_NAME"
我看不到Hasura的配置,该配置允许我以这种方式连接到Postgres实例。
这是我想传递给数据库连接URL的东西吗?
我应该怎么做?
答案 0 :(得分:0)
您需要将证书挂载到docker容器中,然后配置libpq(hasura在下面使用的内容)以将必需的证书与这些environment variables一起使用。会是这样的(我还没有测试过):
docker run -d -p 8080:8080 \
-v /absolute-path-of-certs-folder:/certs
-e HASURA_GRAPHQL_DATABASE_URL=postgres://hostname:port/dbname \
-e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
-e PGSSLMODE=verify-ca \
-e PGSSLCERT=/certs/client-cert.pem \
-e PGSSLKEY=/certs/client-key.pem \
-e PGSSLROOTCERT=/certs/server-ca.pem \
hasura/graphql-engine:latest