From 94b2aef1b366124814064353d066d3d344704cd4 Mon Sep 17 00:00:00 2001 From: Erik Seliger Date: Mon, 12 May 2025 14:27:26 +0200 Subject: [PATCH] Remove symbols statefulset Starting in Sourcegraph 6.4, the Symbols and Searcher services are now combined, for easier operation, simplified architecture, and better resource utilization. Customers can delete the service if not deleted automatically, and may want to consider reallocating resources previously given to symbols to searcher. Environment variables should be copied over from symbols to searcher. Test plan: This deployment ran for ~2 weeks on S2 and dotcom already and has signoff from team-product-platform. --- base/symbols/symbols.Deployment.yaml | 89 ------------------- base/symbols/symbols.Service.yaml | 23 ----- overlays/bases/deployments/kustomization.yaml | 2 - overlays/low-resource/kustomization.yaml | 6 -- overlays/minikube/kustomization.yaml | 6 -- overlays/non-privileged/kustomization.yaml | 1 - .../symbols/symbols.Deployment.yaml | 14 --- overlays/resources-update/resources.yaml | 20 ----- 8 files changed, 161 deletions(-) delete mode 100644 base/symbols/symbols.Deployment.yaml delete mode 100644 base/symbols/symbols.Service.yaml delete mode 100644 overlays/non-privileged/symbols/symbols.Deployment.yaml diff --git a/base/symbols/symbols.Deployment.yaml b/base/symbols/symbols.Deployment.yaml deleted file mode 100644 index 7093487b6eb3..000000000000 --- a/base/symbols/symbols.Deployment.yaml +++ /dev/null @@ -1,89 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - description: Backend for symbols operations. - kubectl.kubernetes.io/default-container: symbols - labels: - deploy: sourcegraph - sourcegraph-resource-requires: no-cluster-admin - app.kubernetes.io/component: symbols - name: symbols -spec: - minReadySeconds: 10 - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - app: symbols - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - deploy: sourcegraph - app: symbols - spec: - containers: - - name: symbols - env: - - name: SYMBOLS_CACHE_SIZE_MB - valueFrom: - resourceFieldRef: - containerName: symbols - resource: requests.ephemeral-storage - divisor: 1M - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: CACHE_DIR - value: /mnt/cache/$(POD_NAME) - # OTEL_AGENT_HOST must be defined before OTEL_EXPORTER_OTLP_ENDPOINT to substitute the node IP on which the DaemonSet pod instance runs in the latter variable - - name: OTEL_AGENT_HOST - valueFrom: - fieldRef: - fieldPath: status.hostIP - - name: OTEL_EXPORTER_OTLP_ENDPOINT - value: http://$(OTEL_AGENT_HOST):4317 - image: index.docker.io/sourcegraph/symbols:6.2.1106@sha256:3a2e282d27d0669323532b7515fc0b76016b4e15c8049540382312a5563a7f1c - terminationMessagePolicy: FallbackToLogsOnError - livenessProbe: - httpGet: - path: /healthz - port: http - scheme: HTTP - initialDelaySeconds: 60 - timeoutSeconds: 5 - readinessProbe: - httpGet: - path: /healthz - port: http - scheme: HTTP - periodSeconds: 5 - timeoutSeconds: 5 - ports: - - containerPort: 3184 - name: http - - containerPort: 6060 - name: debug - resources: - limits: - cpu: "2" - ephemeral-storage: "12G" - memory: 2G - requests: - cpu: 500m - ephemeral-storage: "10G" - memory: 500M - volumeMounts: - - mountPath: /mnt/cache - name: cache-ssd - securityContext: - runAsUser: 0 - volumes: - - emptyDir: {} - name: cache-ssd diff --git a/base/symbols/symbols.Service.yaml b/base/symbols/symbols.Service.yaml deleted file mode 100644 index e82ce4a2c810..000000000000 --- a/base/symbols/symbols.Service.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - prometheus.io/port: "6060" - sourcegraph.prometheus/scrape: "true" - labels: - app: symbols - deploy: sourcegraph - sourcegraph-resource-requires: no-cluster-admin - app.kubernetes.io/component: symbols - name: symbols -spec: - ports: - - name: http - port: 3184 - targetPort: http - - name: debug - port: 6060 - targetPort: debug - selector: - app: symbols - type: ClusterIP diff --git a/overlays/bases/deployments/kustomization.yaml b/overlays/bases/deployments/kustomization.yaml index ca01c51ac117..e7682d271fe2 100644 --- a/overlays/bases/deployments/kustomization.yaml +++ b/overlays/bases/deployments/kustomization.yaml @@ -22,8 +22,6 @@ resources: - base/grafana/grafana.ServiceAccount.yaml - base/syntect-server/syntect-server.Service.yaml - base/syntect-server/syntect-server.Deployment.yaml -- base/symbols/symbols.Service.yaml -- base/symbols/symbols.Deployment.yaml - base/pgsql/pgsql.ConfigMap.yaml - base/pgsql/pgsql.Service.yaml - base/pgsql/pgsql.Deployment.yaml diff --git a/overlays/low-resource/kustomization.yaml b/overlays/low-resource/kustomization.yaml index 0da3601831cb..7d6c27727be2 100644 --- a/overlays/low-resource/kustomization.yaml +++ b/overlays/low-resource/kustomization.yaml @@ -74,12 +74,6 @@ patches: group: apps version: v1 path: delete-resources.yaml -- target: - kind: Deployment - name: symbols - group: apps - version: v1 - path: delete-resources.yaml - target: kind: Deployment name: syntect-server diff --git a/overlays/minikube/kustomization.yaml b/overlays/minikube/kustomization.yaml index 38a7050991c0..5f001437d40f 100644 --- a/overlays/minikube/kustomization.yaml +++ b/overlays/minikube/kustomization.yaml @@ -74,12 +74,6 @@ patches: group: apps version: v1 path: delete-resources.yaml - - target: - kind: Deployment - name: symbols - group: apps - version: v1 - path: delete-resources.yaml - target: kind: Deployment name: syntect-server diff --git a/overlays/non-privileged/kustomization.yaml b/overlays/non-privileged/kustomization.yaml index a5c1962889cf..39348a1ef0c5 100644 --- a/overlays/non-privileged/kustomization.yaml +++ b/overlays/non-privileged/kustomization.yaml @@ -22,5 +22,4 @@ patchesStrategicMerge: - redis/redis-store.Deployment.yaml - worker/worker.Deployment.yaml - searcher/searcher.Deployment.yaml - - symbols/symbols.Deployment.yaml - syntect-server/syntect-server.Deployment.yaml diff --git a/overlays/non-privileged/symbols/symbols.Deployment.yaml b/overlays/non-privileged/symbols/symbols.Deployment.yaml deleted file mode 100644 index d66dc7f19838..000000000000 --- a/overlays/non-privileged/symbols/symbols.Deployment.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: symbols -spec: - template: - spec: - containers: - - name: symbols - securityContext: - # Required to prevent escalations to root. - allowPrivilegeEscalation: false - runAsUser: 100 - runAsGroup: 101 diff --git a/overlays/resources-update/resources.yaml b/overlays/resources-update/resources.yaml index 6a0997e963d0..51581e0f8b2d 100644 --- a/overlays/resources-update/resources.yaml +++ b/overlays/resources-update/resources.yaml @@ -327,26 +327,6 @@ metadata: --- apiVersion: apps/v1 kind: Deployment -metadata: - name: symbols -# spec: -# replicas: 1 -# template: -# spec: -# containers: -# - name: symbols -# resources: -# limits: -# cpu: "2" -# ephemeral-storage: "12G" -# memory: 2G -# requests: -# cpu: 500m -# ephemeral-storage: "10G" -# memory: 500M ---- -apiVersion: apps/v1 -kind: Deployment metadata: name: syntect-server # spec: