External alert-handler support.

This commit is contained in:
Alex Ellis 2017-07-27 12:24:37 +01:00
parent 1e4b5f907a
commit 33381a783a
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,31 @@
package plugin
import (
"net/url"
"github.com/alexellis/faas/gateway/handlers"
)
func NewExternalServiceQuery(externalURL url.URL) handlers.ServiceQuery {
return ExternalServiceQuery{
URL: externalURL,
}
}
type ExternalServiceQuery struct {
URL url.URL
}
// GetReplicas replica count for function
func (s ExternalServiceQuery) GetReplicas(serviceName string) (uint64, uint64, error) {
var err error
return 0, 0, err
}
// SetReplicas update the replica count
func (s ExternalServiceQuery) SetReplicas(serviceName string, count uint64) error {
var err error
return err
}

View File

@ -14,6 +14,7 @@ import (
"github.com/Sirupsen/logrus"
internalHandlers "github.com/alexellis/faas/gateway/handlers"
"github.com/alexellis/faas/gateway/metrics"
"github.com/alexellis/faas/gateway/plugin"
"github.com/alexellis/faas/gateway/types"
"github.com/docker/docker/client"
"github.com/prometheus/client_golang/prometheus"
@ -69,7 +70,9 @@ func main() {
faasHandlers.Proxy = makeHandler(reverseProxy, &metricsOptions)
faasHandlers.RoutelessProxy = makeHandler(reverseProxy, &metricsOptions)
faasHandlers.Alert = makeHandler(reverseProxy, &metricsOptions)
faasHandlers.Alert = internalHandlers.MakeAlertHandler(plugin.NewExternalServiceQuery(*config.FunctionsProviderURL))
faasHandlers.ListFunctions = makeHandler(reverseProxy, &metricsOptions)
faasHandlers.DeployFunction = makeHandler(reverseProxy, &metricsOptions)
faasHandlers.DeleteFunction = makeHandler(reverseProxy, &metricsOptions)