Skip to content

Commit

Permalink
More detail for the RFC
Browse files Browse the repository at this point in the history
Signed-off-by: GregoireW <24318548+GregoireW@users.noreply.github.com>
  • Loading branch information
GregoireW committed Jan 25, 2022
1 parent 6d5f02a commit 200b4c3
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions rfcs/0005-managed-attributes-image-automation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,29 @@

## Summary

Image automation controller can update some attributes of a kubernetes object.
Today this is limited to image name, image tag and image name+tag.
This RFC aims to extend this functionality to other attributes.
Flux should allow referencing more metadata in the image automation Setters strategy.

## Motivation

Some automation or observability tools can use label to identify better a
kubernetes object. It can be linked to a version, to a date, to a code
kubernetes object. It can be linked to a version, a date, a code
origin... For multiple reason, the image tag can reflect poorly this
data. An example can be given by the image reflector controller which
can extract a part of the tag and use it to sort and select the correct one.

### Goals

This RFC aims to describe a way to extract such additional value from the
image tag, and to use them to update some attributes on the kubernetes object.
This RFC aims to describe

- A way to extract such additional attributes from the image tag.
- Use those new attributes to update the kubernetes object.

### Non-Goals

This RFC will focus on image automation controller. It is a non goal to extend
this to manually modified kubernetes objects.
This RFC will focus on Image Automation Controller and Image Reflector Controller.

It is a non goal to keep in sync the attributes if the kubernetes object is
updated manually.

## Proposal

Expand All @@ -43,9 +45,13 @@ kubernetes object so that the attribute linked to this comment can be updated.
### Alternatives

An alternative would be to build a mutation web hook which would be able to
filter all object and interact with them directly. It would be more generic
but heavier to build.
This raise the question on should this be included in flux or not.
filter all object and interact with them directly.

It would be more generic, more customizable and safer (fix the manual update use case)
to create such mutation web hook, but will be heavier to build.
(new kubernetes object, new controller)

This raise the question on should this feature to be included in flux or not.

## Design Details

Expand Down

0 comments on commit 200b4c3

Please sign in to comment.