Challenge with Zimbra repositories


#1

Hello,

I’m new to Nexus Repository Manager and I’m trying to find some ways to mirror (hosted or proxy) Zimbra Collaboration Server repositories.

According to the Zimbra repository documentation (Zimbra Collaboration repository - Zimbra :: Tech Center), to mirror Zimbra repo one needs to sync them using AWS CLI s3 sync. For example:

aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete

I’ve tried to create a yum proxy repo, but it was not able to get Zimbra packages even using the URL https://repo.zimbra.com. I’ve noticed that when I access this URL it loads a XML with S3 paths. Is this not compatible?

I’ve managed to succeed with yum hosted repository, but I had to download the RPM files from Zimbra s3 bucket and then upload them to my repo . Is there any way to make it easier? I mean, I would like to download the RPMs directly to the repository and build the metadata, updating it after syncing again with AWS CLI.

Best regards.
Fabio S. Schmidt


#2

Fabio,
I’ve never used anything like this before but assuming the structure of the Zimbra repository is the same as standard Yum repositories it seems like it would work. For example, centos (Index of /centos) has a file structure where you need to define repository depth so NXRM knows where the metadata is so we can distribute the packages. That is Index of /centos/7/os/x86_64 you can see the “repodata” folder. It is hard to tell where that is with the xml file given in https://repo.zimbra.com but assuming you know where it is and that it exists, I suspect this is just a configuration issue.

My suspicion is your hint may be on Zimbra Collaboration repository - Zimbra :: Tech Center in “Configure the yum repository” but without knowing more about Zimbra I have no idea what the variable is to advice you.

If you’re not sure, my suggestion is to try setting up centos proxy first (our documentation here: https://help.sonatype.com/display/NXRM3/Yum+Repositories) and it might be clearer to you how NXRM works and you can proceed from there.

If you do get it working, I’m sure curious how it works myself. It’d be nice to know.

If you can’t get it working, if you don’t have a requirement to use Yum, you can probably get the files using a raw repository. I suspect yum is a desire from the writeup, but 2 cents.

Maybe others here have more experience with Zimbra than I do.
Good luck!
-Joe


#3

Hello,

Thank you for your reply. I’ve succeeded to create the yum proxy repository for the Zimbra repositories. The only thing that was missing was to import Zimbra repository key. My mistake.

I would like to create a hosted repository in some cases. I’m able to download the RPMs and keep it updated with AWS CLI, but is there any way to make my hosted repo recognize new RPMs and generate the metadata without uploading them to the repo?


#4

Great! Sounds like you were close. Thanks for the information.

I’m not sure I understand your question. How would the hosted repository know about things not contained in it?
The main difference between a hosted and a proxy repository is that hosted has items you put in it, proxy has items from a remote.
-Joe


#5

Hi Joe,

Thank you very much for the clarification. It solves my query.

Best regards.
Fabio