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:
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user