Run the dev stack on published images, with the meter driver chosen by profile - #1
Merged
Merged
Conversation
The webapp no longer takes a driver URL from the environment: meter drivers are registered under Global Settings > Meter Drivers and stored in the database, and the webapp boots normally with none registered. sparknet-http moves to the sparknet profile, ground drops METERING_PROVIDER_URL and its depends_on on the driver, and CLAUDE.md and README.md describe the registration flow and the new profile. The sparknet-http service keeps stdin open, since the binary exits when stdin reaches end-of-file, and its health check probes /v1/healthz.
The webapp, SymmetricDS and meter-driver-emulator services name the ghcr.io/earthspark latest images and keep their build sections, with no pull_policy: a plain up uses the local image or pulls it when absent, up --build builds from the sibling checkouts, and docker compose pull fetches the newest published images. cloud gains the webapp build section. The webapp env file is optional, with its development defaults as ${VAR:-default} entries in the compose file; ground's SERIAL defaults to INIT_GROUND_SERIAL. meter-driver-emulator and sparknet-http run behind the driver-emulator and driver-sparknet profiles. The unused METERING_PROVIDER_URL is removed from ground. repos lists meter-driver-emulator, and clone.sh checks out submodules after each clone or fast-forward and reports a failed submodule step separately. The docs state Docker Compose 2.24.0 as the minimum version.
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.
The dev stack runs from the published images, so
docker compose upneeds only this repository.The webapp, SymmetricDS and meter-driver-emulator services name their
ghcr.io/earthspark/<repository>:latestimages and keep their build sections, with nopull_policy. A plainuppulls an image that is not present locally and otherwise uses the local one.up --buildbuilds from the sibling checkouts, and that build stays in use untildocker compose pull. A service whose image is not published builds from its checkout.cloudshares the webapp's build section.The webapp's environment file is optional. Its development defaults are in the compose file as
${VAR:-default}entries, which the environment file and variables exported in the shell override. An optionalenv_fileneeds Docker Compose 2.24.0 or later.Meter drivers are registered in the webapp under Global Settings > Meter Drivers, and the webapp boots with none registered. Each driver runs behind its own profile:
driver-emulatorfor meter-driver-emulator athttp://meter-driver-emulator:18080, anddriver-sparknetfor sparknet-http athttp://sparknet-http:8080.groundno longer setsMETERING_PROVIDER_URL. sparknet-http keeps stdin open, since the binary exits when stdin reaches end-of-file, and its health check probes/v1/healthz.reposlists meter-driver-emulator, andclone.shchecks out submodules after each clone or fast-forward, which the emulator's build needs.Each image has a
latesttag once EarthSpark/thundercloud#35, EarthSpark/symmetricds#8 and EarthSpark/meter-driver-emulator#1 merge andmainbuilds. A running sparknet-http driver depends on EarthSpark/sparknet-http#1.