Skip to content

feat: dev-template configure verbose output + v1.7.36 - #92

Merged
terchris merged 1 commit into
mainfrom
feature/dev-template-configure-verbose-output
Apr 10, 2026
Merged

feat: dev-template configure verbose output + v1.7.36#92
terchris merged 1 commit into
mainfrom
feature/dev-template-configure-verbose-output

Conversation

@terchris

Copy link
Copy Markdown
Collaborator

Summary

  • Verbose, observable output for dev-template configure — every step prints what it's doing with a ✓ marker, so when something hangs or fails the user can pinpoint exactly which step bit them
  • New port-forward stacked diagram showing the full network path: DCT → host.docker.internal → uis-provision-host → K8s pod, with the "lives inside uis-provision-host" troubleshooting hint
  • Copy-pasteable UIS command printed inline so users can reproduce calls outside DCT for debugging
  • Bumps to v1.7.36

What changes

.devcontainer/manage/dev-template-configure.sh

  • Startup checks (UIS bridge, git identity, template-info.yaml) each print before proceeding
  • Per-service section shows full resolved config before calling UIS
  • Init file: shows path, size, line count
  • Calls UIS with timing; total time printed in summary box
  • Shows what UIS created (database, username, password masked)
  • Port-forward stacked diagram with 4 boxes
  • Writes .env with file/key/masked-value display
  • K8s Secret report with Verify: kubectl ... command
  • Summary box now shows counts: (N configured, N skipped, N failed)
  • New "Next steps" section with dynamic command list from last service

.devcontainer/manage/lib/uis-bridge.sh

  • Parses new fields from UIS JSON: local.host, local.port, cluster.host, cluster.port, database, username, password
  • Resets all output globals at start of each call (no stale data)

New: INVESTIGATE-host-identity-and-template-defaults.md

Backlog investigation capturing three related bugs that surfaced during the v1.7.35 E2E testing:

  • Bug A: initializeCommand doesn't capture host git identity (only hostname)
  • Bug B: Templates have hardcoded my-app defaults instead of using {{REPO_NAME}}
  • Bug C: dev-check doesn't know about host capture, reports git as NOT_CONFIGURED on fresh clones

Investigation status: documents the problems + design questions, no plan yet.

Test plan

  • CI Tests pass
  • Build and Push Container Image succeeds, image published as :1.7.36 and :latest
  • Deploy Documentation passes (the new investigation file renders)
  • After merge + image build: dev-template configure in a fresh container shows the new verbose output
  • Idempotency check: re-run produces (0 configured, 1 skipped, 0 failed) with same password

🤖 Generated with Claude Code

Rewrite dev-template-configure's output to be observable end-to-end.
Every step prints what it's doing with a ✓ marker, so when something
hangs or fails the user can see exactly which step bit them.

Changes to dev-template-configure.sh:
- Startup checks: 🔌 UIS bridge, 🔍 git identity, 📄 template-info.yaml
  each print their results before proceeding
- Per-service section now shows the full resolved config (Database,
  K8s namespace, K8s secret prefix, Env var) before calling UIS
- 📄 Init file: shows path, size, line count
- 📡 Calling UIS: prints the literal copy-pasteable docker exec
  command with multi-line continuation, so users can reproduce calls
  outside DCT for debugging
- Timing: each UIS call is timed; total time printed in summary box
- 📦 UIS created: shows database, username, *** (hidden) password
- 🔌 Port forward stacked diagram showing the full path:
  DCT → host.docker.internal → uis-provision-host → K8s pod
  with the "lives inside uis-provision-host" troubleshooting hint
- 💾 Writing local URL to .env: shows file/key/masked-value
- 🔐 K8s Secret report includes a Verify: kubectl... command
- Summary box: counts (N configured, N skipped, N failed) + total time
- 📋 Next steps: dynamic command list pulled from the last service's
  database name + secret + namespace

Changes to lib/uis-bridge.sh:
- Parses new fields from UIS JSON response: local.host, local.port,
  cluster.host, cluster.port, database, username, password
- Resets all output globals at the start of each call to prevent
  stale data leaking between calls

Also adds INVESTIGATE-host-identity-and-template-defaults.md to the
backlog. Captures three related bugs (initializeCommand doesn't
capture host git identity; templates don't default to repo name;
dev-check doesn't know about host capture) and the design questions
that need answering before they can become a plan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@terchris
terchris merged commit 82875d9 into main Apr 10, 2026
6 checks passed
@terchris
terchris deleted the feature/dev-template-configure-verbose-output branch April 10, 2026 08:39
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.

1 participant