Skip to content
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

Closed
4 of 13 tasks
honnix opened this issue Oct 26, 2020 · 8 comments
Closed
4 of 13 tasks

[Feature] Ability to archive and unarchive a project #569

honnix opened this issue Oct 26, 2020 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@honnix
Copy link
Member

honnix commented Oct 26, 2020

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

  • Overall
  • Flyte Setup and Installation scripts
  • Flyte Documentation
  • Flyte communication (slack/email etc)
  • FlytePropeller
  • FlyteIDL (Flyte specification language)
  • Flytekit (Python SDK)
  • FlyteAdmin (Control Plane service)
  • FlytePlugins
  • DataCatalog
  • FlyteStdlib (common libraries)
  • FlyteConsole (UI)
  • Other

[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

@honnix honnix added enhancement New feature or request untriaged This issues has not yet been looked at by the Maintainers labels Oct 26, 2020
@honnix
Copy link
Member Author

honnix commented Oct 26, 2020

@kumare3 Wdyt of this? Or is there a better way to achieve this? Thanks.

@kumare3
Copy link
Contributor

kumare3 commented Oct 27, 2020

@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?

@honnix
Copy link
Member Author

honnix commented Oct 27, 2020

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.

@kumare3
Copy link
Contributor

kumare3 commented Oct 27, 2020

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.

@honnix
Copy link
Member Author

honnix commented Oct 27, 2020

Yeah, looks good to me.

@honnix honnix removed the untriaged This issues has not yet been looked at by the Maintainers label Nov 4, 2020
@honnix honnix self-assigned this Nov 4, 2020
@honnix
Copy link
Member Author

honnix commented Nov 11, 2020

I guess the only thing missing is filter of ListProjects RPC, probably documentation to update as well.

@honnix
Copy link
Member Author

honnix commented Nov 16, 2020

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

@honnix
Copy link
Member Author

honnix commented Nov 22, 2020

Will close this and open a new ticket to track project filtering and sorting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants