Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/superfly/rchab
Fly.io Remote Builder (Remote Controlled Hot Air Balloon)
https://github.com/superfly/rchab
flyio-services
Last synced: 9 days ago
JSON representation
Fly.io Remote Builder (Remote Controlled Hot Air Balloon)
- Host: GitHub
- URL: https://github.com/superfly/rchab
- Owner: superfly
- Created: 2021-01-08T13:51:25.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-23T20:39:35.000Z (4 months ago)
- Last Synced: 2024-08-01T10:17:32.955Z (3 months ago)
- Topics: flyio-services
- Language: Go
- Homepage:
- Size: 36.3 MB
- Stars: 43
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - superfly/rchab - Fly.io Remote Builder (Remote Controlled Hot Air Balloon) (others)
README
# Remote controlled Hot Air Balloon
A Docker proxy for running Docker builds within Fly's infrastructure.
This is deployed as an independent Fly application when running `flyctl deploy --remote-only` for the first time.
Then, flyctl will use this remote builder for all applications deployed by the organization.## Local dev
You probably/definitely want to use a separate vm, like vagrant. This service runs and manages its own docker service, which will maybe interfere with up the docker service on your system.
```shell
vagrant up # gets you a vm with all the tools you need
vagrant ssh # gets you onto that vmcd rchab # this is a folder on the vm, which is synced with the local repo and it support live updated 🎉
make run-local-no-auth # run the service!
```If that all worked, the service is running 🚀
http://localhost:8080 will have the rchab api in the vm and on your host.
## Testing with flyctl
`flyctl` can be configured to use a locally running version of rchab with:
```shell
FLY_REMOTE_BUILDER_HOST_WG=1 FLY_RCHAB_OVERRIDE_HOST=tcp://127.0.0.1:2375 LOG_LEVEL=debug fly deploy --remote-only
```* `FLY_REMOTE_BUILDER_HOST_WG` disables usermode wireguard
* `FLY_RCHAB_OVERRIDE_HOST` indicates the ip and port for the docker client to connect to, which will be used instead of the remote builder machine 6pn ip## Testing with an organization
Deploy a pre-release version, e.g., with `make build-and-push-docker` and then set on your org with:
```
fly orgs builder update
```## Deployment
Github actions deploy changes pushed to the main branch.
Fly.io staff need to make an internal update for the new image to become the default for all builders.