1PINTOD(1)             User Contributed Perl Documentation            PINTOD(1)
2
3
4

NAME

6       pintod - Web interface to a Pinto repository
7

VERSION

9       version 0.14
10

SYNOPSIS

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

DESCRIPTION

15       "pintod" provides a web API to a Pinto repository.  Clients (like
16       pinto) can use this API to manage and inspect the repository.  In
17       addition, "pintod" serves up the distributions within the repository,
18       so you can use it as the backend for cpan or cpanm.
19
20       Before running "pintod" you must first create a Pinto repository.  For
21       example:
22
23         pinto --root=/path/to/repository init
24
25       See pinto for more information about creating a reposiotry.
26

ARGUMENTS

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

OPTIONS

35       --auth KEY=VALUE
36           Sets an option for the authentication scheme (default is no
37           authentication).  Each time this is used, a key=value pair must
38           follow; one of them must be 'backend', which should correspond to a
39           class in the Authen::Simple namespace. The remaining options will
40           be passed as-is to the authentication backend.
41
42           See "USING BASIC HTTP AUTHENTICATION" for more guidance on enabling
43           authenticaion with minimal fuss, or see "USING OTHER AUTHENTICATION
44           SCHEMES" for more complex options.
45
46       --port INTEGER
47       -p INTEGER
48           Specifies the port number that the server will listen on.  The
49           default is 3111.  If you specify a different port, all clients will
50           also have to specify that port.  So you probably don't want to
51           change the port unless you have a very good reason.
52
53       other options
54           All other options supported by plackup are supported too, such as
55           "--server", "--daemonize", "--access-log", "--error-log" etc.
56           These will be passed to Plack::Runner.  By default, "pintod" uses
57           on the Starman for the server backend.  Be aware that not all
58           servers support the same options.
59

USING BASIC HTTP AUTHENTICATION

61       "pintod" ships with Authen::Simple::Passwd, so the easiest way to run
62       the server with basic HTTP authentication is to create a password file
63       using the "htpasswd" utility:
64
65         htpasswd -c /path/to/htpasswd USER
66
67       You will be prompted to enter the password for "USER" twice.  Then
68       repeat that command without the -c option for each additional user.
69       You may want to put the htpasswd file inside the top of your
70       repository.
71
72       Then launch pintod like this:
73
74         pintod --root path/to/repository --auth backend=Passwd --auth path=path/to/htpasswd
75
76       If you already have an htpasswd file somewhere, you may just point to
77       it directly, or create a symlink.  In any case, the htpasswd file needs
78       to be readable by the user that will be running "pintod".
79

USING OTHER AUTHENTICATION SCHEMES

81       If you wish to use a different authenticaion scheme, then you'll first
82       need to install the appropriate Authen::Simple backend module.  Then
83       configure pintod accordingly.  For example, this would be a valid
84       configuration for Kerberos:
85
86         --auth backend=Kerberos --auth realm=REALM.YOUR_COMPANY.COM
87
88       and this is how the authentication backend will be constructed:
89
90         my $auth = Authen::Simple::Kerberos->new(
91           realm => 'REALM.YOUR_COMPANY.COM'
92         );
93

DEPLOYMENT

95       "pintod" is PSGI compatible, running under Plack::Runner by default.
96       It will use whatever backend you specify on the command line or have
97       configured in your environment (defaults to Starman).
98
99       If you wish to add your own middleware and/or customize the backend in
100       other ways, you can use Pinto::Server in a custom .psgi script like
101       this:
102
103           # my-pintod.psgi
104
105           my %opts   = (...);
106           my $server = Pinto::Server->new(%opts);
107           my $app    = $server->to_app;
108
109           # wrap $app with middlewares here and/or
110           # insert code customized for your backend
111           # which operates on the $app
112
113       Then you may directly launch my-pintod.psgi using plackup.
114

SEE ALSO

116       pinto to create and manage a Pinto repository.
117
118       Pinto::Manual for general information on using Pinto.
119
120       Stratopan <http://stratopan.com> for hosting your Pinto repository in
121       the cloud.
122

AUTHOR

124       Jeffrey Ryan Thalhammer <jeff@stratopan.com>
125
127       This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
128
129       This is free software; you can redistribute it and/or modify it under
130       the same terms as the Perl 5 programming language system itself.
131
132
133
134perl v5.38.0                      2023-07-21                         PINTOD(1)
Impressum