Ejemplo n.º 1
0
def secret_read(name, namespace='default', verbose=False):
    secret = api.read_namespaced_secret(name=name, namespace=namespace)
    for key, value in secret.data.items():
        if value:
            secret.data[key] = base64.b64decode(value).decode(
                'utf-8', 'ignore')
    if verbose:
        pretty_print(json.dumps(secret.data))
    return secret.data
Ejemplo n.º 2
0
def ns_create(namespace, verbose=False):
    try:
        ns_read(namespace, verbose=verbose)
    except ApiException:
        ns = client.V1Namespace()
        ns.metadata = client.V1ObjectMeta(name=namespace)
        api.create_namespace(ns)
        if verbose:
            print(TERM.green('Created namespace "{}"'.format(namespace)))
            pretty_print(json.dumps(ns.metadata, default=str))
Ejemplo n.º 3
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def context_get(verbose=False):
    """Obtain active K8S context.

    Args:
        verbose (bool): Verbosity. False by default.

    Returns:
        object: Active context.
    """
    _, active_context = config.list_kube_config_contexts()
    if verbose:
        pretty_print(json.dumps(active_context))
    return active_context
Ejemplo n.º 4
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def ns_read(namespace, verbose=False):
    """Read Name of namespace.

    Args:
        namespace (str): Name of namespace.
        verbose (bool): Verbosity. False by default.

    Returns:
        object: Namespace object.
    """
    ns = api.read_namespace(name=namespace)
    if verbose:
        pretty_print(json.dumps(ns.metadata, default=str))
    return ns
Ejemplo n.º 5
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def cm_read(name, namespace="default", verbose=False):
    """Read a K8S ConfigMap.

    Args:
        name (str): Name of the ConfigMap.
        namespace (str): Name of namespace.
        verbose (bool): Verbosity. False by default.

    Returns:
        dict: Keys and values stored in the ConfigMap.
    """
    cm = api.read_namespaced_config_map(name=name, namespace=namespace)
    if verbose:
        pretty_print(json.dumps(cm.data))
    return cm.data
Ejemplo n.º 6
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def ns_create(namespace, verbose=False):
    """Create K8S namespace.

    Args:
        namespace (str): Name of namespace.
        verbose (bool): Verbosity. False by default.
    """
    try:
        ns_read(namespace, verbose=verbose)
    except ApiException:
        ns = client.V1Namespace()
        ns.metadata = client.V1ObjectMeta(name=namespace)
        api.create_namespace(ns)
        if verbose:
            print(TERM.green('Created namespace "{}"'.format(namespace)))
            pretty_print(json.dumps(ns.metadata, default=str))
Ejemplo n.º 7
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def ingress_read(name, namespace="default", verbose=False):
    """Get host names contained in K8S Ingress.

    Args:
        name (str): Name of Ingress.
        namespace (str): Name of namespace.
        verbose (bool): Verbosity. False by default.

    Returns:
        list: List of host names.
    """
    ingress = api_ext.read_namespaced_ingress(name=name, namespace=namespace)
    hosts = [item.host for item in ingress.spec.rules if item.host]
    if verbose:
        pretty_print(json.dumps(hosts))
    return hosts
Ejemplo n.º 8
0
def context_get():
    """Obtain active K8S context.

    Returns:
        object: Active context.
    """
    _, active_context = config.list_kube_config_contexts()
    logging.debug(pretty_print(json.dumps(active_context)))
    return active_context
Ejemplo n.º 9
0
Archivo: k8s.py Proyecto: Dpk28/nephos
def secret_read(name, namespace="default", verbose=False):
    """Read a K8S Secret.

    Args:
        name (str): Name of the Secret.
        namespace (str): Name of namespace.
        verbose (bool): Verbosity. False by default.

    Returns:
        dict: Keys and values stored in the Secret.
    """
    secret = api.read_namespaced_secret(name=name, namespace=namespace)
    for key, value in secret.data.items():
        if value:
            secret.data[key] = base64.b64decode(value).decode(
                "utf-8", "ignore")
    if verbose:
        pretty_print(json.dumps(secret.data))
    return secret.data
Ejemplo n.º 10
0
def ns_read(namespace):
    """Read Name of namespace.

    Args:
        namespace (str): Name of namespace.

    Returns:
        object: Namespace object.
    """
    ns = api.read_namespace(name=namespace)
    logging.debug(pretty_print(json.dumps(ns.metadata, default=str)))
    return ns
Ejemplo n.º 11
0
def cm_read(name, namespace="default"):
    """Read a K8S ConfigMap.

    Args:
        name (str): Name of the ConfigMap.
        namespace (str): Name of namespace.

    Returns:
        dict: Keys and values stored in the ConfigMap.
    """
    cm = api.read_namespaced_config_map(name=name, namespace=namespace)
    logging.debug(pretty_print(json.dumps(cm.data)))
    return cm.data
Ejemplo n.º 12
0
def ingress_read(name, namespace="default"):
    """Get host names contained in K8S Ingress.

    Args:
        name (str): Name of Ingress.
        namespace (str): Name of namespace.

    Returns:
        list: List of host names.
    """
    ingress = api_ext.read_namespaced_ingress(name=name, namespace=namespace)
    hosts = [item.host for item in ingress.spec.rules if item.host]
    logging.debug(pretty_print(json.dumps(hosts)))
    return hosts
Ejemplo n.º 13
0
def ns_create(namespace):
    """Create K8S namespace.

    Args:
        namespace (str): Name of namespace.
    """
    try:
        ns_read(namespace)
    except ApiException:
        ns = client.V1Namespace()
        ns.metadata = client.V1ObjectMeta(name=namespace)
        api.create_namespace(ns)
        logging.info(f'Created namespace "{namespace}"')
        logging.debug(pretty_print(json.dumps(ns.metadata, default=str)))
Ejemplo n.º 14
0
def secret_read(name, namespace="default"):
    """Read a K8S Secret.

    Args:
        name (str): Name of the Secret.
        namespace (str): Name of namespace.

    Returns:
        dict: Keys and values stored in the Secret.
    """
    secret = api.read_namespaced_secret(name=name, namespace=namespace)
    for key, value in secret.data.items():
        if value:
            secret.data[key] = base64.b64decode(value).decode(
                "utf-8", "ignore")
    logging.debug(pretty_print(json.dumps(secret.data)))
    return secret.data
Ejemplo n.º 15
0
def cm_read(name, namespace, verbose=False):
    cm = api.read_namespaced_config_map(name=name, namespace=namespace)
    if verbose:
        pretty_print(json.dumps(cm.data))
    return cm.data
Ejemplo n.º 16
0
def ns_read(namespace, verbose=False):
    ns = api.read_namespace(name=namespace)
    if verbose:
        pretty_print(json.dumps(ns.metadata, default=str))
    return ns
Ejemplo n.º 17
0
def context_get(verbose=False):
    contexts, active_context = config.list_kube_config_contexts()
    if verbose:
        pretty_print(json.dumps(active_context))
    return active_context
Ejemplo n.º 18
0
 def test_pretty_print(self):
     assert (
         pretty_print('{"some": "json"}') ==
         '{\x1b[34;01m"some"\x1b[39;49;00m: \x1b[33m"json"\x1b[39;49;00m}\n'
     )
Ejemplo n.º 19
0
def settings(settings):
    data = load_config(settings.settings_file)
    logging.info("Settings successfully loaded...\n")
    logging.debug(pretty_print(json.dumps(data, indent=4)))
Ejemplo n.º 20
0
 def test_pretty_print(self, mock_print):
     pretty_print('{"some": "json"}')
     mock_print.assert_called_with(
         '{\x1b[34;01m"some"\x1b[39;49;00m: \x1b[33m"json"\x1b[39;49;00m}\n'
     )
Ejemplo n.º 21
0
def ingress_read(name, namespace='default', verbose=False):
    ingress = api_ext.read_namespaced_ingress(name=name, namespace=namespace)
    hosts = [item.host for item in ingress.spec.rules]
    if verbose:
        pretty_print(json.dumps(hosts))
    return hosts