Provided by: pinto_0.14000-2_all bug

NAME

       pintod - Web interface to a Pinto repository

VERSION

       version 0.14

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) 2015 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.

perl v5.36.0                                       2022-10-16                                         PINTOD(1p)