@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
46 lines • 2.06 kB
TypeScript
import * as k8s from "@kubernetes/client-node";
import { KubernetesApplication, KubernetesResourceRequest, KubernetesSdm } from "./request";
/**
* Create application secrets if they do not exist. If a secret in
* `req.secrets` exists, the secret is patched. The provided secrets
* are merged through [[secretTemplate]] before creating/patching. If
* `req.secrets` is false or any empty array, no secrets are modified.
*
* @param req Kuberenetes application request
* @return Array of secret specs created/patched, which array may be empty
*/
export declare function upsertSecrets(req: KubernetesResourceRequest): Promise<k8s.V1Secret[]>;
/**
* Add labels to a secret so we can delete it later.
*
* @param secret the unlabeled secret
* @return the provided secret with appropriate labels
*/
export declare function secretTemplate(req: KubernetesApplication & KubernetesSdm, secret: k8s.V1Secret): Promise<k8s.V1Secret>;
/**
* Create encoded opaque secret object from key/value pairs.
*
* @param secrets Key/value pairs of secrets, the values will be base64 encoded in the returned secret
* @return Kubernetes secret object
*/
export declare function encodeSecret(name: string, data: {
[key: string]: string;
}): k8s.V1Secret;
/**
* Return a copy of the provided secret with its data values
* encrypted. The provided secret should have its data values base64
* encoded. The provided secret is not modified.
*
* @param secret Kubernetes secret with base64 encoded data values
* @return Kubernetes secret object with encrypted data values
*/
export declare function encryptSecret(secret: k8s.V1Secret, key: string): Promise<k8s.V1Secret>;
/**
* Return a copy of the provided secret with its data valued
* decrypted. The provided secret is not modified.
*
* @param secret Kubernetes secret with encrypted data values
* @return Kubernetes secret object with base64 encoded data values
*/
export declare function decryptSecret(secret: k8s.V1Secret, key: string): Promise<k8s.V1Secret>;
//# sourceMappingURL=secret.d.ts.map