[feature] Enable customers to identify environments and dependencies between environments
Problem Description
Customers need a way to promote configuration and patching between clusters and nodes. We need a way to allow customers to identify clusters by environment (eg dev, test, prod) and arbitrary grouping (eg region, customer). Environments should be able to be "linked" somehow so configuration and upgrades can happen in "lower" environments first and proceed to the production.
Solution
This could be done via cluster tagging or other metadata. Linking and grouping in the UI will be hard because it's unknown how many clusters, environments, or nodes they would have.
Alternative Solutions
Open to other solutions and ideas for how we can meet the requirement of rolling out changes to less critical environments first.
Notes
No response
I think the issue is not for us to attempt to automate the linking of environments - there will be too many variations across customers - but rather make the "configuration" that is applied be definable. then it is up to the customer to apply to their systems in the order appropriate for them.
So Omni should allow the definition of a "deployment state", which is a combination of Talos version, K8s version, and Omni patches.
This state can then be applied to a cluster by the customer, and repeated by them, on the next step for them (which could be the next region, the next level, (stage or prod); the next application cluster, etc Scope the feature smaller for quicker release - automating promotion, etc, if needed can build on it.
I didn't intend on Omni to automatically identify or link environments. I agree this is completely dependent on customers to do and we should just enable them to do it.