예제 #1
0
파일: secrets.py 프로젝트: interuss/dss
def upsert(client: CoreV1Api, log: BoundLogger, namespace: V1Namespace, secret: V1Secret) -> V1Secret:
    existing_secret = get(client, log, namespace, secret.metadata.name)
    return common_k8s.upsert_resource(
        existing_secret, secret, log, 'secret',
        lambda: client.create_namespaced_secret(
            body=secret, namespace=namespace.metadata.name),
        lambda: client.patch_namespaced_secret(
            existing_secret.metadata.name, namespace.metadata.name, secret))
예제 #2
0
파일: datadog.py 프로젝트: run-x/opta
    def create_secret(self, v1: CoreV1Api) -> str:
        value = self.module.data.get("api_key") or click.prompt(
            "Please enter your datadog api key (from https://app.datadoghq.com/account/settings#api)",
            type=click.STRING,
        )

        if not self.validate_api_key(value):
            raise UserErrors(
                "The api key which you passed was invalid, please provide a valid api key from "
                "https://app.datadoghq.com/account/settings#api"
            )

        secret_value = base64.b64encode(value.encode("utf-8")).decode("utf-8")
        patch = [
            {"op": "replace", "path": "/data/DATADOG_API_KEY", "value": secret_value}
        ]
        v1.patch_namespaced_secret("secret", self.layer.name, patch)
        return value