Does Foreman/Katello support s3 storage for pulp content?

In Foreman 3.12, is there a supported way to store pulp content on s3 storage?

If not, is there an unsupported way? I see how to configure /etc/pulp/settings.py for it, but I imagine that foreman-installer will overwrite it. I see some references to an /etc/pulp/settings.d/ but haven’t tried it (or anything else) out yet.

My end goal is to have a single content store which can be used by the Foreman server and it’s proxies. I’m very open to other suggestions.

Thanks!!

Pulp itself supports this, but I’m not aware of anyone who has investigated exposing it in foreman-installer.

If you want a single store, why do you even want proxies? The whole point is for them to be closer to your clients or if you want to isolate your clients. If you consume content from a central store then I don’t see the benefit of having separate content proxies.

Thanks for the quick reply!

My general plan when building things out is to offload the client-facing stuff from the master. I’m still working through the bigger picture of how it will all look and made it to the point where I am, or maybe was, going to setup a proxy or two. Trying to get in any HA also where I can.

If there isn’t much gain in load/security/etc in offloading normal client things from the master, then I’ll just stick with a single node.

If you’re up for it, you can contribute it.

Roughly you’ll go through a few steps:

  • Figure which packages are needed
  • Figure out the settings
  • Figure out how to expose that in the installer

A few repositories that are relevant:

My first step was to look at Pulp’s documentation. Settings - Pulp Project refers to storage documentation but that isn’t a link. That makes it rather hard to figure out the packages and settings.

I know django-storages is used internally, so that’s likely going to be the configuration. More documentation from the Pulp side would be very helpful.

Yes, It looks like the storage configuration documentation got under the bus with our new Docs layout.
The idea is, you can use local file storage or s3 (works with minio) or azure, and the configuration is done as described in the django-storages docs.
Since Pulp needs to know about your configuration, it probably needs to go via the deprecated “DEFAULT_FILE_STORAGE” setting.

Here’s the old page: