public void undeployApp(String appName) throws HyscaleException {
        logger.info("Undeploy initiated for application - {}", appName);
        if (StringUtils.isBlank(appName)) {
            logger.error("No applicaton found for undeployment");
            throw new HyscaleException(DeployerErrorCodes.APPLICATION_REQUIRED);
        }
        PodParentUtil podParentUtil = new PodParentUtil(apiClient, namespace);
        Map<String, PodParent> serviceVsPodParents = podParentUtil.getServiceVsPodParentMap(appName);
        if (serviceVsPodParents != null && !serviceVsPodParents.isEmpty()) {
            for (Map.Entry<String, PodParent> entry : serviceVsPodParents.entrySet()) {
                PodParent podParent = entry.getValue();
                List<CustomResourceKind> appliedKindsList = podParentUtil.getAppliedKindsList(podParent);
                String selector = ResourceSelectorUtil.getServiceSelector(appName, null);
                deleteResources(selector, appliedKindsList);
            }
        }
    }
Undeploy resources from cluster
Deletes all resources belonging to all services in an app environment

@param appName
@throws HyscaleException
deployer/deployer-services/src/main/java/io/hyscale/deployer/services/util/K8sResourceDispatcher.java