Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/freeformz/factor

Go Proxy
https://github.com/freeformz/factor

Last synced: 7 days ago
JSON representation

Go Proxy

Awesome Lists containing this project

README

        

## Goals

* listens on `:$PROXY_PORT` for requests to proxy to `http://localhost:$PORT` (http).
* listens on `:$SNS_PORT` for SNS Notifications (https).
* uses an instance `$ROLE` to register with an SNS `$TOPIC` as `http://:$SNS_PORT`
* confirms the subscription so that it can recieve notifications
* Terminates itself and the instance ASAP on any errors
* Low memory usage
* Fair or better performance

### Notifications
* New App Release: Download slug, start new version, start proxying new requests to new app version, stop proxying request to old app version, shutdown old app version.
* Shutdown: Stop accepting new connections, finish existing connections, and terminate instance.
* Maintenance On: serve maintenance page instead of proxy
* Maintenance Off: turn proxy on
* Update: Download new factor version and migrate existing app to it.