8 Commits

Author SHA1 Message Date
Stéphane Tailland 86d56dc4ea Make the request body buffer a per-domain setting
ai-proxy's log_payloads and log_statistics produced nothing on the AI
gateway despite being enabled. The cause was not the plugin's own
max_request_body_size but nginx's client_body_buffer_size, left at its 8k
default: past it the body goes to a temp file, and
kong.request.get_raw_body() returns nil for a body on disk, so any plugin
reading the body silently stops working. Prompts on that gateway run to 30
KB. Measured, not guessed — request.size was 30369 on the last call.

Expose it as ${CLIENT_BODY_BUFFER_SIZE} with the 8k default every domain
keeps, rather than raising it globally. The buffer is allocated per
connection carrying a body, so a value that is free on a gateway seeing 18
requests a day is not free on one serving real traffic.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 16:41:33 +02:00
Stéphane Tailland a392e09ae5 Give the Konnect control-plane ref a stable, derived name
Every Kong entity names its control plane through
controlPlaneRef.konnectNamespacedRef (this operator version exposes no
konnectID ref type), and the only mirror CR available was the one the
Gateway operator auto-creates with a random suffix. That suffix was
looked up by hand and pasted into CONTROL_PLANE_REF_NAME in 11 places
across 11 repos, where it went stale silently whenever the Gateway was
recreated. Replacing the Konnect org did exactly that: all 11 refs named
CRs that no longer existed and every service, route and plugin binding
sat Programmed=False.

Declare a mirror CR named ${NAME}-cp instead, so the refs are derived
from NAME and never need touching again. source: Mirror adopts an
existing control plane rather than owning it — deleting the CR leaves
the control plane in Konnect intact (verified: count unchanged across a
delete), so it coexists with the operator's own mirror of the same id.

The id itself comes from Vault via External Secrets, so a new Konnect
org now needs no edit in any repo.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 16:30:02 +02:00
Stéphane Tailland 200f3174e7 fix(tracing): Add KONG_TRACING environment variables to gatewayconfiguration template 2026-08-23 15:49:15 +02:00
Stéphane Tailland e4642b372c Label the Vault-sourced TLS secret konghq.com/secret=true
The Kong Gateway Operator only watches Secrets carrying this label,
same as the existing Konnect PAT ExternalSecret already does.
2026-08-21 09:49:41 +02:00
Stéphane Tailland 9376bc3cb3 Source per-domain Gateway TLS certs from Vault instead of cert-manager
cert-manager-issued Certificates never synced to Konnect as KongCertificate
objects through the Gateway API listener path, so dataplanes fell back to
Kong's default self-signed cert. Reuse the working kong-namespace pattern
(a static wildcard cert) via ExternalSecret instead.
2026-08-21 09:37:31 +02:00
Stéphane Tailland bf9fcaecd3 External Secrets Store 2026-08-19 18:53:35 +02:00
Stéphane Tailland 22348ce610 Template defaults 2026-08-19 17:34:06 +02:00
Stéphane Tailland 6afd9c4c5f First commit 2026-08-19 16:57:43 +02:00