Repository navigation
fix(deployment): quote ConfigMap values with %q, as the go agents already do - #164
Merged
Merged
Conversation
…eady do Same defect as codefly-dev/service-python-fastapi#79, found by comparing all four agents' templates. A rendered ConfigMap value is an arbitrary string — a JSON document, a comma-joined list, a sentence. This template wrapped it in hand-written quotes, so the first " inside a value closed the string early and the rest became YAML. The render then refuses its own output configmap.yaml: yaml: line 6: did not find expected key and deletes the tree it just wrote, leaving nothing to read. service-go and service-go-grpc already render `{{ printf "%q" $value }}`. This agent and service-python-fastapi did not, which is why a frontend whose configuration carries a JSON value cannot render. The test executes the template directly, because the fault is its quoting and nothing above it. It fails on the old template with the production symptom and passes on the new one; it asserts the document parses AND that every value survives byte for byte. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
antoinetoussaint-byte
requested a review
from AntoineToussaint
as a code owner
October 8, 2026 00:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Same defect as codefly-dev/service-python-fastapi#79, found by comparing all four agents' ConfigMap templates rather than by chasing one failure.
The defect
A rendered ConfigMap value is an arbitrary string — a JSON document, a comma-joined list, a sentence. This template wrapped it in hand-written quotes:
so the first
"inside a value closed the string early and the remainder became YAML. The render then refuses its own output —— and deletes the tree it just wrote, leaving nothing to read.
Why it matters here
service-goandservice-go-grpcalready render{{ printf "%q" $value }}. This agent andservice-python-fastapidid not, so a frontend whose configuration carries a JSON value cannot render at all. core v0.15.0's authority subject fields make such values common, which is why it surfaced now.The test
Executes the template directly, because the fault is its quoting and nothing above it. Verified by experiment: it fails on the old template with the production symptom and passes on the new one. It asserts the document parses and that every value survives byte for byte, over a JSON document,
key: value, a trailing backslash, an embedded newline, an embedded quote, a#, and the empty string.Full suite green.
🤖 Generated with Claude Code