-
Notifications
You must be signed in to change notification settings - Fork 25
/
values.yaml
163 lines (141 loc) · 5.03 KB
/
values.yaml
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
## Default values for BuildBuddy Enterprise.
## This is a YAML-formatted file.
## Declare variables to be passed into your templates.
## The BuildBuddy Executor container image to use.
image:
repository: gcr.io/flame-public/buildbuddy-executor-enterprise
tag: enterprise-v2.117.0
imagePullPolicy: IfNotPresent
## The number of executor replicas to run.
replicas: 3
## The name of the executor pool for this deployment.
# poolName: high-memory-pool
## The nodeSelector used for placing executors and apps in separate node pools/groups (useful when autoscaling executors)
# nodeSelector:
# # GCP
# cloud.google.com/gke-nodepool: my-executor-pool
# # AWS
# eks.amazonaws.com/nodegroup: my-executor-pool
## The taints to schedule pods on (useful for mixed architecture clusters)
# tolerations:
# - effect: NoSchedule
# key: hardware_requirements
# operator: Equal
# value: x86_64
## The default resources to give the app.
resources:
limits:
cpu: "2"
memory: "10Gi"
requests:
cpu: "1"
memory: "5Gi"
## Configures what port the BuildBuddy executors operate on.
service:
internalHTTPPort: 8080
internalGRPCPort: 1985
internalMetricsPort: 9090
# Required to enable autoscaling based on custom metrics
prometheus:
enabled: false
prometheus-adapter:
prometheus:
url: http://{{ .Release.Name }}-prometheus-server
port: 80
rules:
default: false
custom:
- seriesQuery: 'buildbuddy_remote_execution_queue_length{pod!="",namespace!=""}'
resources:
overrides:
namespace: {resource: "namespace"}
pod: {resource: "pod"}
metricsQuery: sum (<<.Series>>{<<.LabelMatchers>>}) by (<<.GroupBy>>)
name:
matches: "^(.*)$"
as: "${1}"
autoscaler:
enabled: false
# minReplicas: 3
# maxReplicas: 100
# averageQueueLength: 5
# ## Optional scaling behavior
# ## https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#scaling-policies
# behavior:
# scaleDown:
# stabilizationWindowSeconds: 600
# policies:
# - type: Pods
# value: 2
# periodSeconds: 10
# - type: Percent
# value: 10
# periodSeconds: 60
# ## Optional custom metrics
# metrics:
# - type: Pods
# pods:
# metric:
# name: my_custom_metric
# target:
# type: AverageValue
# averageValue: 5
podDisruptionBudget:
enabled: false
spec:
## Only one of minAvailable or maxUnavailable may be specified
# maxUnavailable: 40%
minAvailable: 60%
# NOTE: These acts as the default values for the config.yaml file read by the
# buildbuddy server itself. You can override the config object just like any
# Helm template value. Since it is an object, the object you provide will merge
# with these defaults.
config:
executor:
# app_target: "grpcs://your.buildbuddy.install:443" # auto populated if deploying via buildbuddy-enterprise chart
root_directory: "/buildbuddy/remotebuilds/"
local_cache_directory: "/buildbuddy/filecache/"
local_cache_size_bytes: 5000000000 # 5GB
## Use podman to spin up 'runner' child containers inside executor container.
enable_podman: true
default_isolation_type: podman
# Configuration for Deployment Rollout Staggering
# The 'minReadySeconds' config delays the rollout process during a RollingUpdate. This delay allows the
# new Executor time for initialization, which includes picking up new actions, downloading necessary
# container images and inputs. As a result, it prevents the immediate replacement of the old Executor.
# By setting this config, the impact of 'helm upgrade' on ongoing operations is minimized, ensuring a
# smoother transition between different chart releases.
#
# minReadySeconds: 300
## Additional env vars
extraEnvVars: []
## Additional init containers
extraInitContainers: []
## Additional containers
extraContainers: []
## Path on the node to mount 'executor-data' volume.
## If not set, 'executor-data' will use emptyDir.
# executorDataVolumeHostPath: ""
## Path on the node to mount Podman 'containers-lib' volume,
## which is mounted to /var/lib/containers inside the Executor pod.
##
## If not set, 'containers-lib' will use emptyDir.
# podmanGraphRootVolumeHostPath: ""
## Path on the node to mount Podman 'containers-run' volume,
## which is mounted to /run/containers inside the Executor pod.
##
## If not set, 'containers-run' will use emptyDir.
# podmanRunRootVolumeHostPath: ""
# Add additional volumes and mounts
extraVolumes: []
extraVolumeMounts: []
## Affinity (optional) could be used to configured 'executor' pods to be deployed
## on nodes with a certain type of storage volume or hardware available.
affinity: {}
## Optionally, set a different service account for the executor pods. Setting
## this is not required for normal 'executor' operation; the `default` SA is
## sufficient. It is available in case you need to grant the pods additional
## permissions via SA. Note that the chart does not create the SA, so you should
## create it on your own.
# serviceAccount:
# name: default