prow/oss/cluster/sub.yaml (118 lines of code) (raw):

apiVersion: apps/v1 kind: Deployment metadata: name: sub namespace: default labels: app: sub spec: replicas: 2 selector: matchLabels: app: sub strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app: sub spec: terminationGracePeriodSeconds: 120 serviceAccountName: sub containers: - name: sub image: us-central1-docker.pkg.dev/gob-prow/prow-images/sub:v20250423-91b28ca9b args: - --config-path=/etc/config/config.yaml - --job-config-path=/etc/job-config - --grace-period=110s - --github-app-id=$(GITHUB_APP_ID) - --github-app-private-key-path=/etc/github/cert - --dry-run=false env: - name: GITHUB_APP_ID valueFrom: secretKeyRef: name: ghapp-token key: appid ports: - name: http containerPort: 80 - name: metrics containerPort: 9090 volumeMounts: - name: config mountPath: /etc/config readOnly: true - name: job-config mountPath: /etc/job-config readOnly: true - name: ghapp-token mountPath: /etc/github readOnly: true resources: # The node has 7.91CPU in total, set requests and limits, # so that only 2 sub pods are on the same node, and they # don't use more than that requests: cpu: 3 limits: cpu: 3 volumes: - name: config configMap: name: config - name: job-config configMap: name: job-config - name: ghapp-token secret: secretName: ghapp-token --- apiVersion: v1 kind: ServiceAccount metadata: name: sub namespace: default annotations: iam.gke.io/gcp-service-account: prow-pubsub@oss-prow.iam.gserviceaccount.com --- apiVersion: v1 kind: Service metadata: name: sub namespace: default spec: selector: app: sub ports: - port: 80 targetPort: 80 type: NodePort --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: "sub" rules: - apiGroups: - "prow.k8s.io" resources: - prowjobs verbs: - create - get - list - update --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: "sub" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: "sub" subjects: - kind: ServiceAccount name: "sub"