import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; export interface RioSecretsDeployStepProps { /** * Points to CodePipeline source step */ readonly input: pipelines.CodePipelineSource; /** * Path to secrets file containing encrypted secrets * @defaultValue Looks for file under 2 paths with the following priority: * 1. ./infrastructure/src/secrets/secrets.yaml followed by path * 2. ./src/secrets/secrets.yaml */ readonly secretsFilePath?: string; } export declare class RioSecretsDeployStep extends pipelines.CodeBuildStep { /** * Creates and attaches a codebuild project to the pipeline which looks for secrets.yaml under first ./infrastructure/src/secrets and then ./src/secrets. * The secrets are then uploaded to SSM and Secrets Manager according to the data in secrets.yaml * The Format of secrets file should be like the following example in yaml: * * --- * SSM: * * /config/application/secret: password * * /config/application2/secret: password * * SecretsManager: * * plain_text_secret: value * * json_secret: * * key1: value1 * * key2: value2 */ constructor(scope: Construct, id: string, props: RioSecretsDeployStepProps); }