Harbor: Integrate with tagd

Created on 27 Jul 2018  路  20Comments  路  Source: goharbor/harbor

Follow up from the Community Call on 2018-07-20.

We have open-sourced our tag cleanup utility (briefly talked about in #1168 and #5085), which is now available at https://github.com/HylandSoftware/Harbor.Tagd. We do not yet have approval from our legal department to publish images to the docker hub so for now it will need to be built manually, but I intend on correcting that as soon as I have approval (Follow hylandsoftware/Harbor.Tagd#1 for tracking).

Based on the community call we had last week, we should investigate if this project can be integrated with Harbor as an "external supporting system". I'd be glad to contribute on this front in any way I can in my free time.

/cc @steven-zou

external_integration kinrequirement

Most helpful comment

I'm developing the proposal here: nlowe/harbor-tag-retention-proposal. I'll open a new issue and drop discussion links in the relevant places when it's ready for review.

All 20 comments

@nlowe
So glad to see the project is published! Let's work together to find a proper way to do the integration.

We can leverage this issue thread to discuss the possible way of the integration. Append comments directly at here. Is that ok?

Sounds good to me. I'm still waiting on an update from our legal department regarding pushing images to the Docker hub.

An initial "integration" could be something as simple as contributing to the harbor documentation explaining how to use tagd.

@nlowe

What I'm thinking is totally same as your's, create a useful guideline to tell the user how to use it and link the Tagd project in the readme file of Harbor.

Then, the next step, we can start to consider if rest APIs can be provided for the integration work. Also, there might be UI needed to let users manage and edit the clearing policy. That would be a deep feature integration.

Would you like to see guidelines now, with instructions on how to build from source? Or should I hold off on documentation until we get approval to push tagd to the docker hub?

Scratch that, I should be able to get something written up by the end of the week, next week at the latest. We just got approval to push to the docker hub a few minutes ago, we're getting everything setup over the next few days.

https://hub.docker.com/r/hylandsoftware/tagd/ is now live! I'll work on getting something written up and a PR sent in for documentation.

@nlowe

I saw the docker image in the hub. It's really awesome! Once your guide document is ready, I think the user can start to have a try. And then we can start the discussion about how to integrate it into the harbor platform.

@nlowe

So far, we treat tagd as an external tool for harbor users, I don't think we need to put the tagd document into harbor repo. You can keep it in the tagd repo. We can add some contents in the readme of harbor project to navigate the user to the tagd repo. What do you think?

I see, that makes sense to me!

@nlowe

Your tool is onboarding in Harbor community now, please check https://github.com/goharbor/harbor#additional-tools !

Do you have any idea about what's next step of this project?

@steven-zou thanks! I imagine the next step should be looking into what it would take to make tagd a native component of harbor. Is there an intermediate step you would like to see first?

@nlowe
Actually, that's totally what I'm thinking. How to make it as a harbor native component. It's really a valuable feature and required a lot by the community. We can head to the step of reimplement it with golang as a native component.

What do you think?

@steven-zou Makes sense to me! Do you want to see the conversion as an out-of-tree project, and then figure out the best way to integrate it after that? Or shall I fork harbor and do the conversion directly in-tree?

I'm leaning towards doing this out-of-tree initially. I think it may be cleaner to work out the kinks initially in this manner.

@nlowe

To let the community better understanding the conversion solution, I suggest you raise a new proposal to describe the native solution and then review and discuss (hope we can get some valuable feedbacks as many community users has mention this function) it in the community meeting.

If the proposal is ready, for the development work, you can fork a repo and send PR back to harbor repo once the code is done.

Is that ok for u?

@steven-zou That works for me. I'll work on getting something drafted by the end of this week or next. Do you want me to submit the proposal as a new Github issue or a post on the Google Groups forum?

@nlowe

Please raise a new one with the proposal type. Thanks!
ps: you can also post a message containing the proposal link to the harbor-dev channel for offline discussion. I'll also find a proper time slot for you in the incoming community conf call to introduce it and get feedback from the community.

As @nlowe did the work, assign the owner back to @nlowe.

I'm developing the proposal here: nlowe/harbor-tag-retention-proposal. I'll open a new issue and drop discussion links in the relevant places when it's ready for review.

@nlowe

I quickly go through the proposal doc, it's really awesome. The issue you drafted can be used as a proposal example/template for other community contributors to refer.

I'm going to close this as the proposal has now been submitted (sending notifications to the relevant channels shortly). If the proposal is accepted I'll make new issues for implementation details.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pingcrosby picture pingcrosby  路  3Comments

xiaosadexiaohai picture xiaosadexiaohai  路  3Comments

reasonerjt picture reasonerjt  路  3Comments

Poil picture Poil  路  3Comments

a-kinder picture a-kinder  路  3Comments