Garage: New Service - #340
Spectre7651 wants to merge 0 commit into
Conversation
|
Thanks for your first PR, @Spectre7651, and welcome! Garage is a great addition. I tested this branch locally. As submitted it does not start yet, but after a few fixes it worked well: an S3 upload and download through Tailscale Serve over HTTPS succeeded, and the bucket survived a restart. Here is what needs to change, based on CONTRIBUTING.md and the service template: Blockers (the stack does not start)
Health check The image contains only the healthcheck:
test: ["CMD", "/garage", "status"] # Check that the Garage node responds over RPCKeep the template's interval, timeout, retries, and start_period values. Template and repository conventions
README Please add the setup steps a new user needs:
Also mention that only the S3 API (3900) is published through Serve, and that the web (3902) and admin (3903) ports are not. Link to the upstream quick start. Tip for next time: open PRs from a feature branch instead of your fork's Thanks again! Happy to take another look once it's updated. |
|
Thanks @jackspiering for the feedback, I'll implement those changes asap I've also switched to a feature branch as you recommended hence why this PR closed - sorry for the inconvenience Would you be able to offer any tips on exposing multiple ports with the Tailscale serve config as ports 3900, 3901, 3902 and 3903 all need to be exposed and I'm not sure on how to do that with the existing serve config Many Thanks |
|
Good question, @Spectre7651. Serve can publish more than one port: add one entry per port under configs:
ts-serve:
content: |
{"TCP":{"443":{"HTTPS":true},"3902":{"HTTPS":true},"3903":{"HTTPS":true}},
"Web":{"$${TS_CERT_DOMAIN}:443":
{"Handlers":{"/":
{"Proxy":"http://127.0.0.1:3900"}}},
"$${TS_CERT_DOMAIN}:3902":
{"Handlers":{"/":
{"Proxy":"http://127.0.0.1:3902"}}},
"$${TS_CERT_DOMAIN}:3903":
{"Handlers":{"/":
{"Proxy":"http://127.0.0.1:3903"}}}},
"AllowFunnel":{"$${TS_CERT_DOMAIN}:443":false}}One change in [s3_web]
bind_addr = "127.0.0.1:3902"
[admin]
api_bind_addr = "127.0.0.1:3903"That gives you:
Two notes:
Please list these three addresses in the README. This replaces my earlier remark that only the S3 API is published through Serve. |
Garage: New Service
Description
Created a service for running Garage with a Tailscale sidecar including the default garage.toml configuration file required
Also removed whitespace from linting config file due to code editor warnings
Related Issues
Verification
Tested by running both locally (Mac) and on a Raspberry Pi 5 (Bookworm 64bit) with latest versions of docker installed
Containers run, connect to tailnet and application is accessible via S3 API
Checklist
Additional Context