mirror of
https://github.com/BerriAI/litellm.git
synced 2025-12-06 11:33:26 +08:00
Helm Chart: add ingress-only labels (#17348)
* feat(helm): add ingress-only labels * feat(helm): add ingress configuration tests * chore(helm): bump chart version
This commit is contained in:
@@ -18,7 +18,7 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
# to the chart and its templates, including the app version.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.4.8
|
version: 0.4.9
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
@@ -33,5 +33,5 @@ dependencies:
|
|||||||
condition: db.deployStandalone
|
condition: db.deployStandalone
|
||||||
- name: redis
|
- name: redis
|
||||||
version: ">=18.0.0"
|
version: ">=18.0.0"
|
||||||
repository: oci://registry-1.docker.io/bitnamicharts
|
repository: oci://registry-1.docker.io/bitnamicharts
|
||||||
condition: redis.enabled
|
condition: redis.enabled
|
||||||
|
|||||||
@@ -10,46 +10,48 @@
|
|||||||
- Helm 3.8.0+
|
- Helm 3.8.0+
|
||||||
|
|
||||||
If `db.deployStandalone` is used:
|
If `db.deployStandalone` is used:
|
||||||
|
|
||||||
- PV provisioner support in the underlying infrastructure
|
- PV provisioner support in the underlying infrastructure
|
||||||
|
|
||||||
If `db.useStackgresOperator` is used (not yet implemented):
|
If `db.useStackgresOperator` is used (not yet implemented):
|
||||||
- The Stackgres Operator must already be installed in the Kubernetes Cluster. This chart will **not** install the operator if it is missing.
|
|
||||||
|
- The Stackgres Operator must already be installed in the Kubernetes Cluster. This chart will **not** install the operator if it is missing.
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
### LiteLLM Proxy Deployment Settings
|
### LiteLLM Proxy Deployment Settings
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
|
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
|
||||||
| `replicaCount` | The number of LiteLLM Proxy pods to be deployed | `1` |
|
| `replicaCount` | The number of LiteLLM Proxy pods to be deployed | `1` |
|
||||||
| `masterkeySecretName` | The name of the Kubernetes Secret that contains the Master API Key for LiteLLM. If not specified, use the generated secret name. | N/A |
|
| `masterkeySecretName` | The name of the Kubernetes Secret that contains the Master API Key for LiteLLM. If not specified, use the generated secret name. | N/A |
|
||||||
| `masterkeySecretKey` | The key within the Kubernetes Secret that contains the Master API Key for LiteLLM. If not specified, use `masterkey` as the key. | N/A |
|
| `masterkeySecretKey` | The key within the Kubernetes Secret that contains the Master API Key for LiteLLM. If not specified, use `masterkey` as the key. | N/A |
|
||||||
| `masterkey` | The Master API Key for LiteLLM. If not specified, a random key in the `sk-...` format is generated. | N/A |
|
| `masterkey` | The Master API Key for LiteLLM. If not specified, a random key in the `sk-...` format is generated. | N/A |
|
||||||
| `environmentSecrets` | An optional array of Secret object names. The keys and values in these secrets will be presented to the LiteLLM proxy pod as environment variables. See below for an example Secret object. | `[]` |
|
| `environmentSecrets` | An optional array of Secret object names. The keys and values in these secrets will be presented to the LiteLLM proxy pod as environment variables. See below for an example Secret object. | `[]` |
|
||||||
| `environmentConfigMaps` | An optional array of ConfigMap object names. The keys and values in these configmaps will be presented to the LiteLLM proxy pod as environment variables. See below for an example Secret object. | `[]` |
|
| `environmentConfigMaps` | An optional array of ConfigMap object names. The keys and values in these configmaps will be presented to the LiteLLM proxy pod as environment variables. See below for an example Secret object. | `[]` |
|
||||||
| `image.repository` | LiteLLM Proxy image repository | `ghcr.io/berriai/litellm` |
|
| `image.repository` | LiteLLM Proxy image repository | `ghcr.io/berriai/litellm` |
|
||||||
| `image.pullPolicy` | LiteLLM Proxy image pull policy | `IfNotPresent` |
|
| `image.pullPolicy` | LiteLLM Proxy image pull policy | `IfNotPresent` |
|
||||||
| `image.tag` | Overrides the image tag whose default the latest version of LiteLLM at the time this chart was published. | `""` |
|
| `image.tag` | Overrides the image tag whose default the latest version of LiteLLM at the time this chart was published. | `""` |
|
||||||
| `imagePullSecrets` | Registry credentials for the LiteLLM and initContainer images. | `[]` |
|
| `imagePullSecrets` | Registry credentials for the LiteLLM and initContainer images. | `[]` |
|
||||||
| `serviceAccount.create` | Whether or not to create a Kubernetes Service Account for this deployment. The default is `false` because LiteLLM has no need to access the Kubernetes API. | `false` |
|
| `serviceAccount.create` | Whether or not to create a Kubernetes Service Account for this deployment. The default is `false` because LiteLLM has no need to access the Kubernetes API. | `false` |
|
||||||
| `service.type` | Kubernetes Service type (e.g. `LoadBalancer`, `ClusterIP`, etc.) | `ClusterIP` |
|
| `service.type` | Kubernetes Service type (e.g. `LoadBalancer`, `ClusterIP`, etc.) | `ClusterIP` |
|
||||||
| `service.port` | TCP port that the Kubernetes Service will listen on. Also the TCP port within the Pod that the proxy will listen on. | `4000` |
|
| `service.port` | TCP port that the Kubernetes Service will listen on. Also the TCP port within the Pod that the proxy will listen on. | `4000` |
|
||||||
| `service.loadBalancerClass` | Optional LoadBalancer implementation class (only used when `service.type` is `LoadBalancer`) | `""` |
|
| `service.loadBalancerClass` | Optional LoadBalancer implementation class (only used when `service.type` is `LoadBalancer`) | `""` |
|
||||||
| `ingress.*` | See [values.yaml](./values.yaml) for example settings | N/A |
|
| `ingress.labels` | Additional labels for the Ingress resource | `{}` |
|
||||||
| `proxyConfigMap.create` | When `true`, render a ConfigMap from `.Values.proxy_config` and mount it. | `true` |
|
| `ingress.*` | See [values.yaml](./values.yaml) for example settings | N/A |
|
||||||
| `proxyConfigMap.name` | When `create=false`, name of the existing ConfigMap to mount. | `""` |
|
| `proxyConfigMap.create` | When `true`, render a ConfigMap from `.Values.proxy_config` and mount it. | `true` |
|
||||||
| `proxyConfigMap.key` | Key in the ConfigMap that contains the proxy config file. | `"config.yaml"` |
|
| `proxyConfigMap.name` | When `create=false`, name of the existing ConfigMap to mount. | `""` |
|
||||||
| `proxy_config.*` | See [values.yaml](./values.yaml) for default settings. Rendered into the ConfigMap’s `config.yaml` only when `proxyConfigMap.create=true`. See [example_config_yaml](../../../litellm/proxy/example_config_yaml/) for configuration examples. | `N/A` |
|
| `proxyConfigMap.key` | Key in the ConfigMap that contains the proxy config file. | `"config.yaml"` |
|
||||||
| `extraContainers[]` | An array of additional containers to be deployed as sidecars alongside the LiteLLM Proxy.
|
| `proxy_config.*` | See [values.yaml](./values.yaml) for default settings. Rendered into the ConfigMap’s `config.yaml` only when `proxyConfigMap.create=true`. See [example_config_yaml](../../../litellm/proxy/example_config_yaml/) for configuration examples. | `N/A` |
|
||||||
| `pdb.enabled` | Enable a PodDisruptionBudget for the LiteLLM proxy Deployment | `false` |
|
| `extraContainers[]` | An array of additional containers to be deployed as sidecars alongside the LiteLLM Proxy. |
|
||||||
| `pdb.minAvailable` | Minimum number/percentage of pods that must be available during **voluntary** disruptions (choose **one** of minAvailable/maxUnavailable) | `null` |
|
| `pdb.enabled` | Enable a PodDisruptionBudget for the LiteLLM proxy Deployment | `false` |
|
||||||
| `pdb.maxUnavailable` | Maximum number/percentage of pods that can be unavailable during **voluntary** disruptions (choose **one** of minAvailable/maxUnavailable) | `null` |
|
| `pdb.minAvailable` | Minimum number/percentage of pods that must be available during **voluntary** disruptions (choose **one** of minAvailable/maxUnavailable) | `null` |
|
||||||
| `pdb.annotations` | Extra metadata annotations to add to the PDB | `{}` |
|
| `pdb.maxUnavailable` | Maximum number/percentage of pods that can be unavailable during **voluntary** disruptions (choose **one** of minAvailable/maxUnavailable) | `null` |
|
||||||
| `pdb.labels` | Extra metadata labels to add to the PDB | `{}` |
|
| `pdb.annotations` | Extra metadata annotations to add to the PDB | `{}` |
|
||||||
|
| `pdb.labels` | Extra metadata labels to add to the PDB | `{}` |
|
||||||
|
|
||||||
#### Example `proxy_config` ConfigMap from values (default):
|
#### Example `proxy_config` ConfigMap from values (default):
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
proxyConfigMap:
|
proxyConfigMap:
|
||||||
create: true
|
create: true
|
||||||
@@ -67,7 +69,6 @@ proxy_config:
|
|||||||
|
|
||||||
#### Example using existing `proxyConfigMap` instead of creating it:
|
#### Example using existing `proxyConfigMap` instead of creating it:
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
proxyConfigMap:
|
proxyConfigMap:
|
||||||
create: false
|
create: false
|
||||||
@@ -77,8 +78,7 @@ proxyConfigMap:
|
|||||||
# proxy_config is ignored in this mode
|
# proxy_config is ignored in this mode
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Example `environmentSecrets` Secret
|
#### Example `environmentSecrets` Secret
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -91,21 +91,23 @@ type: Opaque
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Database Settings
|
### Database Settings
|
||||||
| Name | Description | Value |
|
|
||||||
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
|
| Name | Description | Value |
|
||||||
| `db.useExisting` | Use an existing Postgres database. A Kubernetes Secret object must exist that contains credentials for connecting to the database. An example secret object definition is provided below. | `false` |
|
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
| `db.endpoint` | If `db.useExisting` is `true`, this is the IP, Hostname or Service Name of the Postgres server to connect to. | `localhost` |
|
| `db.useExisting` | Use an existing Postgres database. A Kubernetes Secret object must exist that contains credentials for connecting to the database. An example secret object definition is provided below. | `false` |
|
||||||
| `db.database` | If `db.useExisting` is `true`, the name of the existing database to connect to. | `litellm` |
|
| `db.endpoint` | If `db.useExisting` is `true`, this is the IP, Hostname or Service Name of the Postgres server to connect to. | `localhost` |
|
||||||
| `db.url` | If `db.useExisting` is `true`, the connection url of the existing database to connect to can be overwritten with this value. | `postgresql://$(DATABASE_USERNAME):$(DATABASE_PASSWORD)@$(DATABASE_HOST)/$(DATABASE_NAME)` |
|
| `db.database` | If `db.useExisting` is `true`, the name of the existing database to connect to. | `litellm` |
|
||||||
| `db.secret.name` | If `db.useExisting` is `true`, the name of the Kubernetes Secret that contains credentials. | `postgres` |
|
| `db.url` | If `db.useExisting` is `true`, the connection url of the existing database to connect to can be overwritten with this value. | `postgresql://$(DATABASE_USERNAME):$(DATABASE_PASSWORD)@$(DATABASE_HOST)/$(DATABASE_NAME)` |
|
||||||
| `db.secret.usernameKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the username for authenticating with the Postgres instance. | `username` |
|
| `db.secret.name` | If `db.useExisting` is `true`, the name of the Kubernetes Secret that contains credentials. | `postgres` |
|
||||||
| `db.secret.passwordKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the password associates with the above user. | `password` |
|
| `db.secret.usernameKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the username for authenticating with the Postgres instance. | `username` |
|
||||||
| `db.useStackgresOperator` | Not yet implemented. | `false` |
|
| `db.secret.passwordKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the password associates with the above user. | `password` |
|
||||||
| `db.deployStandalone` | Deploy a standalone, single instance deployment of Postgres, using the Bitnami postgresql chart. This is useful for getting started but doesn't provide HA or (by default) data backups. | `true` |
|
| `db.useStackgresOperator` | Not yet implemented. | `false` |
|
||||||
| `postgresql.*` | If `db.deployStandalone` is `true`, configuration passed to the Bitnami postgresql chart. See the [Bitnami Documentation](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) for full configuration details. See [values.yaml](./values.yaml) for the default configuration. | See [values.yaml](./values.yaml) |
|
| `db.deployStandalone` | Deploy a standalone, single instance deployment of Postgres, using the Bitnami postgresql chart. This is useful for getting started but doesn't provide HA or (by default) data backups. | `true` |
|
||||||
| `postgresql.auth.*` | If `db.deployStandalone` is `true`, care should be taken to ensure the default `password` and `postgres-password` values are **NOT** used. | `NoTaGrEaTpAsSwOrD` |
|
| `postgresql.*` | If `db.deployStandalone` is `true`, configuration passed to the Bitnami postgresql chart. See the [Bitnami Documentation](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) for full configuration details. See [values.yaml](./values.yaml) for the default configuration. | See [values.yaml](./values.yaml) |
|
||||||
|
| `postgresql.auth.*` | If `db.deployStandalone` is `true`, care should be taken to ensure the default `password` and `postgres-password` values are **NOT** used. | `NoTaGrEaTpAsSwOrD` |
|
||||||
|
|
||||||
#### Example Postgres `db.useExisting` Secret
|
#### Example Postgres `db.useExisting` Secret
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
@@ -143,7 +145,7 @@ metadata:
|
|||||||
name: litellm-env-secret
|
name: litellm-env-secret
|
||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
SOME_PASSWORD: cDZbUGVXeU5e0ZW # base64 encoded
|
SOME_PASSWORD: cDZbUGVXeU5e0ZW # base64 encoded
|
||||||
ANOTHER_PASSWORD: AAZbUGVXeU5e0ZB # base64 encoded
|
ANOTHER_PASSWORD: AAZbUGVXeU5e0ZB # base64 encoded
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -153,23 +155,23 @@ Source: [GitHub Gist from troyharvey](https://gist.github.com/troyharvey/4506472
|
|||||||
|
|
||||||
The migration job supports both ArgoCD and Helm hooks to ensure database migrations run at the appropriate time during deployments.
|
The migration job supports both ArgoCD and Helm hooks to ensure database migrations run at the appropriate time during deployments.
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
|
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------- |
|
||||||
| `migrationJob.enabled` | Enable or disable the schema migration Job | `true` |
|
| `migrationJob.enabled` | Enable or disable the schema migration Job | `true` |
|
||||||
| `migrationJob.backoffLimit` | Backoff limit for Job restarts | `4` |
|
| `migrationJob.backoffLimit` | Backoff limit for Job restarts | `4` |
|
||||||
| `migrationJob.ttlSecondsAfterFinished` | TTL for completed migration jobs | `120` |
|
| `migrationJob.ttlSecondsAfterFinished` | TTL for completed migration jobs | `120` |
|
||||||
| `migrationJob.annotations` | Additional annotations for the migration job pod | `{}` |
|
| `migrationJob.annotations` | Additional annotations for the migration job pod | `{}` |
|
||||||
| `migrationJob.extraContainers` | Additional containers to run alongside the migration job | `[]` |
|
| `migrationJob.extraContainers` | Additional containers to run alongside the migration job | `[]` |
|
||||||
| `migrationJob.hooks.argocd.enabled` | Enable ArgoCD hooks for the migration job (uses PreSync hook with BeforeHookCreation delete policy) | `true` |
|
| `migrationJob.hooks.argocd.enabled` | Enable ArgoCD hooks for the migration job (uses PreSync hook with BeforeHookCreation delete policy) | `true` |
|
||||||
| `migrationJob.hooks.helm.enabled` | Enable Helm hooks for the migration job (uses pre-install,pre-upgrade hooks with before-hook-creation delete policy) | `false` |
|
| `migrationJob.hooks.helm.enabled` | Enable Helm hooks for the migration job (uses pre-install,pre-upgrade hooks with before-hook-creation delete policy) | `false` |
|
||||||
| `migrationJob.hooks.helm.weight` | Helm hook execution order (lower weights executed first). Optional - defaults to "1" if not specified. | N/A |
|
| `migrationJob.hooks.helm.weight` | Helm hook execution order (lower weights executed first). Optional - defaults to "1" if not specified. | N/A |
|
||||||
|
|
||||||
|
|
||||||
## Accessing the Admin UI
|
## Accessing the Admin UI
|
||||||
|
|
||||||
When browsing to the URL published per the settings in `ingress.*`, you will
|
When browsing to the URL published per the settings in `ingress.*`, you will
|
||||||
be prompted for **Admin Configuration**. The **Proxy Endpoint** is the internal
|
be prompted for **Admin Configuration**. The **Proxy Endpoint** is the internal
|
||||||
(from the `litellm` pod's perspective) URL published by the `<RELEASE>-litellm`
|
(from the `litellm` pod's perspective) URL published by the `<RELEASE>-litellm`
|
||||||
Kubernetes Service. If the deployment uses the default settings for this
|
Kubernetes Service. If the deployment uses the default settings for this
|
||||||
service, the **Proxy Endpoint** should be set to `http://<RELEASE>-litellm:4000`.
|
service, the **Proxy Endpoint** should be set to `http://<RELEASE>-litellm:4000`.
|
||||||
|
|
||||||
The **Proxy Key** is the value specified for `masterkey` or, if a `masterkey`
|
The **Proxy Key** is the value specified for `masterkey` or, if a `masterkey`
|
||||||
@@ -181,7 +183,8 @@ kubectl -n litellm get secret <RELEASE>-litellm-masterkey -o jsonpath="{.data.ma
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Admin UI Limitations
|
## Admin UI Limitations
|
||||||
At the time of writing, the Admin UI is unable to add models. This is because
|
|
||||||
|
At the time of writing, the Admin UI is unable to add models. This is because
|
||||||
it would need to update the `config.yaml` file which is a exposed ConfigMap, and
|
it would need to update the `config.yaml` file which is a exposed ConfigMap, and
|
||||||
therefore, read-only. This is a limitation of this helm chart, not the Admin UI
|
therefore, read-only. This is a limitation of this helm chart, not the Admin UI
|
||||||
itself.
|
itself.
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ metadata:
|
|||||||
name: {{ $fullName }}
|
name: {{ $fullName }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "litellm.labels" . | nindent 4 }}
|
{{- include "litellm.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.ingress.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.ingress.annotations }}
|
{{- with .Values.ingress.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
|
|||||||
45
deploy/charts/litellm-helm/tests/ingress_tests.yaml
Normal file
45
deploy/charts/litellm-helm/tests/ingress_tests.yaml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
suite: Ingress Configuration Tests
|
||||||
|
templates:
|
||||||
|
- ingress.yaml
|
||||||
|
tests:
|
||||||
|
- it: should not create Ingress by default
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 0
|
||||||
|
|
||||||
|
- it: should create Ingress when enabled
|
||||||
|
set:
|
||||||
|
ingress.enabled: true
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- isKind:
|
||||||
|
of: Ingress
|
||||||
|
|
||||||
|
- it: should add custom labels
|
||||||
|
set:
|
||||||
|
ingress.enabled: true
|
||||||
|
ingress.labels:
|
||||||
|
custom-label: "true"
|
||||||
|
another-label: "value"
|
||||||
|
asserts:
|
||||||
|
- isKind:
|
||||||
|
of: Ingress
|
||||||
|
- equal:
|
||||||
|
path: metadata.labels.custom-label
|
||||||
|
value: "true"
|
||||||
|
- equal:
|
||||||
|
path: metadata.labels.another-label
|
||||||
|
value: "value"
|
||||||
|
|
||||||
|
- it: should add annotations
|
||||||
|
set:
|
||||||
|
ingress.enabled: true
|
||||||
|
ingress.annotations:
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
asserts:
|
||||||
|
- isKind:
|
||||||
|
of: Ingress
|
||||||
|
- equal:
|
||||||
|
path: metadata.annotations["kubernetes.io/ingress.class"]
|
||||||
|
value: "nginx"
|
||||||
@@ -35,7 +35,8 @@ podAnnotations: {}
|
|||||||
podLabels: {}
|
podLabels: {}
|
||||||
|
|
||||||
terminationGracePeriodSeconds: 90
|
terminationGracePeriodSeconds: 90
|
||||||
topologySpreadConstraints: []
|
topologySpreadConstraints:
|
||||||
|
[]
|
||||||
# - maxSkew: 1
|
# - maxSkew: 1
|
||||||
# topologyKey: kubernetes.io/hostname
|
# topologyKey: kubernetes.io/hostname
|
||||||
# whenUnsatisfiable: DoNotSchedule
|
# whenUnsatisfiable: DoNotSchedule
|
||||||
@@ -46,7 +47,8 @@ topologySpreadConstraints: []
|
|||||||
# At the time of writing, the litellm docker image requires write access to the
|
# At the time of writing, the litellm docker image requires write access to the
|
||||||
# filesystem on startup so that prisma can install some dependencies.
|
# filesystem on startup so that prisma can install some dependencies.
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
securityContext: {}
|
securityContext:
|
||||||
|
{}
|
||||||
# capabilities:
|
# capabilities:
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
@@ -57,13 +59,15 @@ securityContext: {}
|
|||||||
# A list of Kubernetes Secret objects that will be exported to the LiteLLM proxy
|
# A list of Kubernetes Secret objects that will be exported to the LiteLLM proxy
|
||||||
# pod as environment variables. These secrets can then be referenced in the
|
# pod as environment variables. These secrets can then be referenced in the
|
||||||
# configuration file (or "litellm" ConfigMap) with `os.environ/<Env Var Name>`
|
# configuration file (or "litellm" ConfigMap) with `os.environ/<Env Var Name>`
|
||||||
environmentSecrets: []
|
environmentSecrets:
|
||||||
|
[]
|
||||||
# - litellm-env-secret
|
# - litellm-env-secret
|
||||||
|
|
||||||
# A list of Kubernetes ConfigMap objects that will be exported to the LiteLLM proxy
|
# A list of Kubernetes ConfigMap objects that will be exported to the LiteLLM proxy
|
||||||
# pod as environment variables. The ConfigMap kv-pairs can then be referenced in the
|
# pod as environment variables. The ConfigMap kv-pairs can then be referenced in the
|
||||||
# configuration file (or "litellm" ConfigMap) with `os.environ/<Env Var Name>`
|
# configuration file (or "litellm" ConfigMap) with `os.environ/<Env Var Name>`
|
||||||
environmentConfigMaps: []
|
environmentConfigMaps:
|
||||||
|
[]
|
||||||
# - litellm-env-configmap
|
# - litellm-env-configmap
|
||||||
|
|
||||||
service:
|
service:
|
||||||
@@ -82,7 +86,9 @@ separateHealthPort: 8081
|
|||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
className: "nginx"
|
className: "nginx"
|
||||||
annotations: {}
|
labels: {}
|
||||||
|
annotations:
|
||||||
|
{}
|
||||||
# kubernetes.io/ingress.class: nginx
|
# kubernetes.io/ingress.class: nginx
|
||||||
# kubernetes.io/tls-acme: "true"
|
# kubernetes.io/tls-acme: "true"
|
||||||
hosts:
|
hosts:
|
||||||
@@ -129,7 +135,8 @@ proxy_config:
|
|||||||
general_settings:
|
general_settings:
|
||||||
master_key: os.environ/PROXY_MASTER_KEY
|
master_key: os.environ/PROXY_MASTER_KEY
|
||||||
|
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
@@ -231,7 +238,7 @@ migrationJob:
|
|||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 100Mi
|
# memory: 100Mi
|
||||||
extraContainers: []
|
extraContainers: []
|
||||||
|
|
||||||
# Hook configuration
|
# Hook configuration
|
||||||
hooks:
|
hooks:
|
||||||
argocd:
|
argocd:
|
||||||
@@ -240,30 +247,30 @@ migrationJob:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# Additional environment variables to be added to the deployment as a map of key-value pairs
|
# Additional environment variables to be added to the deployment as a map of key-value pairs
|
||||||
envVars: {
|
envVars: {}
|
||||||
# USE_DDTRACE: "true"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
# USE_DDTRACE: "true"
|
||||||
# Additional environment variables to be added to the deployment as a list of k8s env vars
|
# Additional environment variables to be added to the deployment as a list of k8s env vars
|
||||||
extraEnvVars: {
|
extraEnvVars: {}
|
||||||
# - name: EXTRA_ENV_VAR
|
|
||||||
# value: EXTRA_ENV_VAR_VALUE
|
|
||||||
}
|
|
||||||
|
|
||||||
|
# - name: EXTRA_ENV_VAR
|
||||||
|
# value: EXTRA_ENV_VAR_VALUE
|
||||||
# Pod Disruption Budget
|
# Pod Disruption Budget
|
||||||
pdb:
|
pdb:
|
||||||
enabled: false
|
enabled: false
|
||||||
# Set exactly one of the following. If both are set, minAvailable takes precedence.
|
# Set exactly one of the following. If both are set, minAvailable takes precedence.
|
||||||
minAvailable: null # e.g. "50%" or 1
|
minAvailable: null # e.g. "50%" or 1
|
||||||
maxUnavailable: null # e.g. 1 or "20%"
|
maxUnavailable: null # e.g. 1 or "20%"
|
||||||
annotations: {}
|
annotations: {}
|
||||||
labels: {}
|
labels: {}
|
||||||
|
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
labels: {}
|
labels:
|
||||||
|
{}
|
||||||
# test: test
|
# test: test
|
||||||
annotations: {}
|
annotations:
|
||||||
|
{}
|
||||||
# kubernetes.io/test: test
|
# kubernetes.io/test: test
|
||||||
interval: 15s
|
interval: 15s
|
||||||
scrapeTimeout: 10s
|
scrapeTimeout: 10s
|
||||||
@@ -273,4 +280,4 @@ serviceMonitor:
|
|||||||
# action: replace
|
# action: replace
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames: []
|
matchNames: []
|
||||||
# - test-namespace
|
# - test-namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user