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 ownyum
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 withcarton
. 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:
AWS Account: An active Amazon Web Services account.
S3 Bucket: A designated S3 bucket to store your CPAN modules.
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