package cli import ( "context" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" ) // HasStackName checks whether the given name is used in the given namespace. func (kcl *KubeClient) HasStackName(namespace string, stackName string) (bool, error) { querySet := labels.Set{"io.portainer.kubernetes.application.stack": stackName} listOpts := metav1.ListOptions{LabelSelector: labels.SelectorFromSet(querySet).String()} list, err := kcl.cli.AppsV1().Deployments(namespace).List(context.TODO(), listOpts) if err != nil { return false, err } if len(list.Items) > 0 { return false, nil } return true, nil }