Ship runnable quickstart, REST walkthrough, and multi-tenant demos#45
Merged
Conversation
quickstart, rest-walkthrough, and multi-tenant were merged but never
verified against a real server image. Three issues blocked all of them:
- decree-server requires INSECURE_LISTEN=1 to accept plaintext
connections; without it the server exits immediately with a TLS
error.
- seed/init.sql's schema_versions table predates the
dependent_required and validations columns added in 001_initial_schema.sql,
so schema import failed with a missing-column error.
- quickstart's payroll-service used an outdated SDK API
(configclient/configwatcher with WithSubject) that no longer
compiles against sdk/grpctransport.
rest-walkthrough's publish call was missing the required `version`
field, and multi-tenant's run.sh/test.sh used non-existent
/v1/config/{name}/snapshot and /v1/config/{name}/values/{path}
endpoints instead of /v1/tenants/{id}/config[...] with the required
x-subject header and tenant UUIDs.
Also: removes the "coming soon" banner and updates the Pick Your Path
table to only link shipped demos, adds CI jobs that run each demo's
test.sh, and updates CLAUDE.md / .agents context to reflect shipped
status.
Closes #44.
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.
Summary
INSECURE_LISTEN=1to accept plaintext connections in this local-demo setup; without it the server exits immediately with a TLS configuration error.seed/init.sqlhad a staleschema_versionstable missing thedependent_requiredandvalidationscolumns added in001_initial_schema.sql, so schema import failed.configclient/configwatcherwithWithSubject) that no longer compiles againstsdk/grpctransport.versionfield in the request body.run.sh/test.shcalled non-existent/v1/config/{name}/snapshotand/v1/config/{name}/values/{path}endpoints instead of/v1/tenants/{id}/config[...]with the requiredx-subjectheader and tenant UUIDs.*(planned)*).test.shas a separate job (one per demo, since they share fixed ports).CLAUDE.mdand.agents/context/demos-setup.mdupdated to reflect shipped status.Test plan
docker compose up+test.shpasses from a clean checkout forquickstart/docker compose up+test.shpasses from a clean checkout forrest-walkthrough/docker compose up+test.shpasses from a clean checkout formulti-tenant/go buildsucceeds forquickstart/serviceafter SDK API fixyaml.safe_loadquickstart,rest-walkthrough) reference the fixed compose files, validated via the sametest.shrunsCloses #44