Skip to content

Test runner config values not properly detected #487

@raphaeltm

Description

@raphaeltm

The test runner does not properly identify config values that are used in string interpolation. For example, in the following compose file:

services:
  hasura:
    restart: unless-stopped
    build:
      dockerfile: Dockerfile
      context: ./hasura
    # If you want to add your own domain name in Defang BYOC, uncomment the following line and replace the domain name with your own
    # domainname: hasura.mycoolapp.com
    ports:
      - target: 8080
        published: 8080
        mode: ingress
    depends_on:
      database:
        condition: service_started
    environment:
      - HASURA_GRAPHQL_ADMIN_SECRET
      - HASURA_GRAPHQL_DATABASE_URL=postgres://postgres:${POSTGRES_PASSWORD}@database:5432/postgres?sslmode=${SSL_MODE}
      - HASURA_GRAPHQL_ENABLE_CONSOLE=true
      - HASURA_GRAPHQL_UNAUTHORIZED_ROLE=public
      - HASURA_GRAPHQL_EXPERIMENTAL_FEATURES=naming_convention
      - HASURA_GRAPHQL_DEFAULT_NAMING_CONVENTION=graphql-default
      - HASURA_GRAPHQL_MIGRATIONS_DIR=/hasura/migrations
      - HASURA_GRAPHQL_METADATA_DIR=/hasura/metadata
  
  database:
    image: postgres:16
    x-defang-postgres: true
    ports:
      - target: 5432
        mode: host
    environment:
      - POSTGRES_PASSWORD

It does not detect SSL_MODE so tests always fail. The following is the current workaround:

      - SSL_MODE

That allows it to be detected and thus load the correct secret from the test environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions