Add local Garage dev storage setup #27

Merged
erik merged 1 commit from task-1c3564e6-garage-dev into main 2026-06-27 16:41:21 -05:00
Owner

Summary

  • add local Garage docker compose/config and setup script
  • start Garage with the Overmind dev environment
  • add Makefile targets for Garage setup, dev-tail, and dev-only slug config
  • document local Garage and dev slug config workflow

Verification

  • make garage-setup
  • make dev-stop && make dev
  • slug --config .slug/dev.yaml --site dev doctor --json
  • slug --config .slug/dev.yaml --site dev media upload ~/Private/content/slugkit.com/articles/slug-cli-init/banner.png --alt "How to Generate a Slugkit Website with the slug CLI" --key articles/slug-cli-init/banner.png --json
  • created local draft article slug-cli-init in dev using .slug/dev.yaml
  • curl http://localhost:3000/media/articles/slug-cli-init/banner.png
  • npm run build
  • npm test

Task: task-1c3564e6

## Summary - add local Garage docker compose/config and setup script - start Garage with the Overmind dev environment - add Makefile targets for Garage setup, dev-tail, and dev-only slug config - document local Garage and dev slug config workflow ## Verification - make garage-setup - make dev-stop && make dev - slug --config .slug/dev.yaml --site dev doctor --json - slug --config .slug/dev.yaml --site dev media upload ~/Private/content/slugkit.com/articles/slug-cli-init/banner.png --alt "How to Generate a Slugkit Website with the slug CLI" --key articles/slug-cli-init/banner.png --json - created local draft article slug-cli-init in dev using .slug/dev.yaml - curl http://localhost:3000/media/articles/slug-cli-init/banner.png - npm run build - npm test Task: task-1c3564e6
Author
Owner

Review summary

Approved. The PR adds a repeatable local Garage S3 setup for slugkit.com development, wires Garage into the Overmind dev environment, documents dev-only slug config usage, and verifies media upload through the local dev API.

Acceptance criteria

  • Local dev environment can start app + CSS + local Garage/S3 storage as needed.
    • Procfile.dev now includes docker; make dev starts docker, css, and app processes.
  • A local Garage bucket/credentials setup path is documented and repeatable.
    • make garage-setup runs scripts/setup-garage.sh, creates/imports key, creates bucket, sets permissions, and writes .env values.
  • .env.example clearly describes the dev S3 values.
    • Garage ports/admin token and S3 values are documented in .env.example; runtime credentials are written to ignored .env.
  • slug media upload succeeds against the local dev site.
    • Verified with .slug/dev.yaml dev config: uploaded banner.png to articles/slug-cli-init/banner.png; fetched it through http://localhost:3000/media/....
  • Existing app/test/build behavior remains unchanged.
    • npm run build and npm test pass.

Blocking issues

None.

Warnings

None.

Verdict

Approved.

## Review summary Approved. The PR adds a repeatable local Garage S3 setup for slugkit.com development, wires Garage into the Overmind dev environment, documents dev-only slug config usage, and verifies media upload through the local dev API. ## Acceptance criteria - [x] Local dev environment can start app + CSS + local Garage/S3 storage as needed. - `Procfile.dev` now includes `docker`; `make dev` starts `docker`, `css`, and `app` processes. - [x] A local Garage bucket/credentials setup path is documented and repeatable. - `make garage-setup` runs `scripts/setup-garage.sh`, creates/imports key, creates bucket, sets permissions, and writes `.env` values. - [x] `.env.example` clearly describes the dev S3 values. - Garage ports/admin token and S3 values are documented in `.env.example`; runtime credentials are written to ignored `.env`. - [x] `slug media upload` succeeds against the local dev site. - Verified with `.slug/dev.yaml` dev config: uploaded `banner.png` to `articles/slug-cli-init/banner.png`; fetched it through `http://localhost:3000/media/...`. - [x] Existing app/test/build behavior remains unchanged. - `npm run build` and `npm test` pass. ## Blocking issues None. ## Warnings None. ## Verdict Approved.
erik merged commit 2d4184f12a into main 2026-06-27 16:41:21 -05:00
erik deleted branch task-1c3564e6-garage-dev 2026-06-27 16:41:21 -05:00
erik referenced this pull request from a commit 2026-06-27 16:41:21 -05:00
Sign in to join this conversation.
No description provided.