|
|
drist.1 - drist - a remote deployment tool |
|
|
 |
git clone git://bitreich.org/drist/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/drist/ (git://bitreich.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
Tags |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
|
drist.1 (2863B) |
|
|
|
--- |
|
|
|
1 .Dd $Mdocdate: April 27 2020 $ |
|
|
|
2 .Dt DRIST 1 |
|
|
|
3 .Os |
|
|
|
4 .Sh NAME |
|
|
|
5 .Nm drist |
|
|
|
6 .Nd dumb remote installer shell tool, a remote deployment tool |
|
|
|
7 .Sh SYNOPSIS |
|
|
|
8 .Op Fl p |
|
|
|
9 .Op Fl d |
|
|
|
10 .Op Fl s Op Fl e Ar sudo|doas |
|
|
|
11 .Ar destination |
|
|
|
12 .Sh OPTIONS |
|
|
|
13 .Bl -tag -width Ds |
|
|
|
14 .It Op Fl p |
|
|
|
15 to use persistent ssh connection, allowing to ssh only once |
|
|
|
16 for the differents steps. |
|
|
|
17 This uses ControlMaster feature from |
|
|
|
18 .Xr ssh 1 . |
|
|
|
19 .It Op Fl d |
|
|
|
20 to truncate reported hostname. |
|
|
|
21 Tells |
|
|
|
22 .Nm |
|
|
|
23 to truncate the reported remote hostname to the left-most component. |
|
|
|
24 .It Op Fl s |
|
|
|
25 use a program to execute a command as root on the remote server. |
|
|
|
26 Default is sudo. |
|
|
|
27 .It Op Fl e Ar binary |
|
|
|
28 binary to use for executing the commands as root. |
|
|
|
29 This flag is only useful when used with |
|
|
|
30 .Fl s . |
|
|
|
31 .It Ar destination |
|
|
|
32 Specify the remote servers you want drist to work on. |
|
|
|
33 .Ar destination |
|
|
|
34 can be a file containing a list of hosts, one per line or |
|
|
|
35 it can be addresses passed in the command line. |
|
|
|
36 If you specify multiples servers, |
|
|
|
37 .Nm |
|
|
|
38 will loop over the list respecting the list order. |
|
|
|
39 Note that only one file can be used in the command line. |
|
|
|
40 .El |
|
|
|
41 .Sh DESCRIPTION |
|
|
|
42 .Nm |
|
|
|
43 is a tool to configure remote servers using |
|
|
|
44 .Xr ssh 1 |
|
|
|
45 and |
|
|
|
46 .Xr rsync 1 . |
|
|
|
47 .Nm |
|
|
|
48 has been designed to be simple, so it may not offer all the features you want. |
|
|
|
49 .Pp |
|
|
|
50 When you run |
|
|
|
51 .Nm |
|
|
|
52 , it will look at a set of special directories in the current working |
|
|
|
53 directory. |
|
|
|
54 .Nm |
|
|
|
55 will connect to |
|
|
|
56 .Ar server |
|
|
|
57 via |
|
|
|
58 .Xr ssh 1 |
|
|
|
59 and request the remote |
|
|
|
60 .Em HOSTNAME |
|
|
|
61 by calling |
|
|
|
62 .Ql uname -n . |
|
|
|
63 .Pp |
|
|
|
64 After that following steps will be executed: |
|
|
|
65 .Bl -enum -offset indent -compact |
|
|
|
66 .It |
|
|
|
67 If directory |
|
|
|
68 .Ar files |
|
|
|
69 exists, its content is copied to |
|
|
|
70 .Ar server |
|
|
|
71 using |
|
|
|
72 .Xr rsync 1 |
|
|
|
73 in a temporary directory in ~/.drist_files_XXXXXXXX |
|
|
|
74 .It |
|
|
|
75 If directory |
|
|
|
76 .Ar files- Ns Em HOSTNAME |
|
|
|
77 exists, its content is copied to |
|
|
|
78 .Ar server |
|
|
|
79 using |
|
|
|
80 .Xr rsync 1 |
|
|
|
81 in a temporary directory in ~/.drist_files_XXXXXXXX . |
|
|
|
82 .It |
|
|
|
83 If file |
|
|
|
84 .Ar script |
|
|
|
85 exists, it is copied to |
|
|
|
86 .Ar server |
|
|
|
87 and executed from the temporary directory. |
|
|
|
88 .It |
|
|
|
89 If file |
|
|
|
90 .Ar script- Ns Em HOSTNAME |
|
|
|
91 exists, it is copied to |
|
|
|
92 .Ar server |
|
|
|
93 and executed from the temporary directory. |
|
|
|
94 .El |
|
|
|
95 .Pp |
|
|
|
96 The presence of each of those files or directories is optional. |
|
|
|
97 .Pp |
|
|
|
98 All files in either |
|
|
|
99 .Ar files |
|
|
|
100 or |
|
|
|
101 .Ar files- Ns Em HOSTNAME |
|
|
|
102 etc. are relative to the root (/) directory. |
|
|
|
103 The specific files for |
|
|
|
104 .Em HOSTNAME |
|
|
|
105 are worked on after the common files. |
|
|
|
106 .Pp |
|
|
|
107 I recommend to write small "modules" which would install the required |
|
|
|
108 packages for a task and provide the files needed, rather than writing a |
|
|
|
109 full-blown module for deploying an entire system at once. |
|
|
|
110 .Nm |
|
|
|
111 does not handle file permissions and ownership. |
|
|
|
112 Those should be modified by the |
|
|
|
113 .Ar script |
|
|
|
114 file. |
|
|
|
115 .Sh EXAMPLES |
|
|
|
116 Please see the |
|
|
|
117 .Ar examples |
|
|
|
118 directory in the |
|
|
|
119 .Nm |
|
|
|
120 distribution. |
|
|
|
121 .Sh EXIT |
|
|
|
122 .Ex -std drist |
|
|
|
123 .Sh SEE ALSO |
|
|
|
124 .Xr rsync 1 , |
|
|
|
125 .Xr ssh 1 , |
|
|
|
126 .Xr ssh_config 5 |
|
|
|
127 .Sh Authors |
|
|
|
128 .An -nosplit |
|
|
|
129 The |
|
|
|
130 .Nm |
|
|
|
131 program was written by |
|
|
|
132 .An Solène Rapenne Aq Mt solene@perso.pw |
|