I hereby claim:
- I am michaelfecher on github.
- I am michaelfecher (https://keybase.io/michaelfecher) on keybase.
- I have a public key ASA9tKMNEdTVaK20y4oNVAaB1P0Twzlk3G5OChZ29zP2aAo
To claim this, I am signing this object:
// source: https://github.com/michaelfecher/cdk-field-guide/blob/main/remove-hard-coded-values-and-use-variables/environment-variables/vpc-stack.ts | |
export class VpcStack extends Stack { | |
constructor(scope: Construct, id: string, props?: StackProps) { | |
super(scope, id, props); | |
// reading the value from the env. | |
// Obviously, you have to set it before or pass it before you call any cdk command | |
const vpcCidr = process.env.VPC_CIDR; | |
new Vpc(this, 'VPC', { | |
maxAzs: 3, |
# ECS specific CDK code organization | |
repo-infra | |
|- pipeline (main cdk-app, stacks, taskdefinitions for app_A & app_B**) | |
|- app_A (buildspec, imports A specific stuff from pipeline) | |
|- app_B (buildspec, imports B specific stuff from pipeline) | |
repo-app_A | |
|- cicd (=> Build/Test + Docker Build/Push + ECR CodeDeploy) |
import * as cdk from "@aws-cdk/core"; | |
import * as codecommit from "@aws-cdk/aws-codecommit"; | |
import * as codebuild from "@aws-cdk/aws-codebuild"; | |
import * as codepipeline from "@aws-cdk/aws-codepipeline"; | |
import * as codepipeline_actions from "@aws-cdk/aws-codepipeline-actions"; | |
import * as iam from "@aws-cdk/aws-iam"; | |
export class CrossAccountCodePipelineStack extends cdk.Stack { | |
constructor(scope: cdk.Construct, id: string, props: cdk.StackProps) { | |
super(scope, id, props); |
// file: lib/backend-task-stack.ts | |
import * as cdk from "@aws-cdk/core"; | |
import * as ecs from "@aws-cdk/aws-ecs"; | |
import * as iam from "@aws-cdk/aws-iam"; | |
import * as ecr from "@aws-cdk/aws-ecr"; | |
import { DBCredentials } from "./db-credentials-stack"; | |
export interface BackendStackProps extends cdk.StackProps { | |
backendPort: number; | |
dbEndpoint: string; |
// file: lib/db-credentials-stack.ts | |
import { ISecret, Secret } from "@aws-cdk/aws-secretsmanager"; | |
import * as cdk from "@aws-cdk/core"; | |
export interface DBCredentials { | |
username: ISecret; | |
password: ISecret; | |
} | |
export class DbCredentialsStack extends cdk.Stack { |
// file: lib/rds-stack.ts | |
import * as cdk from "@aws-cdk/core"; | |
import * as ec2 from "@aws-cdk/aws-ec2"; | |
import * as rds from "@aws-cdk/aws-rds"; | |
import { DBCredentials} from "./db-credentials-stack"; | |
export interface RDSStackProps extends cdk.StackProps { | |
vpc: ec2.Vpc; | |
credentials: DBCredentials; | |
} |
I hereby claim:
To claim this, I am signing this object: