mirror of
https://github.com/openfaas/faas.git
synced 2025-06-08 16:26:47 +00:00
Add namespaces endpoint
This is being added because multiple namespaces can now be used on Kubernetes. By listing namespaces, a client such as the UI or CLI can then enumerate the namespaces to find functions which may span across more than one namespace. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
This commit is contained in:
parent
0488e510ee
commit
137b63e61f
6
gateway/Gopkg.lock
generated
6
gateway/Gopkg.lock
generated
@ -93,15 +93,15 @@
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9e4fe15cd865c2200690de4722f7115eb85ae5fdb22b8215d54d890563e92536"
|
||||
digest = "1:5e3d58f3f10333495afd0248507ef369bfc4a938ff679d568f7ac38af1e067dd"
|
||||
name = "github.com/openfaas/faas-provider"
|
||||
packages = [
|
||||
"auth",
|
||||
"types",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "ba3fa3b0ae00f0b9222851f3e03b2e6ea8672998"
|
||||
version = "0.10.1"
|
||||
revision = "eafd85a3b360d8e0982c3a1db43e6d5fee9b85e2"
|
||||
version = "0.10.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:f7b0087a32b4f017ce89562494ae510f21e7d22e70cc1911640a32ebe583e92e"
|
||||
|
@ -6,7 +6,7 @@ ignored = ["github.com/openfaas/faas/gateway/queue"]
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/openfaas/faas-provider"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/gorilla/mux"
|
||||
|
@ -114,9 +114,12 @@ func main() {
|
||||
faasHandlers.DeleteFunction = handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector)
|
||||
faasHandlers.UpdateFunction = handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector)
|
||||
faasHandlers.QueryFunction = handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector)
|
||||
|
||||
faasHandlers.InfoHandler = handlers.MakeInfoHandler(handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector))
|
||||
faasHandlers.SecretHandler = handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector)
|
||||
|
||||
faasHandlers.NamespaceListerHandler = handlers.MakeForwardingProxyHandler(reverseProxy, forwardingNotifiers, urlResolver, nilURLTransformer, serviceAuthInjector)
|
||||
|
||||
externalServiceQuery := plugin.NewExternalServiceQuery(*config.FunctionsProviderURL, serviceAuthInjector)
|
||||
faasHandlers.Alert = handlers.MakeNotifierWrapper(
|
||||
handlers.MakeAlertHandler(externalServiceQuery, config.Namespace),
|
||||
@ -177,6 +180,8 @@ func main() {
|
||||
decorateExternalAuth(faasHandlers.SecretHandler, config.UpstreamTimeout, config.AuthProxyURL, config.AuthProxyPassBody)
|
||||
faasHandlers.LogProxyHandler =
|
||||
decorateExternalAuth(faasHandlers.LogProxyHandler, config.UpstreamTimeout, config.AuthProxyURL, config.AuthProxyPassBody)
|
||||
faasHandlers.NamespaceListerHandler =
|
||||
decorateExternalAuth(faasHandlers.NamespaceListerHandler, config.UpstreamTimeout, config.AuthProxyURL, config.AuthProxyPassBody)
|
||||
}
|
||||
|
||||
r := mux.NewRouter()
|
||||
@ -213,6 +218,8 @@ func main() {
|
||||
r.HandleFunc("/system/secrets", faasHandlers.SecretHandler).Methods(http.MethodGet, http.MethodPut, http.MethodPost, http.MethodDelete)
|
||||
r.HandleFunc("/system/logs", faasHandlers.LogProxyHandler).Methods(http.MethodGet)
|
||||
|
||||
r.HandleFunc("/system/namespaces", faasHandlers.NamespaceListerHandler).Methods(http.MethodGet)
|
||||
|
||||
if faasHandlers.QueuedProxy != nil {
|
||||
r.HandleFunc("/async-function/{name:["+NameExpression+"]+}/", faasHandlers.QueuedProxy).Methods(http.MethodPost)
|
||||
r.HandleFunc("/async-function/{name:["+NameExpression+"]+}", faasHandlers.QueuedProxy).Methods(http.MethodPost)
|
||||
|
@ -14,24 +14,27 @@ type HandlerSet struct {
|
||||
|
||||
UpdateFunction http.HandlerFunc
|
||||
|
||||
// QueryFunction - queries the metdata for a function
|
||||
// QueryFunction queries the metdata for a function
|
||||
QueryFunction http.HandlerFunc
|
||||
|
||||
// QueuedProxy - queue work and return synchronous response
|
||||
// QueuedProxy queue work and return synchronous response
|
||||
QueuedProxy http.HandlerFunc
|
||||
|
||||
// AsyncReport - report a deferred execution result
|
||||
// AsyncReport report a deferred execution result
|
||||
AsyncReport http.HandlerFunc
|
||||
|
||||
// ScaleFunction allows a function to be scaled
|
||||
// ScaleFunction enables a function to be scaled
|
||||
ScaleFunction http.HandlerFunc
|
||||
|
||||
// InfoHandler provides version and build info
|
||||
InfoHandler http.HandlerFunc
|
||||
|
||||
// SecretHandler allows secrets to be managed
|
||||
// SecretHandler enables secrets to be managed
|
||||
SecretHandler http.HandlerFunc
|
||||
|
||||
// LogProxyHandler allows streaming of logs for functions
|
||||
// LogProxyHandler enables streaming of logs for functions
|
||||
LogProxyHandler http.HandlerFunc
|
||||
|
||||
// NamespaceListerHandler lists namespaces
|
||||
NamespaceListerHandler http.HandlerFunc
|
||||
}
|
||||
|
17
gateway/vendor/github.com/openfaas/faas-provider/types/config.go
generated
vendored
17
gateway/vendor/github.com/openfaas/faas-provider/types/config.go
generated
vendored
@ -7,11 +7,13 @@ import (
|
||||
|
||||
// FaaSHandlers provide handlers for OpenFaaS
|
||||
type FaaSHandlers struct {
|
||||
FunctionReader http.HandlerFunc
|
||||
DeployHandler http.HandlerFunc
|
||||
// FunctionProxy provides the function invocation proxy logic. Use proxy.NewHandlerFunc to
|
||||
// use the standard OpenFaaS proxy implementation or provide completely custom proxy logic.
|
||||
FunctionProxy http.HandlerFunc
|
||||
FunctionProxy http.HandlerFunc
|
||||
|
||||
FunctionReader http.HandlerFunc
|
||||
DeployHandler http.HandlerFunc
|
||||
|
||||
DeleteHandler http.HandlerFunc
|
||||
ReplicaReader http.HandlerFunc
|
||||
ReplicaUpdater http.HandlerFunc
|
||||
@ -19,10 +21,11 @@ type FaaSHandlers struct {
|
||||
// LogHandler provides streaming json logs of functions
|
||||
LogHandler http.HandlerFunc
|
||||
|
||||
// Optional: Update an existing function
|
||||
UpdateHandler http.HandlerFunc
|
||||
HealthHandler http.HandlerFunc
|
||||
InfoHandler http.HandlerFunc
|
||||
// UpdateHandler an existing function/service
|
||||
UpdateHandler http.HandlerFunc
|
||||
HealthHandler http.HandlerFunc
|
||||
InfoHandler http.HandlerFunc
|
||||
ListNamespaceHandler http.HandlerFunc
|
||||
}
|
||||
|
||||
// FaaSConfig set config for HTTP handlers
|
||||
|
Loading…
x
Reference in New Issue
Block a user