# Copyright 2022 Google LLC # # Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://llvm.org/LICENSE.txt # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: linux-agents namespace: buildkite spec: replicas: ${replicas-count} strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 50% type: RollingUpdate selector: matchLabels: app: agent-premerge-debian template: metadata: labels: app: agent-premerge-debian spec: containers: - name: buildkite-premerge-debian image: gcr.io/${project-id}/buildkite-premerge-debian:latest resources: limits: cpu: ${cpu-request} memory: ${mem-request} requests: cpu: ${cpu-request} memory: ${mem-request} volumeMounts: - name: github-ssh mountPath: /mnt/ssh - name: workdir mountPath: /var/lib/buildkite-agent env: - name: BUILDKITE_AGENT_TOKEN valueFrom: secretKeyRef: name: buildkite-agent-token key: token - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: BUILDKITE_AGENT_TAGS value: "queue=${build-queue},name=$(POD_NAME),project=${project-id}" - name: BUILDKITE_BUILD_PATH value: "/var/lib/buildkite-agent/builds" - name: CONDUIT_TOKEN valueFrom: secretKeyRef: name: conduit-api-token key: token - name: BUILDKITE_API_TOKEN valueFrom: secretKeyRef: name: buildkite-api-token-readonly key: token volumes: - name: github-ssh secret: secretName: github-ssh - name: workdir emptyDir: {} nodeSelector: cloud.google.com/gke-nodepool: ${gke-nodepool} terminationGracePeriodSeconds: 60