-
Notifications
You must be signed in to change notification settings - Fork 64
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
Allow DevWorkspace CR to specify pod spec overrides #860
Comments
Add field `pods` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Add field `pods` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Add field `pods` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Add field `pods` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
If someone specifies the kubernetes component and provides an inline or link to kubernetes yaml file, the pod settings may conflict with these metadata. How are we planning to resolve that? |
To clarify, the new Any specified Kubernetes component is implicitly not a part of the core devworkspace deployment. If e.g. a devfile specifies a k8s pod in a Kubernetes component, that will generally have to be provisioned as a standalone ("dedicated") pod rather than merged into the other container components. The podSpec field only overrides settings for the components that cannot be configured directly (the deployment/pod that contains The documentation for Kubernetes components states their purpose is
If we do some processing (e.g. to include something defined in a k8s component in the same deployment as container components) then we would be prone to breaking that use case. Examples of this would be
|
@amisevsk I named it |
@l0rd I suppose it would make sense to apply the spec to both the main deployment's pods and also any dedicated pods specified -- in that sense this field would apply to all Other pods, started as e.g. part of I'm still not entirely sure on naming though -- I prefer |
I like |
Add field `podSpecOverride` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Add field `podSpecOverride` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Add field `podSpecOverride` to the DevWorkspace spec (but not Devfile or DevWorkspaceTemplate) that allows specifying arbitrary fields on any pods created for the DevWorkspace. Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Which area this feature is related to?
/area devworkspace
Which functionality do you think we should add?
Add a field to the DevWorkspace CR spec that allows overriding fields in the k8s Deployment's pod template, e.g.
This field would not be included in the Devfile API
Why is this needed? Is your feature request related to a problem?
There are a variety of cases where overriding specific Pod fields is required by end-users. For example, a user may want to
runtimeClassName
andschedulerName
In general, there's a wide variety of potential things someone may need to override to make DevWorkspaces work for them, but each individual case is not common enough that it fits as part of the dedicated API. Up until now, we generally add special-case handling for individual fields (e.g. SCCs), but this is not flexible enough to cover all use cases, and complicates set up significantly.
Describe the solution you'd like
As above, add field
pods
to the DevWorkspace API. The contents of thepods
field would becorev1.PodSpec
. Any value there would be strategic-merged into the resulting Pod spec generated from the DevWorkspace's spec.Describe alternatives you've considered
This could also be implemented using free-form attributes, but this would mean
Additional context
DevWorkspaceOperator issue: devfile/devworkspace-operator#852
The text was updated successfully, but these errors were encountered: