Skip to content

Commit b970c16

Browse files
Add config for buildbuddy-executor helm deploy (#1410)
Summary: Adds the values were using to deploy self-hosted buildbuddy executors. Currently, it relies on my fork of the buildbuddy helm chart, but I think the last PR will be merged in soon and we can just use the main buildbuddy-helm repo. Type of change: /kind test-infra Test Plan: Tested the buildbudy executor deploy on equinix. Signed-off-by: James Bartlett <jamesbartlett@pixielabs.ai>
1 parent 068161f commit b970c16

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Install buildbuddy executor to a k8s cluster:
2+
- `helm repo add buildbuddy https://helm.buildbuddy.io`
3+
- (For now not all changes to buildbuddy-executor have landed in the helm repo, so you should use my fork [here](https://github.com/JamesMBartlett/buildbuddy-helm/tree/all_changes_for_pixie) and replace any references to `buildbuddy/buildbuddy-executor` with `/path/to/checkout-of-fork/charts/buildbuddy-executor`)
4+
- From the workspace root run:
5+
```
6+
BB_EXECUTOR_API_KEY=<api_key> \
7+
IMAGE_TAG="$(grep DOCKER_IMAGE_TAG "docker.properties" | cut -d= -f2)" \
8+
envsubst < k8s/devinfra/buildbuddy-executor/values.yaml | \
9+
helm upgrade --install -f - buildbuddy buildbuddy/buildbuddy-executor --create-namespace -n buildbuddy
10+
```
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
replicas: 48
3+
resources: null
4+
config:
5+
executor:
6+
app_target: "grpcs://remote.buildbuddy.io:443"
7+
api_key: $BB_EXECUTOR_API_KEY
8+
docker_socket: ""
9+
enable_bare_runner: true
10+
local_cache_size_bytes: 375000000000 # 375GB
11+
millicpu: 4000
12+
memory_bytes: 24000000000
13+
14+
extraInitContainers:
15+
- name: download-executor
16+
# yamllint disable-line rule:line-length
17+
image: gcr.io/pixie-oss/pixie-dev-public/curl:multiarch-7.87.0@sha256:f7f265d5c64eb4463a43a99b6bf773f9e61a50aaa7cefaf564f43e42549a01dd
18+
# yamllint disable rule:indentation rule:line-length
19+
command: ['sh', '-c', 'set -e;
20+
curl -fsSL https://github.com/buildbuddy-io/buildbuddy/releases/download/v2.12.42/executor-enterprise-linux-amd64 > /bb-executor/executor;
21+
chmod +x /bb-executor/executor']
22+
# yamllint enable rule:indentation rule:line-length
23+
volumeMounts:
24+
- name: bb-executor
25+
mountPath: /bb-executor
26+
27+
image:
28+
repository: gcr.io/pixie-oss/pixie-dev-public/dev_image
29+
tag: '$IMAGE_TAG'
30+
31+
customExecutorCommand: ['/bb-executor/executor', '--server_type=buildbuddy-executor']
32+
33+
poolName: '"$IMAGE_TAG"'
34+
35+
extraVolumeMounts:
36+
- name: bb-executor
37+
mountPath: /bb-executor
38+
- name: var-run
39+
mountPath: /var/run
40+
extraVolumes:
41+
- name: bb-executor
42+
emptyDir: {}
43+
- name: var-run
44+
emptyDir: {}
45+
46+
containerSecurityContext:
47+
privileged: true
48+
49+
extraContainers:
50+
- name: dind
51+
image: docker:dind
52+
securityContext:
53+
privileged: true
54+
volumeMounts:
55+
- name: var-run
56+
mountPath: /var/run
57+
lifecycle:
58+
postStart:
59+
exec:
60+
# Waiting for the docker daemon to start in this postStart hook
61+
# causes the main executor container to not start until the docker daemon is ready.
62+
command:
63+
- /bin/sh
64+
- -c
65+
- 'while ! docker ps; do sleep 1; done;'

0 commit comments

Comments
 (0)