-
Notifications
You must be signed in to change notification settings - Fork 680
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
[Core feature] Project-domain level settings #2070
Comments
cc @jeevb / @cosmicBboy / @narape Some of you have indirectly asked for this feature in the past. One of the benefits of this would be that, for every execution (including single task execution), this default ServiceAccount would be applied. cc @katrogan can you help write this up? |
here's a proposal for what the matchable entity message structure could look like: flyteorg/flyteidl#253 much like we currently do max_parallelism, we can use these attributes at create execution time when a user's ExecutionSpec and corresponding LaunchPlanSpec omit these values: |
@katrogan Is the |
@wild-endeavor yes it should be |
For UX Comps development:
From UX standpoint, users should be able to specify project-level settings as well as per project per domain settings... Some mockup to demonstrate which API to use to populate which part: For the Editing UI, we can offer some syntactic sugar to allow users to set the project-domain settings once and apply them to all domains (maybe a check box that says "apply these settings to all domains")... and under the hood that can make the separate API calls to update the settings in all domains. If users uncheck this box, they should be able to edit these settings for each domain separately... |
FE task - https://github.com/flyteorg/flyteconsole/issues/317 will be updated with more info and design |
flytectl UX:
|
there is a delete endpoint! https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/service/admin.proto#L482 |
Resolving this issue as done. The global setting would be taken up in separate ticket 2322 |
Motivation: Why do you think this is important?
Background info
Registration time settings
We've removed most of the deployment-specific settings from the compiled/serialized Flyte entity protobuf files (i.e. the assets packaged along with the flytesnacks releases). This makes those protobufs "portable" in the sense that anyone with any deployment of Flyte can use them.
However this means that when registering those or any other Flyte assets, users must not only specify the project/domain, they have to specify all the other settings, leading to a registration command that looks like the following
The options exposed are:
--k8sServiceAccount
--outputLocationPrefix
--assumableIamRole
Labels & Annotations
These are some settings on launch plans that might be pretty uniform across a project.
https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/admin/launch_plan.proto#L98
Matchable entities
Please take a look at the current documentation for the "matchable entities".
https://docs.flyte.org/en/latest/concepts/admin.html#divedeep-admin-matchable-resources
https://docs.flyte.org/en/latest/deployment/cluster_config/general.html#deployment-cluster-config-general
There are already some settings that are set along the project-domain dimension. Please reference https://docs.flyte.org/projects/flyteidl/en/latest/protos/docs/admin/admin.html#matchableresource
Some of these are not strictly user-facing though, like execution queue and cluster label, plugin override, etc. These are more platform admin facing. Default resources though probably make sense to expose to the user (at least non-writable).
Request
This issue requests that settings that are typically uniform across a project/domain combination, that make sense to be exposed to the user, to be so exposed, with configuration available to the user via
flytectl
and the UI. How this issue meshes with existing implementation of matchable resources, and which settings take priority, will be left to the implementer.Goal: What should the final outcome look like, ideally?
After this feature is implemented, users should be able to
In the future, if we have time, this ticket should also unlock the ability for Admin to be able to "promote" Flyte entities from one domain in cases where no additional user-input is needed (but specification of that will be another ticket(s)).
Describe alternatives you've considered
None.
Propose: Link/Inline OR Additional context
Possibly related:
#2050
#211
Are you sure this issue hasn't been raised already?
Have you read the Code of Conduct?
The text was updated successfully, but these errors were encountered: