-
Notifications
You must be signed in to change notification settings - Fork 670
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
[Feature] Ability to archive and unarchive a project #569
Comments
@kumare3 Wdyt of this? Or is there a better way to achieve this? Thanks. |
@honnix I think this is absolutely a needed thing. +1. I would work on archiving as the only feature. Unarchive does not need to be implemented? we could just use register-project? |
If we extend UpdateProject API, it feels more natural we archive and unarchive there together. I haven't checked whether register is an upsert or just insert, so we might need to change that. |
Sure, so in that case the semantics should be clear. In the case when there exists a project with name "x" that was archived previously and subsequent registration attempt should return a correct error message and a suggestion to unarchive. |
Yeah, looks good to me. |
I guess the only thing missing is filter of ListProjects RPC, probably documentation to update as well. |
I have a feeling that adding filter and sort parameter to project list API would take longer than I thought. Do you think it makes sense to add a new issue to track that and close this one? @kumare3 |
Will close this and open a new ticket to track project filtering and sorting. |
Motivation: Why do you think this is important?
Projects may often come and go, or get deprecated after some time. The UI and CLI could soon get messy. Currently there is no API support to archive and unarchive a project.
Goal: What should the final outcome look like, ideally?
An API to support archive and unarchive a specified project, as well as CLI support in flytekit.
Stretch goal: an archived project should be treated as if non-exists, which means trying to apply any update on tasks/workflows/launch_plans should result a client error; the same should be applied to executing a launch plan.
Describe alternatives you've considered
It is possible to manually delete a project from database.
Flyte component
[Optional] Propose: Link/Inline
We could extend
rpc UpdateProject (flyteidl.admin.Project) returns (flyteidl.admin.ProjectUpdateResponse)
; or we could add two more APIs e.g.ArchiveProject
,UnarchiveProject
.Regarding resource sync, it feels dangerous to delete k8s namespaces when a backing project gets archived, so this we can skip.
Additional context
N/A
Is this a blocker for you to adopt Flyte
No
The text was updated successfully, but these errors were encountered: