aws/aws-cdk

Automatically refer to the appropriate, regional FireLens image with addFirelensLogRouter()

Open

#7366 aperta il 15 apr 2020

Vedi su GitHub
 (8 commenti) (4 reazioni) (2 assegnatari)TypeScript (3530 fork)batch import
@aws-cdk/aws-ecr@aws-cdk/aws-ecseffort/smallfeature-requestgood first issuep2

Metriche repository

Star
 (10.710 star)
Metriche merge PR
 (Merge medio 14g 11h) (68 PR mergiate in 30 g)

Descrizione

The documentation suggests using Amazon's own ECR images for the FireLens container. However, image is a required property.

It would be a nice convenience if CDK could determine the destination stack's region and automatically use the proper ecr.Repository.fromRepositoryArn() behavior.

Use Case

Today, I can get this behavior manually, but I had to generate the reference myself:

// Amazon recommends pulling this image from their regional ECR repo
// https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-using-fluentbit
const awsEcrRepo = ecr.Repository.fromRepositoryArn(
  parent,
  "AWSFireLensRepo",
  "arn:aws:ecr:us-west-2:906394416424:repository/aws-for-fluent-bit",
);
taskDefinition.addFirelensLogRouter("DatadogFirelensLogRouter", {
  image: ecs.ContainerImage.fromEcrRepository(awsEcrRepo, "latest"),
  memoryReservationMiB: 50,
  essential: true,
  firelensConfig: {
    type: ecs.FirelensLogRouterType.FLUENTBIT,
    options: {
      enableECSLogMetadata: true,
      configFileType: ecs.FirelensConfigFileType.FILE,
      configFileValue: "/fluent-bit/configs/parse-json.conf",
    },
  },
});

Proposed Solution

Ideally, image on FirelensLogRouterDefinitionOptions is an optional parameter and defaults to the proper ECR image from this table in the docs.

Other

  • :wave: I may be able to implement this feature request
  • :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

Guida contributor