nuts-foundation/nuts-node

View on GitHub
e2e-tests/oauth-flow/rfc021/docker-compose.yml

Summary

Maintainability
Test Coverage
services:
  nodeA-backend:
    image: "${IMAGE_NODE_A:-nutsfoundation/nuts-node:master}"
    ports:
      - "18081:8081"
    environment:
      NUTS_CONFIGFILE: /opt/nuts/nuts.yaml
    volumes:
      - "./node-A/nuts.yaml:/opt/nuts/nuts.yaml:ro"
      - "../../tls-certs/nodeA-backend-certificate.pem:/opt/nuts/certificate-and-key.pem:ro"
      - "../../tls-certs/truststore.pem:/opt/nuts/truststore.pem:ro"
      # did:web resolver uses the OS CA bundle, but e2e tests use a self-signed CA which can be found in truststore.pem
      # So we need to mount that file to the OS CA bundle location, otherwise did:web resolving will fail due to untrusted certs.
      - "../../tls-certs/truststore.pem:/etc/ssl/certs/Nuts_RootCA.pem:ro"
      - "./node-A/presentationexchangemapping.json:/opt/nuts/policies/presentationexchangemapping.json:ro"
      - "./shared/discovery:/nuts/discovery:ro"
    healthcheck:
      interval: 1s # Make test run quicker by checking health status more often
  nodeA:
    image: nginx:1.25.1
    ports:
      - "10443:443"
    volumes:
      - "./node-A/nginx.conf:/etc/nginx/nginx.conf:ro"
      - "../../tls-certs/nodeA-certificate.pem:/etc/nginx/ssl/server.pem:ro"
      - "../../tls-certs/nodeA-certificate.pem:/etc/nginx/ssl/key.pem:ro"
      - "../../tls-certs/truststore.pem:/etc/nginx/ssl/truststore.pem:ro"
      - "./node-A/html:/etc/nginx/html:ro"
      - "../scripts/oauth2.js:/etc/nginx/oauth2.js:ro"
  nodeB-backend:
    image: "${IMAGE_NODE_B:-nutsfoundation/nuts-node:master}"
    ports:
      - "28081:8081"
    environment:
      NUTS_CONFIGFILE: /opt/nuts/nuts.yaml
    volumes:
      - "./node-B/nuts.yaml:/opt/nuts/nuts.yaml:ro"
      - "../../tls-certs/nodeB-certificate.pem:/opt/nuts/certificate-and-key.pem:ro"
      - "../../tls-certs/truststore.pem:/opt/nuts/truststore.pem:ro"
      - "../../tls-certs/truststore.pem:/etc/ssl/certs/truststore.pem:ro"
      # did:web resolver uses the OS CA bundle, but e2e tests use a self-signed CA which can be found in truststore.pem
      # So we need to mount that file to the OS CA bundle location, otherwise did:web resolving will fail due to untrusted certs.
      - "../../tls-certs/truststore.pem:/etc/ssl/certs/Nuts_RootCA.pem:ro"
      - "./shared/discovery:/nuts/discovery:ro"
    healthcheck:
      interval: 1s # Make test run quicker by checking health status more often
  nodeB:
    image: nginx:1.25.1
    ports:
      - "20443:443"
    volumes:
      - "../../shared_config/nodeB-http-nginx.conf:/etc/nginx/conf.d/nuts-http.conf:ro"
      - "../../tls-certs/nodeB-certificate.pem:/etc/nginx/ssl/server.pem:ro"
      - "../../tls-certs/nodeB-certificate.pem:/etc/nginx/ssl/key.pem:ro"
      - "../../tls-certs/truststore.pem:/etc/nginx/ssl/truststore.pem:ro"
      - "./node-B/html:/etc/nginx/html:ro"