# Advanced post-enrollment two-agent Compose comparator. # This is not the default zero-state ordinary-server installer; use # `agentnet server-agent setup` and its bundled skill for that path. # Copy privately and resolve every required reference. Never commit values. # Immutable image provenance — registry repositories plus 64-hex manifest digests. AGENTNET_SERVER_AGENT_IMAGE_REPOSITORY=registry.example/agentnet AGENTNET_SERVER_AGENT_IMAGE_DIGEST= AGENTNET_POSTGRES_IMAGE_REPOSITORY=postgres AGENTNET_POSTGRES_IMAGE_DIGEST= AGENTNET_NGINX_IMAGE_REPOSITORY=nginx AGENTNET_NGINX_IMAGE_DIGEST= AGENTNET_CLAMAV_IMAGE_REPOSITORY=local.invalid/agentnet/clamav AGENTNET_CLAMAV_IMAGE_DIGEST= # Shared namespace and PostgreSQL secret-file reference. AGENTNET_DOMAIN_ID=corp.example AGENTNET_SERVICE_AUDIENCE=urn:agentnet:corp.example:corporate-api AGENTNET_POSTGRES_DB=agentnet AGENTNET_POSTGRES_USER=agentnet AGENTNET_POSTGRES_PASSWORD_FILE=/absolute/path/to/private/postgres-password # Exact HTTPS endpoints and loopback-only host publication. AGENTNET_AGENT_A_PUBLIC_BASE_URL=https://agent-a.corp.example:8081 AGENTNET_AGENT_B_PUBLIC_BASE_URL=https://agent-b.corp.example:8082 AGENTNET_AGENT_A_BIND_ADDRESS=127.0.0.1 AGENTNET_AGENT_B_BIND_ADDRESS=127.0.0.1 AGENTNET_AGENT_A_PORT=8081 AGENTNET_AGENT_B_PORT=8082 AGENTNET_AGENT_A_TLS_CERT_FILE=/absolute/path/to/agent-a-fullchain.pem AGENTNET_AGENT_A_TLS_KEY_FILE=/absolute/path/to/agent-a-private-key.pem AGENTNET_AGENT_B_TLS_CERT_FILE=/absolute/path/to/agent-b-fullchain.pem AGENTNET_AGENT_B_TLS_KEY_FILE=/absolute/path/to/agent-b-private-key.pem # Public and private mounted configuration roots. AGENTNET_AGENT_A_PUBLIC_CONFIG_DIR=/absolute/path/to/public/agent-a AGENTNET_AGENT_A_PRIVATE_CONFIG_DIR=/absolute/path/to/private/agent-a AGENTNET_AGENT_B_PUBLIC_CONFIG_DIR=/absolute/path/to/public/agent-b AGENTNET_AGENT_B_PRIVATE_CONFIG_DIR=/absolute/path/to/private/agent-b AGENTNET_AGENT_A_OIDC_ENROLLMENT_CONFIG_FILE=/run/agentnet-public/oidc-enrollment.json AGENTNET_AGENT_B_OIDC_ENROLLMENT_CONFIG_FILE=/run/agentnet-public/oidc-enrollment.json AGENTNET_AGENT_A_SCANNER_TRUST_CONFIG_FILE= AGENTNET_AGENT_B_SCANNER_TRUST_CONFIG_FILE= # Optional maintained self-hosted scanner. The profile stays inactive and file # capability stays absent until an approved digest, fresh signatures, the # private P-256 key at `clamav-scanner-signing.pem`, and matching public trust # configuration are provisioned for both agents. The daemon is reached only # through its shared Unix socket; no scanner port is published. COMPOSE_PROFILES= AGENTNET_CLAMAV_ENDPOINT=unix:///run/agentnet-clamav/clamd.sock AGENTNET_CLAMAV_TIMEOUT_SECONDS=30 AGENTNET_CLAMAV_MAX_RESPONSE_BYTES=4096 AGENTNET_CLAMAV_MAX_SIGNATURE_AGE_SECONDS=86400 AGENTNET_CLAMAV_SCANNER_ID=maintained-scanner AGENTNET_CLAMAV_SCANNER_KEY_EPOCH=1 # Exact externally enrolled bindings. Empty values keep startup fail-closed. AGENTNET_AGENT_A_HARNESS_ID= AGENTNET_AGENT_A_CREDENTIAL_ID= AGENTNET_AGENT_B_HARNESS_ID= AGENTNET_AGENT_B_CREDENTIAL_ID= # Confidential runtime injection only. Keep values in the private environment; # never place them in Compose JSON, source control, logs, or evidence. AGENTNET_AGENT_A_OIDC_CLIENT_SECRET= AGENTNET_AGENT_B_OIDC_CLIENT_SECRET= AGENTNET_AGENT_A_APPROVAL_CORE_TOKEN= AGENTNET_AGENT_B_APPROVAL_CORE_TOKEN= # Messaging-only is the safe default. To enable files, first set # COMPOSE_PROFILES=artifact-scanning, confirm the Unix endpoint, satisfy scanner # readiness/key/trust checks, and only then add artifact_storage to each # capability list. AGENTNET_AGENT_A_CAPABILITIES=offline_custody AGENTNET_AGENT_B_CAPABILITIES=offline_custody AGENTNET_AGENT_A_FEATURES= AGENTNET_AGENT_B_FEATURES= AGENTNET_AGENT_A_COMPONENT_EVIDENCE= AGENTNET_AGENT_B_COMPONENT_EVIDENCE=