extra-test-suite · master
Docs · Reference

Environment variables

Every environment variable the suite reads. Short list — most of the behaviour is hard-coded in the Dockerfiles and server.c.

The suite is mostly hard-coded — unlike uanetstandard-test-suite which is heavily env-var-driven. The few env vars below are all that exists.

Compose-level

Read by docker-compose.yml itself (not by the servers):

Variable Default Effect
TAG latest Image tag to pull for every service in compose.

Set this when pulling a pinned version:

bash bash
TAG=v1.1.0 docker compose pull
TAG=v1.1.0 docker compose up -d

The GitHub Action sets TAG from its image-tag input.

open62541-nm

No env vars. The Dockerfile's CMD runs a fallback chain of upstream binaries; nothing in the runtime is configurable without rebuilding.

To change behaviour, fork and edit the Dockerfile — see Customization.

open62541-all-security

The entrypoint script reads two:

Variable Default Effect
CERT_DIR /certs Where the self-signed cert + key live
OPCUA_APPLICATION_URI urn:open62541.server.application URI written into the server cert's subjectAltName URI: field at generation time. Does not change the server's runtime ApplicationUri.

If you change OPCUA_APPLICATION_URI, the regenerated cert carries the new URI in its subjectAltName. The server's ApplicationUri is unaffected — it stays urn:open62541.server.application because that value is hard-coded by open62541's defaults and isn't wired to this env var. Useful only if your client validates the cert's SAN against a specific URI; clients that match the server's runtime ApplicationUri will see the open62541 default regardless of what you set here.

To change either, override in the compose file:

text compose override
services:
  open62541-all-security:
    environment:
      OPCUA_APPLICATION_URI: "urn:custom:test-server"
    volumes:
      - ./certs-extra:/certs       # to persist the new cert

Then docker compose up -d --force-recreate and the new cert is generated on next boot.

Build-time ARGs

Set at docker compose build time, not at runtime:

ARG Default Effect
OPEN62541_REF v1.4.8 The upstream open62541 git tag/branch to build from

To build with a different open62541 version (e.g. testing a release candidate):

bash bash
docker compose build --build-arg OPEN62541_REF=v1.5.0

This applies to both services (they share the same ARG name).

What's NOT configurable via env

Compared to uanetstandard-test-suite's ~30 OPCUA_* env vars, this suite hard-codes:

Behaviour Where it's set
Internal port (4840) EXPOSE in Dockerfile
Host port mapping (24840/24841/24842) ports: in docker-compose.yml
Security policies offered open62541's setDefaultWithSecurityPolicies()
Security modes offered Same
User accounts Hard-coded array in server.c
allowAnonymous true in server.c
Permissive PKI (auto-accept) server.c
allowNonePolicyPassword true in server.c
Cert validity 10 years (in entrypoint.sh)

To change any of these, fork and edit the relevant file. This is intentional — the suite is small enough that compile-time configuration is simpler than runtime configuration.

Action inputs (not env vars)

action.yml exposes two inputs (passed via with: in workflows):

Input Default Effect
image-tag latest Becomes the TAG env var inside the action
startup-timeout 30 Seconds per service to wait for TCP port

See GitHub Action.