In the current design the user must provide a key field in the various CommitStatus resources and this is used to match keys listed in activeCommitStatuses and proposedCommitStatuses in the PromotionStrategy resource.
I feel like this key field is mostly redundant as I am always setting the key to be the same as the name. If I change the name I need to change the key so within the CommitStatus it's not particularly DRY.
As a result I would like to see the key field made optional and if not specified then the name of the CommitStatus is used as the key. This would need to be implemented in a way that doesn't trigger a diff when using Argo CD to apply CommitStatus resources, i.e. the controller should not set the .spec.key field to the name field automatically however either using it implicitly or setting a .status.key field would be fine.
In the current design the user must provide a
keyfield in the various CommitStatus resources and this is used to match keys listed inactiveCommitStatusesandproposedCommitStatusesin the PromotionStrategy resource.I feel like this
keyfield is mostly redundant as I am always setting thekeyto be the same as thename. If I change thenameI need to change thekeyso within the CommitStatus it's not particularly DRY.As a result I would like to see the
keyfield made optional and if not specified then thenameof the CommitStatus is used as thekey. This would need to be implemented in a way that doesn't trigger a diff when using Argo CD to apply CommitStatus resources, i.e. the controller should not set the.spec.keyfield to the name field automatically however either using it implicitly or setting a.status.keyfield would be fine.