[meta] Make use of the Application CRD
The Application CRD is gaining adoption and is intended to be the canonical place to define an application construct in k8s, and crosslink from underlying resources. For example it is intended to be used with the operator paradigm, and it will also be created automatically in Helm 3: https://github.com/kubernetes/helm/issues/3254.
We should look to make use of this in a few places, as it is quite powerful for discovery and reporting functions:
- It could be used as a convention to detect tracks, like stable and canary, for deploy boards
- We could also use it for easier identification of pods for monitoring, tracing, logging, etc.
- We could use it for the cluster and ops dashboards, to show what apps are running and what pods belong to each
- This also makes it easy to "roll up" the resource consumption and other statistics for each app
- This also makes it easy to describe dependencies and other components of an application, so we could also represent this by showing underlying components like the backend, frontend, etc pods.
Ideally at some point it also exposes something akin to Helm's values.yaml where you can see/tweak the settings, and have an operator apply them.
Edited by silv