mirror of
https://github.com/openfaas/faas.git
synced 2025-06-30 10:43:35 +00:00
Add health and info endpoints
Fixes issue 689 by enabling /healthz and /system/info, see swagger for more details. Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
This commit is contained in:
committed by
Alex Ellis
parent
fa3ae74f37
commit
4123270235
@ -1,7 +1,7 @@
|
|||||||
swagger: '2.0'
|
swagger: '2.0'
|
||||||
info:
|
info:
|
||||||
description: OpenFaaS API documentation
|
description: OpenFaaS API documentation
|
||||||
version: 0.8.0
|
version: 0.8.1
|
||||||
title: OpenFaaS API Gateway
|
title: OpenFaaS API Gateway
|
||||||
license:
|
license:
|
||||||
name: MIT
|
name: MIT
|
||||||
@ -213,6 +213,29 @@ paths:
|
|||||||
description: Function not found
|
description: Function not found
|
||||||
'500':
|
'500':
|
||||||
description: Error querying function
|
description: Error querying function
|
||||||
|
'/system/info':
|
||||||
|
get:
|
||||||
|
summary: Get info such as provider version number and provider orchestrator
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Info result
|
||||||
|
examples:
|
||||||
|
application/json: |-
|
||||||
|
{"provider":"faas-swarm","version":{"sha":"7108418d9dd6b329ddff40e7393b3166f8160a88","release":"0.2.6"},"orchestration":"swarm"}
|
||||||
|
'404':
|
||||||
|
description: Provider does not support info endpoint
|
||||||
|
'500':
|
||||||
|
description: Error finding info
|
||||||
|
'/healthz':
|
||||||
|
get:
|
||||||
|
summary: Healthcheck
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Healthy
|
||||||
|
'500':
|
||||||
|
description: Not healthy
|
||||||
definitions:
|
definitions:
|
||||||
DeleteFunctionRequest:
|
DeleteFunctionRequest:
|
||||||
type: object
|
type: object
|
||||||
|
@ -28,7 +28,7 @@ func main() {
|
|||||||
log.Printf("HTTP Write Timeout: %s", config.WriteTimeout)
|
log.Printf("HTTP Write Timeout: %s", config.WriteTimeout)
|
||||||
|
|
||||||
if !config.UseExternalProvider() {
|
if !config.UseExternalProvider() {
|
||||||
log.Fatalln("As of this version of OpenFaaS, you must use external provider even for Docker Swarm.")
|
log.Fatalln("You must provide an external provider via 'functions_provider_url' env-var.")
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Binding to external function provider: %s", config.FunctionsProviderURL)
|
log.Printf("Binding to external function provider: %s", config.FunctionsProviderURL)
|
||||||
@ -92,6 +92,8 @@ func main() {
|
|||||||
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}", faasHandlers.Proxy)
|
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}", faasHandlers.Proxy)
|
||||||
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}/", faasHandlers.Proxy)
|
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}/", faasHandlers.Proxy)
|
||||||
|
|
||||||
|
r.HandleFunc("/system/info", handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver)).Methods(http.MethodGet)
|
||||||
|
|
||||||
r.HandleFunc("/system/alert", faasHandlers.Alert)
|
r.HandleFunc("/system/alert", faasHandlers.Alert)
|
||||||
|
|
||||||
r.HandleFunc("/system/function/{name:[-a-zA-Z_0-9]+}", queryFunction).Methods(http.MethodGet)
|
r.HandleFunc("/system/function/{name:[-a-zA-Z_0-9]+}", queryFunction).Methods(http.MethodGet)
|
||||||
@ -117,6 +119,8 @@ func main() {
|
|||||||
|
|
||||||
metricsHandler := metrics.PrometheusHandler()
|
metricsHandler := metrics.PrometheusHandler()
|
||||||
r.Handle("/metrics", metricsHandler)
|
r.Handle("/metrics", metricsHandler)
|
||||||
|
r.HandleFunc("/healthz", handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver)).Methods(http.MethodGet)
|
||||||
|
|
||||||
r.Handle("/", http.RedirectHandler("/ui/", http.StatusMovedPermanently)).Methods(http.MethodGet)
|
r.Handle("/", http.RedirectHandler("/ui/", http.StatusMovedPermanently)).Methods(http.MethodGet)
|
||||||
|
|
||||||
tcpPort := 8080
|
tcpPort := 8080
|
||||||
|
Reference in New Issue
Block a user