forked from buildfarm/buildfarm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
worker.config.example
160 lines (131 loc) · 5.15 KB
/
worker.config.example
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# the digest function for this worker, required
# to match out of band between the client and server
# since resource names must be determined on the client
# for a valid upload
digest_function: SHA256
# the endpoint used to execute operations
operation_queue: {
target: "localhost:8980"
# the instance domain that this worker will execute work in
# all requests will be tagged with this instance name
instance_name: "default_memory_instance"
# the deadline in seconds for requests (default or <= 0 is unlimited)
deadline_after_seconds: 60
}
# the endpoint used for cas interactions
content_addressable_storage: {
target: "localhost:8980"
# the instance domain that this worker will make resource requests in
# all requests will be tagged with this instance name
instance_name: "default_memory_instance"
# the deadline in seconds for requests (default or <= 0 is unlimited)
deadline_after_seconds: 60
}
# the endpoint used for action cache interactions
action_cache: {
target: "localhost:8980"
# the instance domain that this worker will make resource requests in
# all requests will be tagged with this instance name
instance_name: "default_memory_instance"
# the deadline in seconds for requests (default or <= 0 is unlimited)
deadline_after_seconds: 60
}
# all content for the operations will be stored under this path
root: "/tmp/worker"
# the local cache location relative to the 'root', or absolute
cas_cache_directory: "cache"
# total size in bytes of inline content for action results
# output files, stdout, and stderr content, in that order
# will be inlined if their cumulative size does not exceed this limit.
inline_content_limit: 1048567 # 1024 * 1024
# whether the stdout of running processes should be streamed
stream_stdout: true
# whether to insert stdout into the CAS, can be:
# ALWAYS_INSERT: stdout is always inserted into the CAS
# INSERT_ABOVE_LIMIT: stdout is inserted into the CAS when it exceeds the inline limit above
stdout_cas_policy: ALWAYS_INSERT
# whether the stderr of running processes should be streamed
stream_stderr: true
# whether to insert stderr into the CAS, can be:
# ALWAYS_INSERT: stderr is always inserted into the CAS
# INSERT_ABOVE_LIMIT: stderr is inserted into the CAS when it exceeds the inline limit above
stderr_cas_policy: ALWAYS_INSERT
# whether to insert output files into the CAS, can be:
# ALWAYS_INSERT: output files are always inserted into the CAS
# INSERT_ABOVE_LIMIT: output files are inserted into the CAS when it exceeds the inline limit above
file_cas_policy: ALWAYS_INSERT
# ContentAddressableStorage#getTree per-page directory count
# value of '0' means let the server decide
tree_page_size: 0
# the period between poll operations at any stage
operation_poll_period: {
seconds: 1
nanos: 0
}
# key/value set of definining capabilities of this worker
# all execute requests must match perfectly with workers which
# provide capabilities
# so an action with a required platform: { arch: "x86_64" } must
# match with a worker with at least { arch: "x86_64" } here
platform: {
# commented out here for illustrative purposes, a default empty
# 'platform' is a sufficient starting point without specifying
# any platform requirements on the actions' side
###
# properties: {
# name: "key_name"
# value: "value_string"
# }
}
# this platform is applied to any executed command to fill in
# default values for any fields that are not populated on match
default_platform: {
###
# properties: {
# name: "cores"
# value: "1"
# }
}
# limit for contents of files retained
# from CAS in the cache
cas_cache_max_size_bytes: 2147483648 # 2 * 1024 * 1024 * 1024
# limit for content size of files retained
# from CAS in the cache
cas_cache_max_entry_size_bytes: 2147483648 # 2 * 1024 * 1024 * 1024
# the number of concurrently available slots in the execute phase
execute_stage_width: 1
# the number of concurrently available slots in the input fetch phase
input_fetch_stage_width: 1
# Use an input directory creation strategy which creates a single
# directory tree at the highest level of the input tree containing
# no output paths of any kind, and symlinks that directory into an
# action's execroot, potentially saving large amounts of time
# spent manufacturing the same read-only input hierarchy over
# multiple actions' executions.
link_input_directories: true
# an imposed action-key-invariant timeout used in the unspecified timeout case
default_action_timeout: {
seconds: 600
nanos: 0
}
# a limit on the action timeout specified in the action, above which
# the operation will report a failed result immediately
maximum_action_timeout: {
seconds: 3600
nanos: 0
}
# execution policies are automatically added to the advertised
# platform for a worker
# prefix command executions with this path
# arguments are repeated here in order, with '<field>' substituted
# with a value from the Platform properties list with a matching
# name. Wrappers with substitutions without matching properties
# are discarded and not applied to the executed command
#execution_policies: {
# name: "test"
# wrapper: {
# path: "/path/to/execution/wrapper"
# arguments: "-c"
# arguments: "<cores>"
# }
#}