akuity / kargo

Application lifecycle orchestration
https://kargo.akuity.io/
Apache License 2.0
1.73k stars 143 forks source link

Document the possible values of Warehouse imageSelectionStrategy #2880

Open Chewie opened 2 weeks ago

Chewie commented 2 weeks ago

Checklist

Proposed Feature

Add an entry in the docs for the possible values of imageSelectionStrategy, namely Digest, Lexical and NewestBuild.

Motivation

Playing around with Kargo for evaluation, I wanted to try a toy continuous delivery scenario without semver:

However, I found it difficult to find the information to represent this scenario. The key concepts kind of implies that a semver approach is recommended, and while the CRD Reference shows an imageSelectionStrategy field, it doesn't show what the possible values are.

I was only able to discover the possible values Digest, Lexical and NewestBuild by looking at the old 0.4.0 release notes.

However, I'm not sure if this is an oversight or an information hidden on purpose. If it is the latter, what would be the recommended approach to implement this scenario? On a more general note, I'd be interested to know if the project has strong opinions regarding promotion strategies, in particular those that want to move away from tagging releases.

Cheers!

krancour commented 2 weeks ago

Thanks for opening this issue. You're the second to notice this in as many days.

It wasn't deliberate.

It's a combination of hand-written docs still evolving and us being taken by surprise that the enumerated accepted values for this field were not included in the generated documentation.

For reference, we had incorrectly expected this:

https://github.com/akuity/kargo/blob/f30f66b5b25ef5d943026cd6af8b2f2eef77bee6/api/v1alpha1/warehouse_types.go#L15-L16

To surface here:

https://doc.crds.dev/github.com/akuity/kargo/kargo.akuity.io/Warehouse/v1alpha1@v1.0.0#spec-subscriptions-image-imageSelectionStrategy