From 230913c4e9c16910c4ba5e9d366f9da3c7ba6b2c Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:24:57 +0000 Subject: [PATCH 01/16] Initial plan From 40c1c65fb488625450e6aebec0034881a067d16e Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:36:15 +0000 Subject: [PATCH 02/16] feat: add envoy api proxy sidecar for credential management Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com> --- containers/envoy/Dockerfile | 29 ++++++ containers/envoy/entrypoint.sh | 166 +++++++++++++++++++++++++++++++++ src/cli.ts | 24 +++++ src/docker-manager.ts | 90 ++++++++++++++++-- src/types.ts | 55 +++++++++++ 5 files changed, 358 insertions(+), 6 deletions(-) create mode 100644 containers/envoy/Dockerfile create mode 100644 containers/envoy/entrypoint.sh diff --git a/containers/envoy/Dockerfile b/containers/envoy/Dockerfile new file mode 100644 index 00000000..e30b3b06 --- /dev/null +++ b/containers/envoy/Dockerfile @@ -0,0 +1,29 @@ +# Envoy proxy for API key management and proxying +# This sidecar container holds API keys and proxies requests to LLM providers +# Supports OpenAI (Codex) and Anthropic (Claude) APIs + +FROM envoyproxy/envoy:v1.31-latest + +# Install curl for healthchecks +USER root +RUN apt-get update && \ + apt-get install -y curl && \ + rm -rf /var/lib/apt/lists/* + +# Copy entrypoint script that generates envoy.yaml from environment variables +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +# Create directory for generated config +RUN mkdir -p /etc/envoy + +# Switch back to envoy user for running the proxy +USER envoy + +# Expose ports for proxying +# 10000 - OpenAI API proxy (Codex) +# 10001 - Anthropic API proxy (Claude) +EXPOSE 10000 10001 + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["-c", "/etc/envoy/envoy.yaml"] diff --git a/containers/envoy/entrypoint.sh b/containers/envoy/entrypoint.sh new file mode 100644 index 00000000..e2d21b52 --- /dev/null +++ b/containers/envoy/entrypoint.sh @@ -0,0 +1,166 @@ +#!/bin/bash +set -e + +# Generate Envoy configuration from environment variables +# This allows API keys to be injected at runtime without persisting to disk + +# Start building the configuration +cat > /etc/envoy/envoy.yaml <> /etc/envoy/envoy.yaml <> /etc/envoy/envoy.yaml <> /etc/envoy/envoy.yaml <> /etc/envoy/envoy.yaml <