def delete()

in nuvolaris/endpoint.py [0:0]


def delete(owner=None):
    """
    undeploys ingresses for nuvolaris apihost
    """    
    logging.info(f"*** removing ingresses for nuvolaris apihost")
    namespace = "nuvolaris"
    runtime = cfg.get('nuvolaris.kube')        
    ingress_class = util.get_ingress_class(runtime)
    apihost = apihost_util.get_apihost(runtime)
    hostname = apihost_util.extract_hostname(apihost)
    should_delete_www = "www" not in hostname and runtime not in ["kind"]
    
    try:
        res = ""
        if(runtime=='openshift'):
            res = kube.kubectl("delete", "route",api_route_name(namespace,"apihost"))
            res += kube.kubectl("delete", "route",api_route_name(namespace,"apihost-my"))
            res += kube.kubectl("delete", "route",api_route_name(namespace,"apihost-info"))

            if should_delete_www:
                res += kube.kubectl("delete", "route",api_route_name(namespace,"apihost-www-my"))
            return res

        if(ingress_class == 'traefik'):            
            res = kube.kubectl("delete", "middleware.traefik.containo.us",api_middleware_ingress_name(namespace,"apihost"))
            res += kube.kubectl("delete", "middleware.traefik.containo.us",api_middleware_ingress_name(namespace,"apihost-my"))
            res += kube.kubectl("delete", "middleware.traefik.containo.us",api_middleware_ingress_name(namespace,"apihost-info"))
            if should_delete_www:
                res += kube.kubectl("delete", "middleware.traefik.containo.us",api_middleware_ingress_name(namespace,"apihost-www-my"))          

        res += kube.kubectl("delete", "ingress",api_ingress_name(namespace,"apihost"))
        res += kube.kubectl("delete", "ingress",api_ingress_name(namespace,"apihost-my"))
        res += kube.kubectl("delete", "ingress",api_ingress_name(namespace,"apihost-info"))
        if should_delete_www:
            res += kube.kubectl("delete", "ingress",api_ingress_name(namespace,"apihost-www-my"))
        return res
    except Exception as e:
        logging.warn(e)       
        return False