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

New Proposal: Tag Retention Policies #4

Merged
merged 2 commits into from
Nov 19, 2018

Conversation

nlowe
Copy link
Contributor

@nlowe nlowe commented Sep 13, 2018

Not many people have the luxury of unlimited storage. For images and tags that are effectively ephemeral (like those built and tagged for use only by an intermediate process in a CI pipeline) it does not make sense to keep these tags around for an extended period of time, consuming precious resources. Other tags, like those correlating to released or deployed software may need to be kept for an extended period of time or even forever for various legal or compliance reasons. While this is possible today via Harbor's API, Harbor Administrators could greatly benefit from having this functionality built-in to harbor itself.

This seems to be a relatively popular issue in the community today:

Created from goharbor/harbor#5882. Opened a PR with the proposal here at the request of @steven-zou.

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nlowe – apologies for the delay in reviewing; recently got back from vacation. I think this looks fantastic.

@steven-zou and @reasonerjt are on holiday next week, but let's aim to finalize and merge this proposal shortly after their return.

/cc @lweitzman – heads-up on something we'll need help mocking. 😄

proposals/new/5882-Tag-Retention-Policies.md Outdated Show resolved Hide resolved
proposals/new/5882-Tag-Retention-Policies.md Outdated Show resolved Hide resolved
proposals/new/5882-Tag-Retention-Policies.md Outdated Show resolved Hide resolved
proposals/new/5882-Tag-Retention-Policies.md Outdated Show resolved Hide resolved
proposals/new/5882-Tag-Retention-Policies.md Outdated Show resolved Hide resolved
@jakirpatel
Copy link

@clouderati @nlowe

Some of my thoughts :
goharbor/harbor#6035

Most of the requirements are covered in the retention policies. I have the question regarding the scope of this policies.

Are those policies configurable in project scope? . If it is project scope then it will be more helpful.
Teams will have there own control over the retention policies.

@nlowe
Copy link
Contributor Author

nlowe commented Oct 15, 2018

@jakirpatel Yes, it is intended for project administrators to have control over filters for their projects if enabled at the server level. From the section on the filter chain:

Rules can be composed to allow a complex expression of one or more Retention Policies. Administrators may wish to enforce a default policy but allow the policy to be tweaked at a per-project or per-repository level. Conversely, Project Administrators may be fine with the default policy but decide it is acceptable to keep fewer tags than what the default policy provides for. The Filter Chain is composed of one or more Filters in order of precedence, and always concludes with the filters that make up the server-wide policy. If there is no server-wide policy, all tags are kept.

@ghost
Copy link

ghost commented Oct 18, 2018

Hi @nlowe – how do you feel about the state of this proposal?

Pinging @goharbor/core-maintainers for a final review, else lazy consensus by October 26th and 👍 for merging and implementing.

@nlowe
Copy link
Contributor Author

nlowe commented Oct 19, 2018

@clouderati From my perspective I think everything is covered. There hasn't been as much feedback as I would have expected (whether due to low exposure to the community or a general passive agreement with the proposal I'm not sure), but that's probably a good thing!

@ghost
Copy link

ghost commented Oct 23, 2018

@nlowe no news is good news.

@reasonerjt last chance for you and the team to chime in before code starts magically appearing. 😄

@ghost
Copy link

ghost commented Oct 25, 2018

@nlowe – lazy consensus wins the day. Feel free to start hacking at your leisure. 😄 Any chance you can move the doc into the proposals/ directory before we merge?

@nlowe
Copy link
Contributor Author

nlowe commented Oct 25, 2018

Sure thing. I need to fix the DCO check anyways.

@nlowe nlowe force-pushed the proposal/tag-retention-policies branch from 37d9c48 to 77e4cb6 Compare October 26, 2018 01:36
@ghost
Copy link

ghost commented Oct 31, 2018

@nlowe – can you squash so I can merge? Thanks!

@ghost ghost added status/accepted Proposal is accepted and removed status/reviewing labels Oct 31, 2018
steven-zou
steven-zou previously approved these changes Nov 1, 2018
Copy link
Contributor

@steven-zou steven-zou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me! +1 now

Signed-off-by: Nathan Lowe <[email protected]>
Signed-off-by: Nathan Lowe <[email protected]>
Copy link
Contributor

@steven-zou steven-zou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@nlowe
Copy link
Contributor Author

nlowe commented Nov 9, 2018

@clouderati Are there plans to merge this soon or is there something you'd like to see tweaked? I'd like to start work on this over the holidays when I have free time.

@steven-zou
Copy link
Contributor

@cd1989 @reasonerjt

Please take a look. If everything is ok, please approve it and I can merge it then.

@cd1989
Copy link
Contributor

cd1989 commented Nov 15, 2018

Looks great to me, +1

@steven-zou steven-zou merged commit 285ebd9 into goharbor:master Nov 19, 2018
@steven-zou
Copy link
Contributor

@nlowe @clouderati

PR merged.

@nlowe
I think you can start work now.

@nlowe nlowe deleted the proposal/tag-retention-policies branch November 19, 2018 05:55
@nlowe
Copy link
Contributor Author

nlowe commented Dec 31, 2018

Implementation being tracked in epic goharbor/harbor#6654

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/registry Related with docker registry kind/proposal status/accepted Proposal is accepted
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants