mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-02-27 20:05:43 +00:00
Call the gosuper from node via unix socket + http.
This commit is contained in:
parent
300067febe
commit
dd53bbd1db
4
entry.sh
4
entry.sh
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
if [ -z $GOSUPER_SOCKET ]; then
|
||||||
|
GOSUPER_SOCKET=/var/run/gosuper.sock
|
||||||
|
fi
|
||||||
|
|
||||||
[ -d /dev/net ] ||
|
[ -d /dev/net ] ||
|
||||||
mkdir -p /dev/net
|
mkdir -p /dev/net
|
||||||
[ -c /dev/net/tun ] ||
|
[ -c /dev/net/tun ] ||
|
||||||
|
@ -2,7 +2,9 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
"resin-supervisor/Godeps/_workspace/src/github.com/gorilla/mux"
|
"resin-supervisor/Godeps/_workspace/src/github.com/gorilla/mux"
|
||||||
)
|
)
|
||||||
@ -25,6 +27,7 @@ func main() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ResinDataPath = "/resin-data/"
|
ResinDataPath = "/resin-data/"
|
||||||
|
laddr := os.Getenv("GOSUPER_SOCKET")
|
||||||
|
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
r.HandleFunc("/ping", pingHandler)
|
r.HandleFunc("/ping", pingHandler)
|
||||||
@ -32,6 +35,14 @@ func main() {
|
|||||||
|
|
||||||
apiv1.HandleFunc("/purge", PurgeHandler).Methods("POST")
|
apiv1.HandleFunc("/purge", PurgeHandler).Methods("POST")
|
||||||
|
|
||||||
http.ListenAndServe(":8080", r)
|
listener, err := net.Listen("unix", laddr)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Could not listen on " + laddr)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = http.Serve(listener, r)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Could not start HTTP server")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ tty = require './lib/tty'
|
|||||||
knex = require './db'
|
knex = require './db'
|
||||||
express = require 'express'
|
express = require 'express'
|
||||||
bodyParser = require 'body-parser'
|
bodyParser = require 'body-parser'
|
||||||
|
request = require 'request'
|
||||||
|
config = require './config'
|
||||||
|
|
||||||
module.exports = (secret) ->
|
module.exports = (secret) ->
|
||||||
api = express()
|
api = express()
|
||||||
@ -57,4 +59,7 @@ module.exports = (secret) ->
|
|||||||
.catch (err) ->
|
.catch (err) ->
|
||||||
res.status(503).send(err?.message or err or 'Unknown error')
|
res.status(503).send(err?.message or err or 'Unknown error')
|
||||||
|
|
||||||
|
api.post '/v1/purge', (req, res) ->
|
||||||
|
request.post(config.gosuperAddress + '/v1/purge', req.body).pipe(res)
|
||||||
|
|
||||||
return api
|
return api
|
||||||
|
@ -10,6 +10,7 @@ checkInt = (s) ->
|
|||||||
module.exports = config =
|
module.exports = config =
|
||||||
apiEndpoint: process.env.API_ENDPOINT ? 'https://api.resin.io'
|
apiEndpoint: process.env.API_ENDPOINT ? 'https://api.resin.io'
|
||||||
listenPort: process.env.LISTEN_PORT ? 80
|
listenPort: process.env.LISTEN_PORT ? 80
|
||||||
|
gosuperAddress: "http://unix:#{process.env.GOSUPER_SOCKET}:"
|
||||||
registryEndpoint: process.env.REGISTRY_ENDPOINT ? 'registry.resin.io'
|
registryEndpoint: process.env.REGISTRY_ENDPOINT ? 'registry.resin.io'
|
||||||
pubnub:
|
pubnub:
|
||||||
subscribe_key: process.env.PUBNUB_SUBSCRIBE_KEY ? 'sub-c-bananas'
|
subscribe_key: process.env.PUBNUB_SUBSCRIBE_KEY ? 'sub-c-bananas'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user