def update(resource, dns, zone, private, ingress_filter): if resource in valid_resources: if "ingress" == resource: logger.info("Updating ingress based on nginx ingress controller") ingress_controller = discovery.list_svc_by_labels( label_selector="app=nginx-ingress", filter="name:nginx") logger.info(f"Found {ingress_controller}") dns_data = dns_zone.get_hosted_zone(filter=f"name:{zone}", private=private) ingresses = discovery.list_ing_name_by_labels( label_selector=None, filter=ingress_filter, fields="name") logger.info(f"Found: {ingresses}") logger.info(f"Found dns {dns_data}") dns_names = [ element["name"] for element in ingresses if element["name"] ] zone_id = dns_data.id logger.info(f"DNS names: {dns_names}") logger.info(f"DNS zone: {zone_id}")
def test_list_service_by_label_valid_label_selector_and_filter(): filter = "name:nginx" result = svc.list_svc_by_labels(label_selector=None, filter=filter) assert result != None assert result.items != None assert len(result.items) > 0 assert result.items[0].metadata.name == "kubernetes"
def test_list_service_by_label_empty_label_selector(): label_selector = "" result = svc.list_svc_by_labels(label_selector=label_selector) assert result != None assert result.items != None assert len(result.items) > 0
def test_list_service_by_label_valid_label_selector(): label_selector = "component=apiserver,provider=kubernetes" result = svc.list_svc_by_labels(label_selector=label_selector) assert result != None assert result.items != None assert len(result.items) > 0 assert result.items[0].metadata.name == "kubernetes"
def get(resource, filter, label_selector): if resource in valid_resources: if "ingress" == resource: click.echo("Getting ingresses in all namespaces") click.echo( discovery.list_ing_name_by_labels( label_selector=label_selector, filter=filter)) elif "service" == resource: click.echo("Getting service in all namespaces") click.echo( discovery.list_svc_by_labels(label_selector=label_selector, filter=filter)) elif resource == "dns.zone": click.echo(dns_zone.get_hosted_zone(filter=filter, private=False))