aboutsummaryrefslogtreecommitdiff
path: root/bbot/agent.cli
blob: a10889e9aec71bfaa20f6aa35f2a040790b68d78 (plain)
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
// 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."
    }

    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.
  "
}