An authentication API for Hasura GraphQL Engine.
348
This an authentication service for Hasura GraphQL Engine, in the form of pure HTTP API. There's no login UI, etc.
Learn more.
For a sneak peek of what we're doing, we use it in a docker-compose.yaml file like this:
services:
postgres:
image: postgres:16.4
restart: always
ports:
- ${POSTGRES_HOSTPORT}:5432
volumes:
- type: volume
source: pg_data
target: /var/lib/postgresql/data
- type: bind
source: ./docker/scripts/init-opr-db.sh
target: /docker-entrypoint-initdb.d/init-opr-db.sh
read_only: true
env_file: ./docker/cfg/postgres.cfg
graphql-engine:
image: hasura/graphql-engine:v2.42.0
depends_on:
data-connector-agent:
condition: service_healthy
restart: always
ports:
- ${HASURA_ENGINE_HOSTPORT}:8080
env_file: ./docker/cfg/graphql-engine.cfg
data-connector-agent:
image: hasura/graphql-data-connector:v2.42.0
restart: always
ports:
- ${HASURA_CONNECTOR_HOSTPORT}:8081
environment:
QUARKUS_LOG_LEVEL: ERROR # FATAL, ERROR, WARN, INFO, DEBUG, TRACE
## https://quarkus.io/guides/opentelemetry#configuration-reference
QUARKUS_OPENTELEMETRY_ENABLED: "false"
## QUARKUS_OPENTELEMETRY_TRACER_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081/api/v1/athena/health"]
interval: 5s
timeout: 10s
retries: 5
start_period: 5s
minio:
image: bitnami/minio:2024.7.29
restart: always
ports:
- ${MINIO_SERVER_HOSTPORT}:9000
- ${MINIO_CONSOLE_HOSTPORT}:9001
volumes:
- type: volume
source: min_data
target: /bitnami/minio/data
- type: volume
source: min_certs
target: /certs
env_file: ./docker/cfg/minio.cfg
opr-bucket:
image: bitnami/minio-client:2024.7.26
depends_on:
- minio
volumes:
- type: bind
source: ./docker/scripts/init-opr-bucket.sh
target: /tmp/init-opr-bucket.sh
read_only: true
- type: bind
source: ./docker/cfg/opr-bucket-policy.json
target: /tmp/opr-bucket-policy.json
read_only: true
env_file: ./docker/cfg/opr-bucket.cfg
entrypoint: /tmp/init-opr-bucket.sh
auth-api:
image: naratechcoid/auth-api:v0.3.2
depends_on:
- graphql-engine
restart: always
ports:
- ${AUTH_API_HOSTPORT}:3000
volumes:
- type: volume
source: auth_secrets
target: ${AUTH_API_SECRETS_DIR}
env_file:
- path: .env
required: false
- path: ./docker/cfg/auth-api.cfg
volumes:
pg_data:
min_data:
min_certs:
auth_secrets:
If we get a lot of demand, maybe we can share more details in the future, or even open-source it.
Content type
Image
Digest
sha256:b7caab7b3…
Size
8.8 MB
Last updated
about 2 years ago
docker pull naratechcoid/auth-api:v0.3.2