1PINTOD(1) User Contributed Perl Documentation PINTOD(1)
2
3
4
6 pintod - Web interface to a Pinto repository
7
9 version 0.14
10
12 pintod --root=/path/to/repository [--auth key=value] [--port=N]
13
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
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
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
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
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
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
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
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)