aws/aws-cdk

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

Open

#7,366 创建于 2020年4月15日

在 GitHub 查看
 (8 评论) (4 反应) (2 负责人)TypeScript (3,530 fork)batch import
@aws-cdk/aws-ecr@aws-cdk/aws-ecseffort/smallfeature-requestgood first issuep2

仓库指标

Star
 (10,710 star)
PR 合并指标
 (平均合并 14天 11小时) (30 天内合并 68 个 PR)

描述

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

贡献者指南