From c2a568cbd928bcfab43f79831a748269dbdf02b3 Mon Sep 17 00:00:00 2001 From: Artur Stachecki Date: Fri, 25 Oct 2024 21:54:08 +0000 Subject: [PATCH] feat: adds starterkit-ash-coreutils-x86_64-cc worker/runner --- .../buildbarn/config/kustomization.yaml | 2 + ...starterkit-ash-coreutils-x86_64-cc.jsonnet | 10 +++ ...starterkit-ash-coreutils-x86_64-cc.jsonnet | 41 +++++++++ .../tenants/buildbarn/kustomization.yaml | 1 + ...er-starterkit-ash-coreutils-x86_64-cc.yaml | 85 +++++++++++++++++++ 5 files changed, 139 insertions(+) create mode 100644 cluster-home/tenants/buildbarn/config/runner-starterkit-ash-coreutils-x86_64-cc.jsonnet create mode 100644 cluster-home/tenants/buildbarn/config/worker-starterkit-ash-coreutils-x86_64-cc.jsonnet create mode 100644 cluster-home/tenants/buildbarn/worker-starterkit-ash-coreutils-x86_64-cc.yaml diff --git a/cluster-home/tenants/buildbarn/config/kustomization.yaml b/cluster-home/tenants/buildbarn/config/kustomization.yaml index 58ffe01..cb65a77 100644 --- a/cluster-home/tenants/buildbarn/config/kustomization.yaml +++ b/cluster-home/tenants/buildbarn/config/kustomization.yaml @@ -13,8 +13,10 @@ configMapGenerator: - runner-ubuntu22-04.jsonnet - runner-starterkit-ash.jsonnet - runner-starterkit-ash-x86_64-cc.jsonnet + - runner-starterkit-ash-coreutils-x86_64-cc.jsonnet - scheduler.jsonnet - storage.jsonnet - worker-ubuntu22-04.jsonnet - worker-starterkit-ash.jsonnet - worker-starterkit-ash-x86_64-cc.jsonnet + - worker-starterkit-ash-coreutils-x86_64-cc.jsonnet diff --git a/cluster-home/tenants/buildbarn/config/runner-starterkit-ash-coreutils-x86_64-cc.jsonnet b/cluster-home/tenants/buildbarn/config/runner-starterkit-ash-coreutils-x86_64-cc.jsonnet new file mode 100644 index 0000000..7e0103f --- /dev/null +++ b/cluster-home/tenants/buildbarn/config/runner-starterkit-ash-coreutils-x86_64-cc.jsonnet @@ -0,0 +1,10 @@ +local common = import 'common.libsonnet'; + +{ + buildDirectoryPath: '/worker/build', + // TODO: global: common.global, + grpcServers: [{ + listenPaths: ['/worker/runner'], + authenticationPolicy: { allow: {} }, + }], +} diff --git a/cluster-home/tenants/buildbarn/config/worker-starterkit-ash-coreutils-x86_64-cc.jsonnet b/cluster-home/tenants/buildbarn/config/worker-starterkit-ash-coreutils-x86_64-cc.jsonnet new file mode 100644 index 0000000..85737c4 --- /dev/null +++ b/cluster-home/tenants/buildbarn/config/worker-starterkit-ash-coreutils-x86_64-cc.jsonnet @@ -0,0 +1,41 @@ +local common = import 'common.libsonnet'; + +{ + blobstore: common.blobstore, + browserUrl: common.browserUrl, + maximumMessageSizeBytes: common.maximumMessageSizeBytes, + scheduler: { address: 'scheduler:8983' }, + global: common.global { + setUmask: { umask: 0 }, + }, + buildDirectories: [{ + native: { + buildDirectoryPath: '/worker/build', + cacheDirectoryPath: '/worker/cache', + maximumCacheFileCount: 10000, + maximumCacheSizeBytes: 1024 * 1024 * 1024, + cacheReplacementPolicy: 'LEAST_RECENTLY_USED', + }, + runners: [{ + endpoint: { address: 'unix:///worker/runner' }, + concurrency: 8, + platform: { + properties: [ + { name: 'OSFamily', value: 'linux' }, + { name: 'container-image', value: 'docker://harbor.apps.morrigna.rules-nix.build/explore-bzl/ash-coreutils-x86_64-cc:vx92wppgyknsyyd4k80i58hb362wkpsc' }, + ], + }, + workerId: { + pod: std.extVar('POD_NAME'), + node: std.extVar('NODE_NAME'), + }, + }], + }], + inputDownloadConcurrency: 10, + outputUploadConcurrency: 11, + directoryCache: { + maximumCount: 1000, + maximumSizeBytes: 1000 * 1024, + cacheReplacementPolicy: 'LEAST_RECENTLY_USED', + }, +} diff --git a/cluster-home/tenants/buildbarn/kustomization.yaml b/cluster-home/tenants/buildbarn/kustomization.yaml index 47ffbaa..ac7b969 100644 --- a/cluster-home/tenants/buildbarn/kustomization.yaml +++ b/cluster-home/tenants/buildbarn/kustomization.yaml @@ -11,4 +11,5 @@ resources: - worker-ubuntu22-04.yaml - worker-starterkit-ash.yaml - worker-starterkit-ash-x86_64-cc.yaml + - worker-starterkit-ash-coreutils-x86_64-cc.yaml - tls.yaml diff --git a/cluster-home/tenants/buildbarn/worker-starterkit-ash-coreutils-x86_64-cc.yaml b/cluster-home/tenants/buildbarn/worker-starterkit-ash-coreutils-x86_64-cc.yaml new file mode 100644 index 0000000..be43ee7 --- /dev/null +++ b/cluster-home/tenants/buildbarn/worker-starterkit-ash-coreutils-x86_64-cc.yaml @@ -0,0 +1,85 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: worker-starterkit-ash-coreutils-x86-64-cc + namespace: buildbarn + annotations: + prometheus.io/port: "80" + prometheus.io/scrape: "true" +spec: + replicas: 8 + selector: + matchLabels: + app: worker + instance: starterkit-ash-coreutils-x86-64-cc + template: + metadata: + labels: + app: worker + instance: starterkit-ash-coreutils-x86-64-cc + spec: + containers: + - args: + - /config/worker-starterkit-ash-coreutils-x86_64-cc.jsonnet + image: ghcr.io/buildbarn/bb-worker:20240716T044555Z-9850e82 + name: worker + volumeMounts: + - mountPath: /config/ + name: configs + readOnly: true + - mountPath: /worker + name: worker + env: + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - command: [/bb/tini, -v, --, /bb/bb_runner, /config/runner-starterkit-ash-coreutils-x86_64-cc.jsonnet] + image: harbor.apps.morrigna.rules-nix.build/explore-bzl/ash-coreutils-x86_64-cc:vx92wppgyknsyyd4k80i58hb362wkpsc + name: runner + securityContext: + runAsUser: 65534 + allowPrivilegeEscalation: false + volumeMounts: + - mountPath: /config/ + name: configs + readOnly: true + - mountPath: /worker + name: worker + - mountPath: /bb + name: empty + readOnly: true + initContainers: + - name: bb-runner-installer + image: ghcr.io/buildbarn/bb-runner-installer:20240716T044555Z-9850e82 + volumeMounts: + - mountPath: /bb/ + name: empty + - name: volume-init + image: busybox:1.37.0-uclibc + command: + - sh + - -c + - mkdir -pm 0777 /worker/build && mkdir -pm 0700 /worker/cache && chmod 0777 /worker + volumeMounts: + - mountPath: /worker + name: worker + volumes: + - name: empty + emptyDir: {} + - name: configs + configMap: + name: buildbarn-config + items: + - key: common.libsonnet + path: common.libsonnet + - key: runner-starterkit-ash-coreutils-x86_64-cc.jsonnet + path: runner-starterkit-ash-coreutils-x86_64-cc.jsonnet + - key: worker-starterkit-ash-coreutils-x86_64-cc.jsonnet + path: worker-starterkit-ash-coreutils-x86_64-cc.jsonnet + - emptyDir: {} + name: worker