PINTOD(1p) | User Contributed Perl Documentation | PINTOD(1p) |
pintod - Web interface to a Pinto repository
version 0.14
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.
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.
See "USING BASIC HTTP AUTHENTICATION" for more guidance on enabling authenticaion with minimal fuss, or see "USING OTHER AUTHENTICATION SCHEMES" for more complex options.
"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".
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' );
"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 <http://stratopan.com> for hosting your Pinto repository in the cloud.
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
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.
2022-10-16 | perl v5.34.0 |