From ce3a4c0373e044c3212f7a88eb466272ce32765f Mon Sep 17 00:00:00 2001 From: Mustafa Gezen Date: Sun, 30 Oct 2022 04:26:46 +0100 Subject: [PATCH] Buildbuddy deployment manifests --- infrastructure/buildbuddy/001-configmap.yaml | 16 +++++++ infrastructure/buildbuddy/002-pvcs.yaml | 14 ++++++ .../buildbuddy/002-serviceaccounts.yaml | 7 +++ .../buildbuddy/003-statefulset.yaml | 45 +++++++++++++++++++ infrastructure/buildbuddy/004-services.yaml | 21 +++++++++ .../buildbuddy/005-virtualservice.yaml | 23 ++++++++++ 6 files changed, 126 insertions(+) create mode 100644 infrastructure/buildbuddy/001-configmap.yaml create mode 100644 infrastructure/buildbuddy/002-pvcs.yaml create mode 100644 infrastructure/buildbuddy/002-serviceaccounts.yaml create mode 100644 infrastructure/buildbuddy/003-statefulset.yaml create mode 100644 infrastructure/buildbuddy/004-services.yaml create mode 100644 infrastructure/buildbuddy/005-virtualservice.yaml diff --git a/infrastructure/buildbuddy/001-configmap.yaml b/infrastructure/buildbuddy/001-configmap.yaml new file mode 100644 index 0000000..17ca7f7 --- /dev/null +++ b/infrastructure/buildbuddy/001-configmap.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: buildbuddy + namespace: default +data: + config.yaml: | + app: + build_buddy_url: "https://bz.build.resf.org" + default_to_dense_mode: true + database: + data_source: "sqlite3:///data/buildbuddy.db" + storage: + aws_s3: + region: us-east-2 + bucket: resf-prod-buildbuddy-bz diff --git a/infrastructure/buildbuddy/002-pvcs.yaml b/infrastructure/buildbuddy/002-pvcs.yaml new file mode 100644 index 0000000..11e25de --- /dev/null +++ b/infrastructure/buildbuddy/002-pvcs.yaml @@ -0,0 +1,14 @@ +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: buildbuddy + namespace: default + labels: + app: buildbuddy +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi diff --git a/infrastructure/buildbuddy/002-serviceaccounts.yaml b/infrastructure/buildbuddy/002-serviceaccounts.yaml new file mode 100644 index 0000000..5599927 --- /dev/null +++ b/infrastructure/buildbuddy/002-serviceaccounts.yaml @@ -0,0 +1,7 @@ +kind: ServiceAccount +apiVersion: v1 +metadata: + name: buildbuddy + namespace: default + annotations: + eks.amazonaws.com/role-arn: arn:aws:iam::893168113496:role/resf-buildbuddy-peridot diff --git a/infrastructure/buildbuddy/003-statefulset.yaml b/infrastructure/buildbuddy/003-statefulset.yaml new file mode 100644 index 0000000..59c882b --- /dev/null +++ b/infrastructure/buildbuddy/003-statefulset.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: buildbuddy-app + namespace: default +spec: + replicas: 1 + serviceName: buildbuddy-app + selector: + matchLabels: + app: buildbuddy-app + template: + metadata: + labels: + app: buildbuddy-app + spec: + serviceAccountName: buildbuddy + containers: + - name: buildbuddy-app + image: gcr.io/flame-public/buildbuddy-app-onprem:v2.12.1 + env: + - name: ENV + value: "onprem" + - name: SERVICE_NAME + value: "app-backend" + - name: VERSION + value: "prod-1.0" + ports: + - name: http + containerPort: 8080 + - name: grpc + containerPort: 1985 + volumeMounts: + - mountPath: /data + name: database + - mountPath: "/config.yaml" + name: config + subPath: "config.yaml" + volumes: + - name: config + configMap: + name: buildbuddy + - name: database + persistentVolumeClaim: + claimName: buildbuddy diff --git a/infrastructure/buildbuddy/004-services.yaml b/infrastructure/buildbuddy/004-services.yaml new file mode 100644 index 0000000..3067869 --- /dev/null +++ b/infrastructure/buildbuddy/004-services.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: buildbuddy + namespace: default +spec: + selector: + app: buildbuddy-app + ports: + - port: 8080 +--- +apiVersion: v1 +kind: Service +metadata: + name: buildbuddy-grpc + namespace: default +spec: + selector: + app: buildbuddy-app + ports: + - port: 1985 diff --git a/infrastructure/buildbuddy/005-virtualservice.yaml b/infrastructure/buildbuddy/005-virtualservice.yaml new file mode 100644 index 0000000..58dcee5 --- /dev/null +++ b/infrastructure/buildbuddy/005-virtualservice.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: buildbuddy + namespace: default + annotations: + external-dns.alpha.kubernetes.io/target: ingress.build.resf.org +spec: + gateways: + - istio-system/base-gateway-public + hosts: + - bz.build.resf.org + http: + - name: buildbuddy + match: + - uri: + prefix: "/invocation" + route: + - destination: + host: buildbuddy.default.svc.cluster.local + port: + number: 8080