| # Copyright 2018 Google Inc. All Rights Reserved. |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| labels: |
| app: exec-server |
| annotations: |
| imagetag: $IMAGETAG |
| buildtag: "$TAG" |
| name: exec-server |
| spec: |
| replicas: 32 |
| selector: |
| matchLabels: |
| app: exec-server |
| strategy: |
| rollingUpdate: |
| maxSurge: 16 |
| maxUnavailable: 0 |
| type: RollingUpdate |
| template: |
| metadata: |
| labels: |
| app: exec-server |
| spec: |
| containers: |
| - command: |
| - /opt/goma/bin/exec_server |
| - --trace-project-id=$PROJECT_ID |
| - --pubsub-project-id=$PROJECT_ID |
| - --file-addr=passthrough:///file-server:5050 |
| - --redis-max-idle-conns=16 |
| - --redis-max-active-conns=32 |
| - --remoteexec-addr=remotebuildexecution.googleapis.com:443 |
| - --remote-instance-prefix=$RBE_INSTANCE_PREFIX |
| - --toolchain-config-bucket=$TOOLCHAIN_CONFIG_BUCKET |
| - --configmap_file=/etc/goma/toolchain-config/toolchain.config |
| - --cmd-files-bucket=$CMD_FILES_BUCKET |
| - --fetch-config-parallel=true |
| name: exec-server |
| image: gcr.io/$CONTAINER_PROJECT_ID/exec-server:$IMAGETAG |
| envFrom: |
| - configMapRef: |
| name: memorystore |
| ports: |
| - containerPort: 5050 |
| protocol: TCP |
| - containerPort: 8081 |
| protocol: TCP |
| resources: |
| limits: |
| cpu: 500m |
| memory: 2048Mi |
| requests: |
| cpu: 250m |
| memory: 1024Mi |
| volumeMounts: |
| - mountPath: /etc/goma/toolchain-config |
| name: toolchain-config |
| # following could be configured by PodPreset? |
| livenessProbe: |
| failureThreshold: 20 |
| httpGet: |
| path: /healthz |
| port: 8081 |
| scheme: HTTP |
| initialDelaySeconds: 60 |
| periodSeconds: 15 |
| timeoutSeconds: 5 |
| readinessProbe: |
| failureThreshold: 20 |
| httpGet: |
| path: /healthz |
| port: 8081 |
| scheme: HTTP |
| initialDelaySeconds: 60 |
| periodSeconds: 15 |
| timeoutSeconds: 5 |
| terminationGracePeriodSeconds: 300 |
| volumes: |
| - name: toolchain-config |
| configMap: |
| defaultMode: 420 |
| name: toolchain-config |