pintod - Web interface to a Pinto repository
version 0.080
pintod --root=/path/to/repository [--auth key=value] [--port=N]
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.
pintod
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.
The path to the root directory of the Pinto repository you wish to serve. Alternatively, you may set the PINTO_REPOSITORY_ROOT environment variable.
PINTO_REPOSITORY_ROOT
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.
For example, this would be a valid configuration for Kerberos:
--auth backend=Kerberos --auth realm=REALM.COMPANY.COM
and this is how the authentication backend will be constructed:
my $auth = Authen::Simple::Kerberos->new( realm => 'REALM.COMPANY.COM' );
pintod ships with Authen::Simple::Password. If you wish to install a different authentication scheme, you'll need to install that separately. See also "BASIC AUTHENTICATION" for additional instructions for setting up basic HTTP authemtication out-of-the-box.
All other options supported by plackup are supported too, such as --server, --port, --daemonize, etc. These will be passed to Plack::Runner. By default, pintod uses on the Starman for the server backend. Be aware that different servers support different options.
--server
--port
--daemonize
The easiest way to run pintod with basic HTTP authentication is to create a password file using the htpasswd utility:
htpasswd
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.
USER
Then launch pintod like this:
pintod -r path/to/repository --auth backend=Password --autho 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 account will be running pintod.
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.
pinto to create and manage a Pinto repository.
Pinto::Manual for general information on using Pinto.
Stratopan for hosting your Pinto repository in the cloud.
Cory G Watson <gphat@onemogin.com>
Jakob Voss <jakob@nichtich.de>
Jeff <jeff@callahan.local>
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
Jeffrey Thalhammer <jeff@imaginative-software.com>
Karen Etheridge <ether@cpan.org>
Michael G. Schwern <schwern@pobox.com>
Steffen Schwigon <ss5@renormalist.net>
Wolfgang Kinkeldei <wolfgang@kinkeldei.de>
Yanick Champoux <yanick@babyl.dyndns.org>
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
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.
To install Pinto, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Pinto
CPAN shell
perl -MCPAN -e shell install Pinto
For more information on module installation, please visit the detailed CPAN module installation guide.