示例#1
0
文件: k8s.py 项目: praveendhac/nephos
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
示例#2
0
文件: k8s.py 项目: praveendhac/nephos
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))
示例#3
0
文件: k8s.py 项目: 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
示例#4
0
文件: k8s.py 项目: 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
示例#5
0
文件: k8s.py 项目: 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
示例#6
0
文件: k8s.py 项目: 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))
示例#7
0
文件: k8s.py 项目: 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
示例#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
示例#9
0
文件: k8s.py 项目: 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
示例#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
示例#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
示例#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
示例#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)))
示例#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
示例#15
0
文件: k8s.py 项目: praveendhac/nephos
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
示例#16
0
文件: k8s.py 项目: praveendhac/nephos
def ns_read(namespace, verbose=False):
    ns = api.read_namespace(name=namespace)
    if verbose:
        pretty_print(json.dumps(ns.metadata, default=str))
    return ns
示例#17
0
文件: k8s.py 项目: praveendhac/nephos
def context_get(verbose=False):
    contexts, active_context = config.list_kube_config_contexts()
    if verbose:
        pretty_print(json.dumps(active_context))
    return active_context
示例#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'
     )
示例#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)))
示例#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'
     )
示例#21
0
文件: k8s.py 项目: praveendhac/nephos
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