Skip to content

[awf] api-proxy: no runtime secret-backed custom OpenAI-compatible endpoint support #6650

Description

@lpcox

Problem

gh-aw does not support configuring a custom OpenAI-compatible API endpoint from a GitHub Actions secret at runtime. The endpoint host must currently be hardcoded in the compiled .lock.yml, which is unacceptable for sensitive internal proxy/load balancer hosts.

Context

Original report: github/gh-aw#41929

Root Cause

The AWF API proxy sidecar (containers/api-proxy/) and the compiler's lock file emission both treat the upstream API endpoint as a static compile-time value. There is no mechanism to inject the endpoint host at runtime from a secret.

Proposed Solution

  1. Add a new engine.openaiEndpointSecret (or similar) field in the workflow schema that names a GitHub Actions secret containing the endpoint URL.
  2. At runtime, the lock file runner should resolve the secret value and pass it as --openai-endpoint (or equivalent) to the AWF API proxy sidecar.
  3. In containers/api-proxy/, read the endpoint from an environment variable (e.g., OPENAI_ENDPOINT_OVERRIDE) rather than a hard-coded value, and ensure the endpoint host is added to the Squid domain allowlist dynamically.
  4. Ensure the secret value is never logged or emitted to workflow outputs.

Generated by Firewall Issue Dispatcher · sonnet46 · 30.4 AIC · ⊞ 6.4K ·

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions