mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-08 16:06:47 +00:00
Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Test case included for default and non-default Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Changed Fake Labeller Implementation Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com>
48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package handlers
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
"path"
|
|
|
|
"github.com/openfaas/faasd/pkg"
|
|
faasd "github.com/openfaas/faasd/pkg"
|
|
provider "github.com/openfaas/faasd/pkg/provider"
|
|
)
|
|
|
|
func getRequestNamespace(namespace string) string {
|
|
|
|
if len(namespace) > 0 {
|
|
return namespace
|
|
}
|
|
return faasd.DefaultFunctionNamespace
|
|
}
|
|
|
|
func readNamespaceFromQuery(r *http.Request) string {
|
|
q := r.URL.Query()
|
|
return q.Get("namespace")
|
|
}
|
|
|
|
func getNamespaceSecretMountPath(userSecretPath string, namespace string) string {
|
|
return path.Join(userSecretPath, namespace)
|
|
}
|
|
|
|
// validNamespace indicates whether the namespace is eligable to be
|
|
// used for OpenFaaS functions.
|
|
func validNamespace(store provider.Labeller, namespace string) (bool, error) {
|
|
if namespace == faasd.DefaultFunctionNamespace {
|
|
return true, nil
|
|
}
|
|
|
|
labels, err := store.Labels(context.Background(), namespace)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
if value, found := labels[pkg.NamespaceLabel]; found && value == "true" {
|
|
return true, nil
|
|
}
|
|
|
|
return false, nil
|
|
}
|