add namespace param for fn and env (#2556)

This PR moves fission CLI as closer as possible to kubectl command behaviour.  We have improved namespace handling behaviour across CLI.

* add namespace param for fn and env
* use common fn for ns check
* update validation
* default namespace for httpTrigger, env and package, config and triggers
* use default ns
* add namespace filter to spec
* add forceNamespace flag
* set current namespace
* add default namespace in config
* add namespace specific destroy
* add all namespace in the list of resources
* add namespace as global tag
* use %s instead of %v
* add test cases for namespace
* use ns in get all functions
This commit is contained in:
neha_gupta
2022-10-11 13:23:47 +05:30
committed by GitHub
parent 0739aca920
commit b9513868ed
74 changed files with 1289 additions and 304 deletions
+11 -2
View File
@@ -150,12 +150,21 @@ func ValidateKubeName(field string, val string) error {
return result.ErrorOrNil()
}
// validateNS is to match the k8s behaviour. Where it is not mandatory to provide a NS. And so we validate it if user has provided one.
// Or we skip the validation on namespace.
func validateNS(refName string, namespace string) error {
if namespace != "" {
return ValidateKubeName(refName, namespace)
}
return nil
}
func ValidateKubeReference(refName string, name string, namespace string) error {
result := &multierror.Error{}
result = multierror.Append(result,
ValidateKubeName(fmt.Sprintf("%v.Name", refName), name),
ValidateKubeName(fmt.Sprintf("%v.Namespace", refName), namespace))
ValidateKubeName(fmt.Sprintf("%s.Name", refName), name),
validateNS(fmt.Sprintf("%s.Namespace", refName), namespace))
return result.ErrorOrNil()
}