Introduce supporting versioning for kapitan classes

5 views
Skip to first unread message

Eugene Furmanyk

unread,
Jun 25, 2024, 7:54:19 AM6/25/24
to kapitan...@googlegroups.com
Hi everyone,

We are using Kapitan to manage our Kubernetes clusters inventory, and the time has come to implement versioning for our classes.

Here is my proposal for how this may work:

  1. There will be two repositories:
    1. One repository (Inventory) for inventory/targets/clusters. This repository will mostly be used without any versioning just as upstream.
    2. Another repository (Classes) for components, inventory/classes, templates, and other related items. This will be versioned using tags or branches.
  2. The inventory repository will contain definitions for different Kubernetes clusters, each referencing a specific tag or branch of the Classes repository.

This change is necessary because Inventory items (in my case, Kubernetes clusters) have different release cycles.

Technically, I think it may look like this:

classes:
- source:
   type: git
   source: g...@git.mycompany.com:kapitan/classes.git
   ref: 1.5.3
- amazing_class_1
- super_class_2
- important_class_3
- common
parameters:
 metadata:
...

What do you think about this proposal?
Do you agree with it?
Do you have any advice on how to improve this approach?

Thank you.

Best regards,
Eugene Furmanyk.

Reply all
Reply to author
Forward
0 new messages