def ensure_secret(api: client.CoreV1Api, secret, name, namespace): if len( api.list_namespaced_secret( namespace=namespace, field_selector=f'metadata.name={name}').items) == 0: logger.info(f'creating secret: {name}') api.create_namespaced_secret(namespace=namespace, body=secret) else: logger.info(f'secret exists: {name}')
def list_secret_names(v1: CoreV1Api) -> Set[str]: secret_list = v1.list_namespaced_secret(namespace='default') return set([item.metadata.name for item in secret_list.items])
def get(client: CoreV1Api, log: BoundLogger, namespace: V1Namespace, name: str) -> Optional[V1Secret]: return common_k8s.get_resource( lambda: client.list_namespaced_secret(namespace=namespace.metadata.name), log, 'secret', name)