Skip to content

fix(quickstart): use ytt comment syntax in deps compose - #738

Merged
littledino2112 merged 1 commit into
mainfrom
kn/fix-quickstart-ytt-render
Jul 31, 2026
Merged

fix(quickstart): use ytt comment syntax in deps compose#738
littledino2112 merged 1 commit into
mainfrom
kn/fix-quickstart-ytt-render

Conversation

@k9ert

@k9ert k9ert commented Jul 30, 2026

Copy link
Copy Markdown

Fixes a quickstart pipeline breakage introduced by #657.

Problem

quickstart/bin/re-render.sh feeds dev/docker-compose.deps.yml to ytt, which requires every comment to be #@ (annotation/code) or #! (comment). #657 added three plain # comment lines above the kratos command:, so the render aborts:

ytt: Error: Overlaying data values (in following order: docker-compose.deps.yml):
  Templating file 'docker-compose.deps.yml':
    Compiling YAML template 'docker-compose.deps.yml':
      Failed to parse line 139: '# BATS reads verification codes from kratos-pg.courier_messages. Running':
        Expected ytt-formatted string (use '#@' for annotations or code, '#!' for comments)

Before #657 the file had exactly one # line — the #@data/values annotation on line 1.

re-render.sh runs under set -e, so ci/core/tasks/prep-quickstart.sh fails and the Concourse quickstart job dies at prep-quickstart, before check-quickstart ever runs.

Corroboration: quickstart/docker-compose.yml was bumped daily (Jul 26, 27, 28) and has had no bump since #657 merged on Jul 29.

Fix

Switch the three lines to #! — the syntax already used inline a few lines above (- "4433:4433" #! public). ytt strips #! comments from the output, so the rendered compose is unaffected.

Not the cause: the lnurl sqlite :memory: switch

Worth recording, since it was the first suspect. lnurl-server in quickstart is hardcoded in quickstart/docker-compose.tmpl.yml, not sourced from dev/docker-compose.deps.yml — the deps file only supplies data values for a subset of services. So LNURL_DB_URL=:memory: never reaches quickstart; the rendered compose keeps sqlite:///data/lnurl.db?mode=rwc and the /data mount. (The image also boots fine standalone with :memory:.)

Verification

With this fix ytt renders cleanly, and the output differs from the committed quickstart/docker-compose.yml by exactly one line — kratos losing --watch-courier, which is #657's intent.

Booted that rendered compose locally (29 services) and ran ./bin/quickstart.sh, i.e. what check-quickstart.sh does: onchain + lightning init, channel funding, globals.networkregtest, Alice login and account setup → token issued. Passes.

quickstart/docker-compose.yml is deliberately left untouched here — prep-quickstart regenerates and commits it (along with the vendir ref and image digest bumps) on the next pipeline run.

Follow-ups (not in this PR)

  • Add a ytt-render check to GitHub Actions so re-render.sh breakage is caught on PR rather than only in Concourse.
  • Consider having quickstart's lnurl-server block track dev/ instead of being hardcoded in the template, so the two don't drift.

🤖 Generated with Claude Code

quickstart/bin/re-render.sh feeds dev/docker-compose.deps.yml to ytt,
which rejects plain "#" comments. #657 added three, so re-render.sh
aborts and the Concourse prep-quickstart task fails before
check-quickstart ever runs. Quickstart image bumps stopped Jul 28.

Switch to "#!" — the syntax already used inline a few lines above.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@littledino2112 littledino2112 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@littledino2112
littledino2112 merged commit 703358d into main Jul 31, 2026
29 of 30 checks passed
@littledino2112
littledino2112 deleted the kn/fix-quickstart-ytt-render branch July 31, 2026 03:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants