Provided by: pinto_0.97+dfsg-2_all bug

NAME

       pintod - Web interface to a Pinto repository

VERSION

       version 0.097

SYNOPSIS

         pintod --root=/path/to/repository [--auth key=value] [--port=N]

DESCRIPTION

       "pintod" provides a web API to a Pinto repository.  Clients (like pinto) can use this API
       to manage and inspect the repository.  In addition, "pintod" serves up the distributions
       within the repository, so you can use it as the backend for cpan or cpanm.

       Before running "pintod" you must first create a Pinto repository.  For example:

         pinto --root=/path/to/repository init

       See pinto for more information about creating a reposiotry.

ARGUMENTS

       --root PATH
       -r PATH
           The path to the root directory of the Pinto repository you wish to serve.
           Alternatively, you may set the "PINTO_REPOSITORY_ROOT" environment variable.

OPTIONS

       --auth KEY=VALUE
           Sets an option for the authentication scheme (default is no authentication).  Each
           time this is used, a key=value pair must follow; one of them must be 'backend', which
           should correspond to a class in the Authen::Simple namespace. The remaining options
           will be passed as-is to the authentication backend.

           See "USING BASIC HTTP AUTHENTICATION" for more guidance on enabling authenticaion with
           minimal fuss, or see "USING OTHER AUTHENTICATION SCHEMES" for more complex options.

       --port INTEGER
       -p INTEGER
           Specifies the port number that the server will listen on.  The default is 3111.  If
           you specify a different port, all clients will also have to specify that port.  So you
           probably don't want to change the port unless you have a very good reason.

       other options
           All other options supported by plackup are supported too, such as "--server",
           "--daemonize", "--access-log", "--error-log" etc.  These will be passed to
           Plack::Runner.  By default, "pintod" uses on the Starman for the server backend.  Be
           aware that not all servers support the same options.

USING BASIC HTTP AUTHENTICATION

       "pintod" ships with Authen::Simple::Passwd, so the easiest way to run the server with
       basic HTTP authentication is to create a password file using the "htpasswd" utility:

         htpasswd -c /path/to/htpasswd USER

       You will be prompted to enter the password for "USER" twice.  Then repeat that command
       without the -c option for each additional user.   You may want to put the htpasswd file
       inside the top of your repository.

       Then launch pintod like this:

         pintod --root path/to/repository --auth backend=Passwd --auth path=path/to/htpasswd

       If you already have an htpasswd file somewhere, you may just point to it directly, or
       create a symlink.  In any case, the htpasswd file needs to be readable by the user that
       will be running "pintod".

USING OTHER AUTHENTICATION SCHEMES

       If you wish to use a different authenticaion scheme, then you'll first need to install the
       appropriate Authen::Simple backend module.  Then configure pintod accordingly.  For
       example, this would be a valid configuration for Kerberos:

         --auth backend=Kerberos --auth realm=REALM.YOUR_COMPANY.COM

       and this is how the authentication backend will be constructed:

         my $auth = Authen::Simple::Kerberos->new(
           realm => 'REALM.YOUR_COMPANY.COM'
         );

DEPLOYMENT

       "pintod" is PSGI compatible, running under Plack::Runner by default.  It will use whatever
       backend you specify on the command line or have configured in your environment (defaults
       to Starman).

       If you wish to add your own middleware and/or customize the backend in other ways, you can
       use Pinto::Server in a custom .psgi script like this:

           # my-pintod.psgi

           my %opts   = (...);
           my $server = Pinto::Server->new(%opts);
           my $app    = $server->to_app;

           # wrap $app with middlewares here and/or
           # insert code customized for your backend
           # which operates on the $app

       Then you may directly launch my-pintod.psgi using plackup.

SEE ALSO

       pinto to create and manage a Pinto repository.

       Pinto::Manual for general information on using Pinto.

       Stratopan <http://stratopan.com> for hosting your Pinto repository in the cloud.

AUTHOR

       Jeffrey Ryan Thalhammer <jeff@stratopan.com>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Jeffrey Ryan Thalhammer.

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