lemur_kubernetes package

lemur_kubernetes Module

plugin Module

class lemur.plugins.lemur_kubernetes.plugin.K8sSession(bearer, cert_file)

Bases: Session

request(method, url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=30, allow_redirects=True, proxies=None, hooks=None, stream=None, verify=None, cert=None, json=None)

This method overrides the default timeout to be 10s.

class lemur.plugins.lemur_kubernetes.plugin.KubernetesDestinationPlugin(*args, **kwargs)

Bases: DestinationPlugin

author: str | None = 'Mikhail Khodorovskiy'
author_url: str | None = 'https://github.com/mik373/lemur'
description: str | None = 'Allow the uploading of certificates to Kubernetes as secret'
k8s_bearer(options)
k8s_cert(options)
k8s_namespace(options)
options: List[Dict[str, Any]] = [{'default': '{common_name}', 'helpMessage': 'Must be a valid secret name, possibly including "{common_name}"', 'name': 'secretNameFormat', 'required': False, 'type': 'str', 'validation': '(?:[a-z0-9.-]|\\{common_name\\})+'}, {'default': 'https://kubernetes.default', 'helpMessage': 'Must be a valid Kubernetes server URL!', 'name': 'kubernetesURL', 'required': False, 'type': 'str', 'validation': 'https?://[a-zA-Z0-9.-]+(?::[0-9]+)?'}, {'helpMessage': 'Must be a valid Kubernetes server Token!', 'name': 'kubernetesAuthToken', 'required': False, 'type': 'str', 'validation': '[0-9a-zA-Z-_.]+'}, {'default': '/var/run/secrets/kubernetes.io/serviceaccount/token', 'helpMessage': 'Must be a valid file path!', 'name': 'kubernetesAuthTokenFile', 'required': False, 'type': 'str', 'validation': '(/[^/]+)+'}, {'helpMessage': 'Must be a valid Kubernetes server Certificate!', 'name': 'kubernetesServerCertificate', 'required': False, 'type': 'textarea', 'validation': '-----BEGIN CERTIFICATE-----[a-zA-Z0-9/+\\s\\r\\n]+-----END CERTIFICATE-----'}, {'default': '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', 'helpMessage': 'Must be a valid file path!', 'name': 'kubernetesServerCertificateFile', 'required': False, 'type': 'str', 'validation': '(/[^/]+)+'}, {'helpMessage': 'Must be a valid Kubernetes Namespace!', 'name': 'kubernetesNamespace', 'required': False, 'type': 'str', 'validation': '[a-z0-9]([-a-z0-9]*[a-z0-9])?'}, {'default': '/var/run/secrets/kubernetes.io/serviceaccount/namespace', 'helpMessage': 'Must be a valid file path!', 'name': 'kubernetesNamespaceFile', 'required': False, 'type': 'str', 'validation': '(/[^/]+)+'}, {'available': ['Full', 'TLS', 'Certificate'], 'default': 'Full', 'helpMessage': 'The type of Secret to create.', 'name': 'secretFormat', 'required': True, 'type': 'select'}]
slug: str | None = 'kubernetes-destination'
title: str | None = 'Kubernetes'
upload(name, body, private_key, cert_chain, options, **kwargs)
lemur.plugins.lemur_kubernetes.plugin.build_secret(secret_format, secret_name, body, private_key, cert_chain)
lemur.plugins.lemur_kubernetes.plugin.ensure_resource(k8s_api, k8s_base_uri, namespace, kind, name, data)