NAME

OrePAN2::S3 - Manage a DarkPAN CPAN mirror on Amazon S3

SYNOPSIS

# Upload a distribution to DarkPAN without indexing
orepan2-s3 upload My-Dist-1.0.tar.gz
# or using the alias
orepan2-s3 add My-Dist-1.0.tar.gz

# Upload AND index a new distribution
orepan2-s3 inject My-App-1.0.0.tar.gz

# Regenerate the DarkPAN home page and upload it
orepan2-s3 --upload create-site-index

# ...or upload an already-generated index.html on its own
orepan2-s3 upload-index

# Upload custom artifacts specified in config
orepan2-s3 upload-artifacts

DESCRIPTION

OrePAN2::S3 provides a command-line interface for creating and maintaining an S3-backed DarkPAN repository, including distribution publishing, incremental package-index maintenance, documentation and site generation, deletion, and optional CloudFront integration.

FEATURES

USAGE

orepan2-s3 [options] command [args]

Options

Both commands and options may be abbreviated to any unique prefix. Boolean options marked [negatable] accept a --no- form (for example --no-invalidate-index).

Commands

Configuration File

The configuration file for orepan2-s3 is a JSON file that can contain multiple profiles (or none). Each profile represents a DarkPAN S3 repository. The format should look something like this:

{
    "default" : "bedrock",
    "tbc" : {
        "author_path": "D/DU/DUMMY",
        "AWS": {
            "profile" : "prod",
            "region" : "us-east-1",
            "bucket" : "tbc-cpan-mirror",
            "prefix" : "orepan2"
        },
        "CloudFront" : {
            "DistributionId" : "E2ABCDEFGHIJK"
        }
    },
    "bedrock" : {
        "author_path": "D/DU/DUMMY",
        "url" : "https://cpan.openbedrock.net/orepan2",
        "index" : {
            "template" : "/path/to/template",
            "files": {
               "src" : "dest"
            }
        },
        "AWS": {
            "profile" : "prod",
            "region" : "us-east-1",
            "bucket" : "cpan.openbedrock.net",
            "prefix" : "orepan2"
        },
        "CloudFront" : {
            "DistributionId" : "E2JKLMNOPQRXYZ",
            "InvalidationPaths" : []
       }
    }
}

Each profile can contain the keys described below. If you only have one profile you don't need to place it in a 'default' section.

The value for the 'default' key can be the name of a profile or a hash of the profile.

ROLES CONSUMED

VERSION

This documentation refers to version 2.1.0.

AUTHOR

Rob Lauer - rlauer@treasurersbriefcase.com

SEE ALSO

OrePAN2, Amazon::S3::Lite, DarkPAN::Utils, CLI::Simple, Template

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.