Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions
  • From: <carsten.lenz@xxxxxxxxxxxxxxxxx>
  • Date: Fri, 23 Jun 2023 07:17:03 +0000
  • Accept-language: de-DE, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mercedes-benz.com; dmarc=pass action=none header.from=mercedes-benz.com; dkim=pass header.d=mercedes-benz.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GH+8o1QktVcUvNNkflwm1sE8c4TOsIZCAogA2p+obIs=; b=OiuY4MJL9SZ7qnfpyiucpsgJC9c8xVDpRdTzBK/zzk6ibcArnJUd7+YnwD9ypit3U+pGJFW/8f/6M3o7S8Xpq5wIsytE5jXwWX2OsFVRZF9X/55Lgdj+cb6lOpRq3izm52QGiL2Q/BZl5Efo7a04stNykEj4BvN5roN+JADso9yL/GlimXmlchg/afseF1LsSYkcgc5C+F9KEiimtTKJRghp5PH+63sUYGP0QLiYnXvNOQtk9IDRi69iI+h92Aja2N4Pj4W3jJ3oRntRZLVusdvsgo+S7wjE26SBQBudOYP6m6fqfqyUEzWfLTyakvUIHoTVyd2gIEyIrXnoRzI2Rg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cLojcdT+Td9k5796PaXha+WK85ST/3WeBwBIet3gbRc67AyTxWQAkMKAK2fBB8iZqVmKCaN4pdRs6vwt62YJQE3ahSgFE65KW6jAXzltoClJZWGE4A3v/9fPXsMQNRSUNtV7CAgCgEPMmVxxcdao83WMnb42aE0CbBXk2kLKONb0RMyJQrKAXu+mUfFjGw0od6x6a2rKaXuMSh2DmhCmeWy8Sg15b5duW+ZRtMacBMWzNqz7ANCtl77wHeku26jwqWolhx8rgHBENRlB6dbQGTRz01QspJtWV/HcM39OMpwzaeaL8NOWXdjWZtTYif9u5dg/aYzuWm2YrCOQkLBZng==
  • Delivered-to: tractusx-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/tractusx-dev/>
  • List-help: <mailto:tractusx-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tractusx-dev>, <mailto:tractusx-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tractusx-dev>, <mailto:tractusx-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHZpCLz6rAblXkQTE6REH7ltyDn+q+XVwIggADHp4A=
  • Thread-topic: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

Hey list,

hey Roman,

 

This reads somehow like questioning the lived practice in the use of Helm Charts, although I can understand the reasons behind this. I won’t agree to force each Eclipse-Tractus-X component/product to align their Helm Chart version with its application version. There are already a few components which follow this approach, but following this approach requires a high discipline in the (GH not Catena-X) release process.

 

I would also tent to disagree that Helm Chart of a certain component is part of the service or product. It’s an offer/possibility how you can install and operate it but it’s not a recommendation. Of course, it is much easier to use Helm to install a component than doing it manually. That’s the reason why Helm was invented 😊

 

When using Helm Charts then you must get used to deal with the Helm Chart version and the appVersion. Many Helm Charts have differences in this version information, some examples:

 

$ helm search repo grafana/grafana --versions

NAME                            CHART VERSION   APP VERSION     DESCRIPTION

grafana/grafana                 6.57.3          9.5.3           The leading tool for querying and visualizing t...

grafana/grafana                 6.57.2          9.5.3           The leading tool for querying and visualizing t...

grafana/grafana                 6.57.1          9.5.3           The leading tool for querying and visualizing t...

grafana/grafana                 6.57.0          9.5.2           The leading tool for querying and visualizing t...

grafana/grafana                 6.56.6          9.5.2           The leading tool for querying and visualizing t...

$ helm search repo bitnami/postgresql --versions

NAME                 CHART VERSION   APP VERSION     DESCRIPTION

bitnami/postgresql   12.5.8          15.3.0          PostgreSQL (Postgres) is an open source object-...

bitnami/postgresql   12.5.7          15.3.0          PostgreSQL (Postgres) is an open source object-...

bitnami/postgresql   12.5.6          15.3.0          PostgreSQL (Postgres) is an open source object-...

bitnami/postgresql   12.5.5          15.3.0          PostgreSQL (Postgres) is an open source object-...

bitnami/postgresql   12.5.4          15.3.0          PostgreSQL (Postgres) is an open source object-...

$ helm search repo ingress-nginx --versions

NAME                            CHART VERSION   APP VERSION     DESCRIPTION

ingress-nginx/ingress-nginx     4.7.0           1.8.0           Ingress controller for Kubernetes using NGINX a...

ingress-nginx/ingress-nginx     4.6.1           1.7.1           Ingress controller for Kubernetes using NGINX a...

ingress-nginx/ingress-nginx     4.6.0           1.7.0           Ingress controller for Kubernetes using NGINX a...

ingress-nginx/ingress-nginx     4.5.2           1.6.4           Ingress controller for Kubernetes using NGINX a...

ingress-nginx/ingress-nginx     4.5.0           1.6.3           Ingress controller for Kubernetes using NGINX a...

$ helm search repo argo/argo-cd --versions

NAME            CHART VERSION   APP VERSION     DESCRIPTION

argo/argo-cd    5.36.2          v2.7.5          A Helm chart for Argo CD, a declarative, GitOps...

argo/argo-cd    5.36.1          v2.7.4          A Helm chart for Argo CD, a declarative, GitOps...

argo/argo-cd    5.36.0          v2.7.4          A Helm chart for Argo CD, a declarative, GitOps...

argo/argo-cd    5.35.1          v2.7.4          A Helm chart for Argo CD, a declarative, GitOps...

argo/argo-cd    5.35.0          v2.7.3          A Helm chart for Argo CD, a declarative, GitOps...

 

The Helm Chart version will be increased, whenever the chart itself gets changed. Bumping the application version because of the changes of the Helm Chart, without any change in the application itself, would counteract the meaning of the version number of the application. And what would you write to the applications Changelog? That the Helm Chart, which is not a part of the application itself, has changed? I do not agree.

 

To what I could agree to is, that the developers should have clear rules when to bump which part of the version (major, minor, patch) of their Helm chart. If the teams align version numbers out of intrinsic motivation, I have no problem with that. I disagree with making this a requirement.

 

Also, in terms of sustainability we should not waste resources to start the build process with all its consequences just to bump the appVersion without any changes to the code to get the same binary/container image/etc., but with a different version number.

 

In my opinion, the discussion came up because of the lack of experience with Helm Charts. Which is not an issue, and to be honest, I had the same problems when my journey with Helm began. But once you understand it, it's not that hard. As with all tools, you’ve to understand its concepts.

 

Cheers Carsten

 

-- 

Mit freundlichen Grüßen / Kind regards

 

Carsten Lenz

Senior Reliability Engineer

 

Mercedes-Benz Tech Innovation (ehemals/formely Daimler TSS)

Digital Value Platforms

Wilhelm-Runge-Straße 11

89081 Ulm/Germany

 

carsten.lenz@xxxxxxxxxxxxxxxxx

www.mercedes-benz-techinnovation.com

 

signature_2768718193signature_2861363493 signature_620624403 signature_112990339 signature_616992267 signature_4232041454 signature_1500013200 

 

Mercedes Benz Tech Innovation GmbH

Sitz und Registergericht/Domicile and Register Court: Ulm, HRB-Nr./Commercial Register No.: 3844

Geschäftsführung/Management: Daniel Geisel (Vorsitzender/Chairperson), Isabelle Krautwald

 

 

 

Von: tractusx-dev <tractusx-dev-bounces@xxxxxxxxxxx> im Auftrag von Roman Werner <roman.werner@xxxxxxxxxxxxxx>
Antworten an: tractusx developer discussions <tractusx-dev@xxxxxxxxxxx>
Datum: Freitag, 23. Juni 2023 um 07:30
An: tractusx developer discussions <tractusx-dev@xxxxxxxxxxx>
Cc: Erik Wiegert <erik.wiegert@xxxxxxxxxxxxxx>, Matthias Buchhorn-Roth <matthias.buchhorn@xxxxxxxxxxxxxx>
Betreff: Re: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

 

[**EXTERNAL E-MAIL**]

Hello all,

 

sorry for the late feedback on the topic "Alignment of Helm Chart Versions with App Versions" although we have raised the point initially.

The advantages we would see, especially from our point of view that we have to run these components productively as Cofintiy-X, would be the following:

 

  • Transparency in version compatibility between APP and helmet chart
    • Helm chart and APP are both parts of the service and the service should be versioned, not the 'deployment components'.
    • High flexibility through separate versions does not outweigh the question of 'which APP version is compatible with which helmet chart'.
    • 'If I release the chart, I automatically have to make an app release as well, which requires a git tag/release' -> yes, correct, a Helm chart should also be referenceable via git tag to be able to track changes.

 

  • Overhead in deciding how to do the version bump in versioning
    • If the release process always includes all components of a service, the process is simplified. Separating versioning from APP and helmet chart means always having to think twice about whether a version bump is major, minor or patch for a service, which in my view creates unnecessary overhead. In addition, there are some repositories (e.g. Country Risk) that seem to contain more than one APP and also more than one helmet chart, each with its own version, making 4 version numbers that have to be taken into account.

 

  • The generation of a changelog and the automatic version bumping becomes unnecessarily complex with two versions
    • Especially if you want to publish a changelog at different times depending on the 'change level' (major, minor, patch). Example: Major updates should be published promptly, patch updates can also be sent out collectively.

 

 

I am happy to receive feedback.

 

Thank you very much!

 

 

Cheers

Roman

 

 

Mit freundlichen Grüßen/Kind regards

Roman Werner

 

Product Lead Core Services & EDC | Enterprise Architect

 

Cofinity-X GmbH c/o Im Mediapark 5 50670 Köln

E : roman.werner@xxxxxxxxxxxxxx

M : +49 160 7841129

 

 

Mandatory Disclosure Statement: www.cofinity-x.com/impressum

This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received this e-mail in error, you are hereby notified, that any review, copying, or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.

 

From: tractusx-dev <tractusx-dev-bounces@xxxxxxxxxxx> On Behalf Of sebastian.bezold--- via tractusx-dev
Sent: Mittwoch, 21. Juni 2023 11:30
To: tractusx-dev@xxxxxxxxxxx
Cc: sebastian.bezold@xxxxxxxxxxxxxxxxx
Subject: Re: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

 

Hi all,

 

while I can understand, that tracking this many components that we have in App version and Chart version might be overwhelming in the beginning, I think forcefully aligning them is not the solution.

In my opinion, the table in our Release Changelog that maps the two versions is good enough.

I would like to keep the option to just release the Chart without creating a new App version. We have seen fixes and improvements to Charts in the past, that did not require any change to the application itself. So it was ok to just bump the Chart version and keep the app version.

If we would be required to align the versions, we also would need to create a new app release. This would mean, like Mathias already mentioned, creating new tags and releases.

Like I said at the beginning, I think the release table does a good enough job and we do not need the require alignment via release guideline.

 

Cheers

Sebastian

 

 

Von: tractusx-dev <tractusx-dev-bounces@xxxxxxxxxxx> im Auftrag von "Brunkow Moser, Mathias via tractusx-dev" <tractusx-dev@xxxxxxxxxxx>
Antworten an: tractusx developer discussions <
tractusx-dev@xxxxxxxxxxx>
Datum: Dienstag, 13. Juni 2023 um 16:26
An: tractusx developer discussions <
tractusx-dev@xxxxxxxxxxx>
Cc: "Brunkow Moser, Mathias" <
mathias.brunkowmoser@xxxxxxx>
Betreff: Re: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

 

[**EXTERNAL E-MAIL**]

Hi Sigi!

 

I will give my honest opinion also.

 

I find a good idea in general to align the helm chart versions and the app versions, because when you configure the helm charts is more easy since you don’t need to search for it where is the latest version of the chart or which is the specific version.

 

However I believe that in this case we are forcing that every time we push to the tractus-x main we need to create an application version tag. This does not allows us to have many small merges related to one version for later creating a release tag.

 

This also means that the app version needs to be incremented always when the chart version is incremented. However it can be the case that just a chart configuration change was necessary and it was independent from the application changes which are in another version.

 

I hope it could help,

 

Best Regards,

 

 

 

 

Mathias Brunkow Moser | Software Engineer Consultant

Industry 4.0, IoT & Catena-X | CGI Deutschland B.V. & Co. KG

Leitzstraße, 45 | 70467 Stuttgart, Germany

M: + 49 1525 6723056

mathias.brunkowmoser@xxxxxxx | www.cgi.com/de/de

 

 

CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.

 

Von: tractusx-dev <tractusx-dev-bounces@xxxxxxxxxxx> Im Auftrag von Kiermayer, Siegfried via tractusx-dev
Gesendet: Dienstag, 13. Juni 2023 14:22
An: tractusx-dev@xxxxxxxxxxx
Cc: Kiermayer, Siegfried <siegfried.kiermayer@xxxxxxx>
Betreff: Re: [tractusx-dev] Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

 

Sent from outside the BMW organization - be CAUTIOUS, particularly with links and attachments. 

Absender außerhalb der BMW Organisation - Bitte VORSICHT beim Öffnen von Links und Anhängen. 


Hi everyone!

 

Holidays are probably over and I would like to “remind” you about this discussion, but I would also like to add the following screenshot to show you how it looks to people outside:

 

 

<see attachment>

 

Tx,

 

Sigi

 

 

 

From: Kiermayer, Siegfried <siegfried.kiermayer@xxxxxxx>
Date: Friday, 2. June 2023 at 16:20
To:
tractusx-dev@xxxxxxxxxxx <tractusx-dev@xxxxxxxxxxx>
Subject: Discussion / Suggestion: Alignment of Helm Chart Versions with App Versions

Hi everyone!

 

We need to talk about Helm charts and versioning of them in connection with app versions:

 

You have probably seen that we have released 3.1 of Eclipse Tractus-X;

 

You might also have seen how this looks in our Changelog: https://github.com/eclipse-tractusx/tractus-x-release/blob/main/CHANGELOG.md . Confusing I would say. It’s a big wide table with different versions and a lot of potential for confusions, wrong versions etc.

 

I haven’t suggested any TRG like “Alignment of Helm chart version with App Version” regarding this alignment before because I did not had any practical experience with this particular issue. Also when you look at other Helm charts, especially the quite often used bitnami postgresql helm chart, they do diverge.

 

BUT! My current assumption is that bitnami Helm charts diverge primarily because those helm charts are build by bitnami and others for other products like postgresql.

 

I see following advantages and disadvantages:

 

Advantages:

  • Easier to understand what Helm Chart is responsible for which App version
  • Easier spotting of which App Version is used when using other tools like Kubeapps
  • Easier entry from people not having experience with Helm/Kubernetes
    • Business people
    • Beginners
    • Testmanagers
    • . . .

 

Disadvantages:

  • More effort when having split repositories to align the helm chart releases
    • Which got circumvented if you did not create an umbrella helm chart which references frontend and backend but combined it

 

Overall, I do personally think it would be much easier and more stable to combine your frontend/backend code in one repository and have your helm chart also in the same spot. This would guarantee that you release holistically. The complexity of combining multiply code projects is reduced on GitHub through path filters: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore with this you are easily able to do certain things like backend/frontend tests etc. only when your frontend or backend has changed.

 

Please bring up your points (upsides, downsides), your experience with it and everything else to make it easier for the Eclipse Project Leads to decide if this is something we should or should not make mandatory.

 

At the current point there is no TRG planed, if this is a controversial topic, a TRG might be introduced which is optional but suggests one specific strategy.

 

Thanks,

 

Sigi

 

 

 


If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

 


If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


Back to the top