gchq / gchq/sleeper

Option to include FluentBit Docker image in pre-publishing

Open
#7,642 1 comment 0 reactions 0 assignees View on GitHub
cdk-module enhancement under-discussion
Dominant language
Java
Stars
107
Forks
29
Avg merge
19h 46m
Merged PRs (30d)
141

Description

### Description / Background

Split from:
- https://github.com/gchq/sleeper/issues/7538

In EksBulkImportStack we use FluentBit to send Kubernetes logs to AWS CloudWatch. This involves a Docker container that runs FluentBit.

We'd like an option to include the FluentBit Docker image in a pre-publishing build, so that we can take control over the version we use, and have an option to override the image.

### Technical Notes / Implementation Details

This is `public.ecr.aws/aws-observability/aws-for-fluent-bit:stable`, used in EksBulkImportStack.

We can add it to DockerDeployment so that it will be included in a run of `scripts/dev/publishDocker.sh`.

We can add a Dockerfile for this under the common parent module, similar to `common/docker-base`. This would contain just a FROM command, with a build argument for the base image. This will also need to be added to the distribution module similar to `common/docker-base`. This will let us override its base image in the same way as we do for the EKS Docker image. We'll need to set useDefaultBaseImage to false in the DockerDeployment entry.

We'll need to use the image in the CDK app the same way we do for the EKS bulk import image in EksBulkImportStack.

Contributor guide

Open the contributing guide

Research direction

Start by reading EksBulkImportStack, DockerDeployment, and the existing common/docker-base and distribution-module setup. Run scripts/dev/publishDocker.sh to understand pre-publishing, then trace how the EKS bulk import image is consumed. Done means the FluentBit image is published there, its base image can be overridden, and EksBulkImportStack uses the configured image.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker, java, kubernetes
Domain
build-system, cloud, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.