-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: add customizable workload GVRs #3031
base: master
Are you sure you want to change the base?
Feat: add customizable workload GVRs #3031
Conversation
10722f8
to
4be2681
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lacroixthomas Thank you for this PR!
I like this concept! The original idea behind k9s workloads
was for users to get a sense of their workloads and workload associated state of affairs in a simple view. Thus we care about resources that reports some kind of status. Hence secrets, configmaps are not of interest here.
In my mind, this feature would be best to allow user to enhance this view by adding more resources that can report status to the initial default list of resources vs having to specify a new list of resources. This is a bit more tricky since different context/clusters may have a different set of resources. For example clusterA has Argo CRDs but clusterB doesn't. Thus it might be best to a) treat workload_configs at the cluster level and b) manage the configuration as a separate (optional!) file outside of k9s main config.
Managing workload configurations as separate artifacts would also allow us to have external contributions (like skins, plugns, ...) so folks can grab vetted workload configs artifacts to enhance their workload views.
Another aspect of interest here is how does one come up with the right configuration aka status|ready|valid. It would be great if we can watch these artifacts on disk to ensure the configuration and reported status are indeed correct as this is the main intent behind the workload feature aka `show me the current status of my workloads and associated artifacts'
Would this make better sense?
@derailed You're welcome ! Following what you told me, we could have: A folder containing the different workload default artifacts / or we can keep them hardcoded:
This list will be used as default for the workload view And having a
The user would be able to add these custom artifacts to their config file per cluster as:
We could also add it on the k9s main config in case we want to have this custom workload config by default for all clusters the users have ? To be able to validate the workload artifacts that they added, we can maybe have a shortcut on the workload view as Would that make sense following your feedback ? |
I'm working on a second design, will ping you once it's ready We'll have a config at the cluster level only, by default it will uses all the hardcoded gvrs (as before) and it will append the custom one on top of it. There will be a specific view I'll try to finish a first iteration soon, I'll send you screenshots or videos to show you |
e52274c
to
1963092
Compare
feat: Add config and add some documentation feat: Refactor getValidity feat: Refactor getValidity feat: refactor the get replicas complexity feat: trigger pipeline feat: refactor workload list feat: delete log feat: unblock unit tests (will come back to it) feat: fix unit tests and add k9s.json new schema feat: add comment on the dao/workload feat: remove todo feat: add header on new file feat: add new view with crud for custom gvr and rollback config
1963092
to
5e6e701
Compare
Enhancement: #3012
The goal of this PR is to bring a customizable Workload view, which will allow users to use CRDs and to define how they want to be shown on the view.