I’m excited to announce the release of OrePAN2::S3, a new Perl distribution designed to streamline the creation and management of private CPAN (DarkPAN) repositories using Amazon S3 and CloudFront. This tool simplifies the deployment of your own Perl module repository, ensuring efficient distribution and scaling capabilities.

This effort is the terminal event (I hope) in my adventure in Perl packaging that led me down the rabbit hole of CloudFront distributions?

My adventure in packaging started many years ago when it seemed like a good idea to use RPMs. No really, it was!

The distribtions embraced Perl and life was good…until of course it wasn’t. Slowly but surely, those modules we wanted weren’t available in any of the repos. Well, here we are in 2025 and you can’t even grovel enough to get AWS to include Perl in its images? Sheesh, really? I have to yum install perl-core? Seems like someone has specifically put Perl on the shit list.

I’ve been swimming upstream for years using cpanspec and learning how to create my own yum repos with all of the stuff Amazon just didn’t want to package. I’ve finally given up. CPAN forever! cpanm is awesome! Okay, yeah, but I’m still not all in with carton. Maybe some day?

Key Features of OrePAN2::S3

  • Seamless Integration with AWS: OrePAN2::S3 leverages Amazon S3 for storage and CloudFront for content delivery, providing a highly available, scalable solution for hosting your private CPAN repository.

  • User-Friendly Setup: The distribution offers straightforward scripts and configurations, enabling you to set up your DarkPAN with minimal effort…I hope. If you find some points of friction, log an issue.

  • Flexible Deployment Options: Whether you prefer a simple S3-backed website or a full-fledged CloudFront distribution, OrePAN2::S3 accommodates both setups to suit your specific needs. If you really just want a website enable S3 bucket to serve as your DarkPAN we got your back. But be careful…

Getting Started:

To begin using OrePAN2::S3, ensure you have the following prerequisites:

  1. AWS Account: An active Amazon Web Services account.

  2. S3 Bucket: A designated S3 bucket to store your CPAN modules.

  3. CloudFront Distribution (optional): For enhanced content delivery and caching.

Detailed instructions for setting up your S3 bucket and CloudFront distribution are available in the project’s repository.

Why Choose OrePAN2::S3?

Managing a private CPAN repository can be complex, but with OrePAN2::S3, the process becomes efficient and scalable. By harnessing the power of AWS services, this distribution ensures your Perl modules are readily accessible and securely stored.

Oh, and let’s give credit where credit is due. This is all based on OrePAN2.

For more information and to access the repository, visit: https://github.com/rlauer6/OrePAN2-S3

We look forward to your feedback and contributions to make OrePAN2::S3 even more robust and user-friendly.


Previous post: How to Unlock Your S3 Bucket After a Policy Fail