30 lines
803 B
YAML
30 lines
803 B
YAML
{{- $models := (datasource "models") -}}
|
|
{{- $providerMap := dict -}}
|
|
{{- range $models -}}
|
|
{{- if has .litellm_params "api_key" -}}
|
|
{{- $parts := strings.Split "/" .litellm_params.model -}}
|
|
{{- $provider := index $parts 0 -}}
|
|
{{- $providerMap = merge $providerMap (dict $provider true) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
apiVersion: external-secrets.io/v1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: apikey-external-secret
|
|
namespace: {{ .Env.LITELLM_NAMESPACE }}
|
|
spec:
|
|
refreshInterval: 1h
|
|
secretStoreRef:
|
|
name: vault-secret-store
|
|
kind: ClusterSecretStore
|
|
target:
|
|
name: apikey
|
|
creationPolicy: Owner
|
|
data:
|
|
{{- range $provider, $_ := $providerMap }}
|
|
- secretKey: {{ $provider | strings.ToUpper }}_API_KEY
|
|
remoteRef:
|
|
key: litellm/{{ $provider }}
|
|
property: apikey
|
|
{{- end }}
|