Goose Lang and Flisk.sh 101: Same Repo, Different Processes
Part 5 of Goose lang and Flisk.sh 101. This is the join, and the join is a boundary. ./total is a Goose program. It prints and exits. The orders-api container is a Go process Flisk generated. It listens until you stop the stack. Docker cannot exec a binary that only exists on your Mac unless that binary was copied into the image. Flisk will not copy it, because Goose is not a provider. Prove the…
Part 5 of the Goose lang and Flisk.sh tutorial series joins the previous parts, focusing on the integration between Goose and Flisk. The ./total file is a Goose program that prints and exits once executed. The orders-api container, generated by Flisk, is a Go process that listens until the stack is stopped. Docker cannot exec a binary on the host unless it's copied into the image, which Flisk does not do as Goose is not a provider.
To prove the host path, navigate to the ~/src/goose-flisk-101 directory and run the command: goose build -o ./total total.goose total. This should display the array and sums from part 3. The process created by this command ends when the command finishes.
Curl cannot call the process, and Traefik cannot route it. Use the health URL from part 4 for API testing with Flisk up shop --dry-run. If the stack is already up, curl the URL printed by the command. Two successes and two processes are expected. Record this information in the tutorial's README file for future reference.
A Flisk service must remain running, read PORT, bind 0.0.0.0, and respond to GET /health with 200 unless healthCheckPath is omitted. A non-HTTP process does not get HTTP probing or routing. Goose's tutorial lacks an HTTP server, and bringing your own binary is the real escape hatch when a language has no provider. The schema requires appName, stack, and schemaVersion.
Optional fields include port (4000-5999), healthCheckPath (default /health), dockerfile and image, exposeViaProxy (default true), and service.json, which Flisk generates and should not be edited manually.
To add a BYO resource for a Goose image, run flisk resource --help and flisk doctor --no-ping. Negative tests include flisk resource other-api --type backend --language goose --stack shop and flisk doctor --no-ping. If verify fails, regenerate the resource. Do not patch .autogenerated/ as it contains generated files. The tutorial concludes with typechecking, running a Goose program, building it into a binary, scaffolding a Flisk stack, and reading the health URL. Deployment of either tool is not covered.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.