aws/aws-cdk

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

Open

#7.366 geöffnet am 15. Apr. 2020

Auf GitHub ansehen
 (8 Kommentare) (4 Reaktionen) (2 zugewiesene Personen)TypeScript (3.530 Forks)batch import
@aws-cdk/aws-ecr@aws-cdk/aws-ecseffort/smallfeature-requestgood first issuep2

Repository-Metriken

Stars
 (10.710 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 14T 11h) (68 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide