added repo

This commit is contained in:
Your Name
2026-08-26 03:39:42 +05:30
parent 45c25a95af
commit b8575bb8b9
6889 changed files with 1217125 additions and 0 deletions
@@ -0,0 +1,79 @@
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: deepgram-self-hosted-cluster
region: us-west-2
version: "1.30"
iam:
withOIDC: true
serviceAccounts:
- metadata:
name: cluster-autoscaler-sa
namespace: dg-self-hosted
wellKnownPolicies:
autoScaler: true
roleName: cluster-autoscaler-role
roleOnly: true
- metadata:
name: efs-csi-controller-sa
namespace: kube-system
wellKnownPolicies:
efsCSIController: true
roleName: efs-csi-driver-role
roleOnly: true
managedNodeGroups:
- name: control-plane-node-group
minSize: 1
desiredCapacity: 1
maxSize: 3
instanceType: t3.large
amiFamily: Ubuntu2204
iam:
withAddonPolicies:
autoScaler: true
propagateASGTags: true
- name: engine-node-group
minSize: 0
desiredCapacity: 0
maxSize: 8
instanceType: g6.2xlarge
amiFamily: Ubuntu2204
labels:
k8s.deepgram.com/node-type: engine
k8s.amazonaws.com/accelerator: nvidia-l4
iam:
withAddonPolicies:
efs: true
autoScaler: true
taints:
- key: efs.csi.aws.com/agent-not-ready
value: "true"
effect: NoExecute
propagateASGTags: true
- name: api-node-group
minSize: 0
desiredCapacity: 0
maxSize: 2
instanceType: c5n.xlarge
amiFamily: Ubuntu2204
labels:
k8s.deepgram.com/node-type: api
iam:
withAddonPolicies:
autoScaler: true
propagateASGTags: true
- name: license-proxy-node-group
minSize: 0
desiredCapacity: 0
maxSize: 2
instanceType: t3.large
amiFamily: Ubuntu2204
labels:
k8s.deepgram.com/node-type: license-proxy
iam:
withAddonPolicies:
autoScaler: true
propagateASGTags: true
@@ -0,0 +1,136 @@
# See the Chart [README](https://github.com/deepgram/self-hosted-resources/blob/main/charts/deepgram-self-hosted#values)
# for documentation on all available options.
global:
# pullSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your image pull credentials
# with the following commands:
# ```bash
# docker login quay.io
# kubectl create secret generic dg-regcred \
# --from-file=.dockerconfigjson=$HOME/.docker/config.json \
# --type=kubernetes.io/dockerconfigjson
# ```
pullSecretRef: "dg-regcred"
# deepgramSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your Deepgram self-hosted API key
# with the following command:
# ```bash
# kubectl create secret generic dg-self-hosted-api-key --from-literal=DEEPGRAM_API_KEY='<id>'
# ```
deepgramSecretRef: "dg-self-hosted-api-key"
scaling:
replicas:
api: 1
engine: 1
auto:
# Can toggle to true to enable autoscaling. Make sure to set a value for one of the available metrics
enabled: false
engine:
metrics:
speechToText:
batch:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
streaming:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
textToSpeech:
batch:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
# Discuss a reasoanble value with your Deepgram Account Representative
# Must also set engine.concurrencyLimit.activeRequests if using request ratio for autoscaling
requestCapacityRatio:
api:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- api
resources:
requests:
memory: "4Gi"
cpu: "2000m"
limits:
memory: "8Gi"
cpu: "4000m"
engine:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- engine
resources:
requests:
memory: "28Gi"
cpu: "6000m"
gpu: 1
limits:
memory: "40Gi"
cpu: "8000m"
gpu: 1
# Discuss a reasonable value with your Deepgram Account Representative
# If not using autoscaling, can be left empty, but must be set if using
# autoscaling with scaling.auto.engine.metrics.requestCapacityRatio
concurrencyLimit:
activeRequests:
modelManager:
volumes:
aws:
efs:
enabled: true
fileSystemId: fs-xxxxxxxxxxxxxxxx # Replace with your EFS ID
models:
links:
- https://link-to-model-1.dg # Replace these links with those provided to you
- https://link-to-model-2.dg # by your Deepgram Account Representative.
- https://link-to-model-3.dg
- ...
licenseProxy:
enabled: true
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- license-proxy
resources:
requests:
memory: "6Gi"
cpu: "1500m"
limits:
memory: "8Gi"
cpu: "2000m"
cluster-autoscaler:
enabled: true
rbac:
serviceAccount:
name: "cluster-autoscaler-sa"
annotations:
# Replace with the AWS Role ARN configured for the Cluster Autoscaler
eks.amazonaws.com/role-arn: "arn:aws:iam::000000000000:role/MyRoleName"
autoDiscovery:
clusterName: "deepgram-self-hosted-cluster"
awsRegion: "us-west-2"
@@ -0,0 +1,123 @@
# See the Chart [README](https://github.com/deepgram/self-hosted-resources/blob/main/charts/deepgram-self-hosted#values)
# for documentation on all available options.
global:
# pullSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your image pull credentials
# with the following commands:
# ```bash
# docker login quay.io
# kubectl create secret generic dg-regcred \
# --from-file=.dockerconfigjson=$HOME/.docker/config.json \
# --type=kubernetes.io/dockerconfigjson
# ```
pullSecretRef: "dg-regcred"
# deepgramSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your Deepgram self-hosted API key
# with the following command:
# ```bash
# kubectl create secret generic dg-self-hosted-api-key --from-literal=DEEPGRAM_API_KEY='<id>'
# ```
deepgramSecretRef: "dg-self-hosted-api-key"
scaling:
replicas:
api: 1
engine: 1
auto:
# Can toggle to true to enable autoscaling. Make sure to set a value for one of the available metrics
enabled: false
engine:
metrics:
speechToText:
batch:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
streaming:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
textToSpeech:
batch:
requestsPerPod: # Discuss a reasonable value with your Deepgram Account Representative
# Discuss a reasoanble value with your Deepgram Account Representative
# Must also set engine.concurrencyLimit.activeRequests if using request ratio for autoscaling
requestCapacityRatio:
api:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- api
resources:
requests:
memory: "4Gi"
cpu: "2000m"
limits:
memory: "12Gi"
cpu: "4000m"
engine:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- engine
resources:
requests:
memory: "24Gi"
cpu: "5000m"
gpu: 1
limits:
memory: "40Gi"
cpu: "8000m"
gpu: 1
# Discuss a reasonable value with your Deepgram Account Representative
# If not using autoscaling, can be left empty, but must be set if using
# autoscaling with scaling.auto.engine.metrics.requestCapacityRatio
concurrencyLimit:
activeRequests:
modelManager:
volumes:
gcp:
gpd:
enabled: true
# Replace with your Google disk handle
volumeHandle: "projects/<your-project-id>/zones/<your-zone>/disks/<your-disk>"
licenseProxy:
enabled: true
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.deepgram.com/node-type
operator: In
values:
- license-proxy
resources:
requests:
memory: "4Gi"
cpu: "1000m"
limits:
memory: "8Gi"
cpu: "2000m"
gpu-operator:
# GKE will manage the driver and toolkit installation for us by default.
enabled: false
@@ -0,0 +1,50 @@
# See the Chart [README](https://github.com/deepgram/self-hosted-resources/blob/main/charts/deepgram-self-hosted#values)
# for documentation on all available options.
global:
# pullSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your image pull credentials
# with the following commands:
# ```bash
# docker login quay.io
# kubectl create secret generic dg-regcred \
# --from-file=.dockerconfigjson=$HOME/.docker/config.json \
# --type=kubernetes.io/dockerconfigjson
# ```
pullSecretRef: "dg-regcred"
# deepgramSecretRef should refer to a K8s secret that
# must be created prior to installing this Chart.
# Consult the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/secret/) for best practices on configuring Secrets for use in your cluster.
#
# You can create a secret for your Deepgram self-hosted API key
# with the following command:
# ```bash
# kubectl create secret generic dg-self-hosted-api-key --from-literal=DEEPGRAM_API_KEY='<id>'
# ```
deepgramSecretRef: "dg-self-hosted-api-key"
scaling:
replicas:
api: 1
engine: 1
auto:
# Most on-premises clusters will have a static number of servers, where autoscaling may not be desirable.
enabled: false
engine:
modelManager:
volumes:
customVolumeClaim:
enabled: true
name: deepgram-models-pvc # Replace with the name of a PersistentVolumeClaim that maps to the PersistentVolume you have created
modelsDirectory: "/"
licenseProxy:
enabled: true
gpu-operator:
enabled: true
@@ -0,0 +1,9 @@
# Samples
This directory contains examples of how to use the Deepgram Helm chart in various configurations and with various cloud providers. The samples are not meant to be an exhaustive demonstration of all available options; please see the chart [README](../README.md) and [values.yaml](../values.yaml) for more information.
## AWS EKS Samples
See the [Deepgram AWS EKS guide](https://developers.deepgram.com/docs/aws-k8s) for detailed instructions on how to deploy Deepgram services in a managed Kubernetes cluster in AWS.
## GCP GKE Samples
See the [Deepgram GCP GKE guide](https://developers.deepgram.com/docs/gcp-k8s) for detailed instructions on how to deploy Deepgram services in a managed Kubernetes cluster in GCP.