Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.

Latest commit

 

History

History
71 lines (46 loc) · 2.69 KB

MAINTAINING.md

File metadata and controls

71 lines (46 loc) · 2.69 KB

How to use and maintain this project

All operations are automated as much as possible.

  • Generation of each Dockerfile and its context is automated via Makefile.

Updating

To update versions of images following steps are required:

  1. Update all required versions in Makefile. See also: Image versioning convensions
  2. Update all required versions in README.md. See also: Image versioning convensions
  3. Edit templates
    1. If you need to modify some Dockerfiles then do it via editing templates/Dockerfile.erb template.
    2. If you need to modify some Gemfiles then do it via editing templates/Gemfile.erb template.
    3. If you need to modify some confs then do it via editing templates/conf templates
  4. Regenerate all Dockerfiles and their context (it's okay to remove previous ones completely):
    make src-all
  5. Push changes to master branch.

Image versioning convensions

  1. We use the following image versioning convension:
    1. v<Fluentd version>-debian-<destination name>-<image major version>.<image minor version>
    2. Reset image version to 1.0 when bump up Fluentd version
    3. Bump up image major version when including breaking changes on a destination
    4. Bump up image minor version when updating gems on a destination

Note: This procedure requests that the specified Fluentd debian tag image is already published in Fluentd DockeHub's tags page.

Publish Images

Note: This procedure requires fluent/fluentd-kubernetes-daemonset repository's DockerHub Admin privileges.

Go to Build settings page and then, push [Trigger ▷] buttons.

When Fluentd is bump up every minor version (e.g. v1.12 to v1.13), we need to reconfigure Dockerfile location via [Configure Automated Builds] button.

Built tags will be published at TAGS page.

Testing

Tests are outstanding

Manual release

It's still possible to build, tag and push images manually. Just use:

make release-all

It will build all existing Dockerfiles, tag them with proper tags (as README.md requires) and push them to Docker Hub.