Using the same S3 Bookshelf for different servers?

Hi all,

Does anyone know if it’s possible for two completely separate Chef servers (both standalone and with their own configuration/organisations etc) to use the same AWS S3 bucket for their Bookshelf? Would doing this mean that both servers would have identical cookbook lists, or is there some cookbook metadata stored somewhere else that would prevent this?

My end goal is that I want to have 2 different servers which both have access to the same cookbooks. I know I could do it by uploading to each server individually, but if I they could both share the same S3 bucket then it could save us a little bit of time and money.

Thanks
Kieran

1 Like

The Chef Server generates S3 keys that include a per-organization GUID, e.g. something like
organization-4845e15a-bec2-463b-bc1e-b2f93f514fdd/checksum-cbb4581ba3ada1ddef9b431eef2660ce

Each organization on a Chef Server (or different Chef Server) will have a unique GUID so you're not sharing any data.

So this means you probably could share an S3 bucket but you aren't likely to get any benefits.

You can see the code in Chef Server here: https://github.com/chef/chef-server/blob/bb28b489960c8fae6ac061bf2dab5800142b22a3/src/oc_erchef/apps/chef_objects/src/chef_s3.erl#L125

Thanks, that’s really helped. I’ll just use two separate buckets to keep things simple.

@kdoonan you were able upload cookbook onto S3? What is your configuration for both Chef-Server and S3 bucket itself? What region? As I experience problem of uploading it

@vsyc I haven’t tried setting it up yet, I’m still planning it out. I’ll let you know how it goes though.

Cheers
Kieran