summaryrefslogtreecommitdiffstats
path: root/config.toml
blob: 54143afa8987fa49ce4d0671706519cd31ae302b (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
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
161
162
163
164
165
166
167
168
169
# Format of the progress bars used.
# See https://docs.rs/indicatif/0.15.0/indicatif/#templates
# for how to customize this.
#
# Note that 40 is a nice width for the bar itself here, because that's 63
# characters before the actually {msg}, which gives the message enough space to
# fit a 80 or 100 character wide terminal!
#
# This is also the default if the setting is not present.
progress_format = "[{elapsed_precise}] ({percent:>3}%): {bar:40.cyan/blue} | {msg}"


# The shebang line used when compiling the packaging scripts
# Default if this value is not set is "#!/bin/bash".
# Can be overwritten temporarily via CLI
script_shebang = "#!/bin/bash"

# The number of log lines to show if a build fails.
# Defaults to 10
build_error_lines = 10

# The theme for the highlighting engine when printing the script that ran inside
# a container.
#
# Valid values:
#   "base16-ocean.dark"
#   "base16-eighties.dark"
#   "base16-mocha.dark"
#   "base16-ocean.light"
#   "InspiredGitHub"
#   "Solarized (dark)"
#   "Solarized (light)"
#
# If the value is not set, highlighting is disabled.
script_highlight_theme = "Solarized (dark)"

# An (optional) script or program that can lint the packaging script.
# This command gets the script on STDIN and might return 1 if there was an
# error.
# Stderr and stdout are printed to the user in this case.
#
# Simplest example:
# ```bash
# #!/bin/bash
# shellcheck -
# ```
#
# script_linter = "/path/to/scriptlinter"

# The format to print the found packages with.
#
# Possible tokens are:
#     i                         - Incrementing number of package that is printed
#     p                         - The package data
#     print_system_deps         - boolean flag to use in format string, true if user wants to see system deps
#     print_system_runtime_deps - boolean flag to use in format string, true if user wants to see system runtime deps
#     print_build_deps          - boolean flag to use in format string, true if user wants to see build deps
#     print_runtime_deps        - boolean flag to use in format string, true if user wants to see runtime deps
#
# Handlebars modifiers are available.
package_print_format = ""

# The position of the release binaries
#
# butido checks this location for packages when installing dependencies
#
releases = "/tmp/releases"

# The position of the staging binaries
# butido rolls a dice for each submitted build and generates a
# per-process-staging directory here to store intermediate builds.
#
staging  = "/tmp/staging"

# The position where the sources are cached by butido.
source_cache = "/tmp/sources"

# The directory where butido puts the plain text log files it writes for the
# jobs
log_dir      = "/tmp/logs"

# Enable strict script interpolation
#
# If this is set to true, the variable interpolation for the packaging script
# will be done in strict mode.
# Strict mode means, that referencing a variable that does not exist, will
# result in a rendering error.
#
# Default if this setting is missing is true
#
strict_script_interpolation = true

# ####
#
# Log database configuration
#
# ####

# The database to use
#
# Can be overridden via environment vairbale BUTIDO_DATABASE_URI or set via CLI.
database_host     = "localhost"
database_port     = 5432
database_user     = "pgdev"
database_password = "password"
database_name     = "butido"

# Phases which can be configured in the packages

# This also defines the _order_ in which the phases are executed
# Each phase gets a pre_ and a post_ phase added automatically.
# So for [ "foo", "bar" ], the phases are executed in this order:
#   pre_foo
#   foo
#   post_foo
#   pre_bar
#   bar
#   post_bar
#
# Phases which are not listed here are not executed at all.
available_phases = [ "unpack", "patch", "configure", "build", "fixup", "pack" ]

[docker]
# Images which can be used to build
# images not listed here are automatically rejected
images = [ "debian:bullseye" ]

#
# Verify whether the requested images are present
#
# This setting is twofold:
# First, it checks whether the image requested on the commandline (when
# building) is actually in the whitelist (`docker.images` setting in the
# configuration file).
# Second, it checks that every used endpoint actually has the requested image
# present.
# This check is done when setting up the connection to the endpoints, so this
# will fail _before_ any actual building starts.
#
verify_images_present = true

# List of docker endpoints
[[docker.endpoints]]
name          = "testhostname"
uri           = "http://0.0.0.0:8095"
endpoint_type = "http"
speed         = 1
maxjobs       = 1


[containers]

# Restrict the environment that can be passed to the containers
#
# This is a security mechansim to prevent typos when passing environment
# variables (either from package definition or from CLI) to the build jobs in
# the containers.
#
# If this is set to `true`, only the variables named in `allowed_env` will be
# allowed to be passed to the container. If a variable is not in this list,
# butido will fail with an error message.
#
check_env_names = true

# Environment variables which are allowed to be passed to a container.
# This way, errors (typos) when passing environment to a build can be prevented.
# Double-check this list
allowed_env = [ "FOO", "BAR" ]