diff --git a/helm/litellm-helm/README.md b/helm/litellm-helm/README.md index 1bea1d331c3..bdb7b510269 100644 --- a/helm/litellm-helm/README.md +++ b/helm/litellm-helm/README.md @@ -260,8 +260,10 @@ itself. Follow the [Lens Helm connection guide](https://github.com/BerriAI/lens/blob/main/helm/lens/README.md#connect-a-gateway) for complete values, verification, GitOps credential requirements and existing-data migration. Source-chart installation requires a built Lens image until the first signed Lens release is published -### LiteAdmin Slack worker +### Slack worker `/admin/mcp` is served inside LiteLLM and does not require `liteadmin.enabled`. That option deploys the separate Slack worker. Set `liteadmin.image.repository` to the worker repository and `liteadmin.image.tag` to an independently published version. A worker tag is required when the worker is enabled. `liteadmin.image.pullPolicy` defaults to `IfNotPresent` +The `slack-worker.yaml` template runs the `slack-worker` container and labels its resources with `app.kubernetes.io/component: slack-worker`. Existing `liteadmin.*` settings, resource names, selectors, and persistent volume names remain stable for upgrades. Use `kubectl get deployments,pods,services,pvc -l app.kubernetes.io/component=slack-worker` to find the worker resources + For an existing Slack deployment, publish or build the worker image before upgrading this chart. Preserve `liteadmin.existingSecret`, the encryption key, and the persistent volume. The chart starts the worker with `litellm-admin-agent --web` and `CONNECTION_AUTH_MODE=native`. See the [worker deployment guide](https://github.com/BerriAI/litellm-admin-agent/blob/main/docs/compatibility.md#native-enterprise-deployment) diff --git a/helm/litellm-helm/templates/liteadmin.yaml b/helm/litellm-helm/templates/slack-worker.yaml similarity index 93% rename from helm/litellm-helm/templates/liteadmin.yaml rename to helm/litellm-helm/templates/slack-worker.yaml index 6f2f96493ff..4b1b400c4f0 100644 --- a/helm/litellm-helm/templates/liteadmin.yaml +++ b/helm/litellm-helm/templates/slack-worker.yaml @@ -5,6 +5,8 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ $name }} + labels: + app.kubernetes.io/component: slack-worker spec: replicas: 1 strategy: @@ -18,6 +20,7 @@ spec: labels: app.kubernetes.io/name: {{ $name }} app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: slack-worker spec: automountServiceAccountToken: false terminationGracePeriodSeconds: 75 @@ -31,7 +34,7 @@ spec: fsGroup: 10001 runAsNonRoot: true containers: - - name: liteadmin + - name: slack-worker image: "{{ required "liteadmin.image.repository is required" .Values.liteadmin.image.repository }}:{{ required "liteadmin.image.tag is required when liteadmin is enabled" .Values.liteadmin.image.tag }}" imagePullPolicy: {{ .Values.liteadmin.image.pullPolicy }} command: ["litellm-admin-agent", "--web"] @@ -88,6 +91,8 @@ apiVersion: v1 kind: Service metadata: name: {{ $name }} + labels: + app.kubernetes.io/component: slack-worker spec: type: ClusterIP selector: @@ -101,6 +106,8 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: {{ $name }} + labels: + app.kubernetes.io/component: slack-worker spec: accessModes: [ReadWriteOnce] {{- with .Values.liteadmin.storageClassName }} diff --git a/helm/litellm-helm/tests/liteadmin_tests.yaml b/helm/litellm-helm/tests/slack_worker_tests.yaml similarity index 96% rename from helm/litellm-helm/tests/liteadmin_tests.yaml rename to helm/litellm-helm/tests/slack_worker_tests.yaml index 97f76ab29e2..08c9e7721e7 100644 --- a/helm/litellm-helm/tests/liteadmin_tests.yaml +++ b/helm/litellm-helm/tests/slack_worker_tests.yaml @@ -1,6 +1,6 @@ -suite: LiteAdmin worker image +suite: Slack worker image templates: - - liteadmin.yaml + - slack-worker.yaml tests: - it: does not deploy a worker by default asserts: