1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
// file : bbot/agent.cli
// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
// license : TBC; see accompanying LICENSE file
include <bbot/common.cli>;
"\section=1"
"\name=bbot-agent"
"\summary=build bot agent"
namespace bbot
{
{
"<options> <name> <num> <id> ",
"
\h|SYNOPSIS|
\cb{bbot-agent --help}\n
\cb{bbot-agent --version}\n
\c{\b{bbot-agent} [<options>] <name> <num> <id>}
\h|DESCRIPTION|
\cb{bbot-agent} @@ TODO.
The <name> argument is the toolchain name, <id> \- the toolchain id,
and <num> \- the toolchain number in this deployment.
Note that on termination \cb{bbot-agent} may leave a working machine
snapshot behind. It is expected that the caller (normally Build OS
monitor) cleans them up before restarting the agent.
"
}
class agent_options
{
"\h|OPTIONS|"
bool --help {"Print usage information and exit."}
bool --version {"Print version and exit."}
bool --systemd-daemon
{
"Start as a simple systemd daemon."
}
size_t --cpu = 1
{
"<num>",
"Number of CPUs (threads) to use, 1 by default."
}
size_t --ram (1024 * 1024) // 1G
{
"<num>",
"Amount of RAM (in kB) to use, 1G by default."
}
dir_path --machines = "/build/machines/"
{
"<dir>",
"The location of the build machines with \cb{/build/machines/} being
the default."
}
size_t --bootstrap-timeout = 600
{
"<sec>",
"Maximum number of seconds to wait for machine bootstrap completion,
600 (10 minutes) by default."
}
size_t --build-timeout = 1800
{
"<sec>",
"Maximum number of seconds to wait for build completion, 1800 (30
minutes) by default."
}
uint16_t --verbose = 1
{
"<level>",
"Set the diagnostics verbosity to <level> between 0 and 6 with level 1
being the default."
}
// Testing options.
//
bool --dump-machines
{
"Dump available machines to \c{stdout}, (re)-bootstrapping any if
necessary, and exit."
}
bool --fake-bootstrap
{
"Fake the machine bootstrap process by creating the expected bootstrapped
machine manifest."
}
};
"
\h|EXIT STATUS|
Non-zero exit status is returned in case of an error.
"
}
|