Skip to content

Conversation

@vlucaj
Copy link
Contributor

@vlucaj vlucaj commented Nov 26, 2025

Proposed changes

This PR adds optional StorageClass creation for AWS EFS volumes in environments where StorageClass creation is restricted. This change allows using pre-existing StorageClasses while maintaining backwards compatibility.

  • Added engine.modelManager.volumes.aws.efs.storageClass.create flag (defaults to true)
  • Added engine.modelManager.volumes.aws.efs.storageClass.name for custom StorageClass names
  • Made StorageClass creation conditional based on the flag
  • Updated PersistentVolume and PersistentVolumeClaim templates to use configurable StorageClass name

Types of changes

What types of changes does your code introduce to the Deepgram self-hosted resources?

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update or tests (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have read the CONTRIBUTING doc
  • I have tested my changes in my local self-hosted environment
    • Please describe your testing setup and methodology here
  • I have added necessary documentation (if appropriate)

@vlucaj vlucaj requested review from a team and therealevanhenry as code owners November 26, 2025 18:55
@vlucaj
Copy link
Contributor Author

vlucaj commented Nov 26, 2025

Default behavior (backward compatibility) - works as before

helm template charts/deepgram-self-hosted \
  --set engine.modelManager.volumes.aws.efs.enabled=true \
  --set engine.modelManager.volumes.aws.efs.fileSystemId=fs-abc \
  --set global.deepgramSecretRef=dummy-secret \
  --set kube-prometheus-stack.includeDependency=false \
  --set prometheus-adapter.includeDependency=false \
  | grep -A20 -E 'kind: (PersistentVolume|StorageClass)' \
  | grep -E 'kind: (PersistentVolume|StorageClass)|storageClassName:|^  name:'
Screenshot 2025-11-26 at 2 02 56 PM

@vlucaj
Copy link
Contributor Author

vlucaj commented Nov 26, 2025

Custom StorageClass name with creation

  • create: true, name: "custom-efs-sc"
helm template charts/deepgram-self-hosted \
  --set engine.modelManager.volumes.aws.efs.enabled=true \
  --set engine.modelManager.volumes.aws.efs.storageClass.create=true \
  --set engine.modelManager.volumes.aws.efs.storageClass.name=custom-efs-sc \
  --set engine.modelManager.volumes.aws.efs.fileSystemId=fs-abc \
  --set global.deepgramSecretRef=dummy-secret \
  --set kube-prometheus-stack.includeDependency=false \
  --set prometheus-adapter.includeDependency=false \
  | grep -A20 -E 'kind: (PersistentVolume|StorageClass)' \
  | grep -E 'kind: (PersistentVolume|StorageClass)|storageClassName:|^  name:'
Screenshot 2025-11-26 at 1 58 40 PM

@vlucaj
Copy link
Contributor Author

vlucaj commented Nov 26, 2025

External StorageClass (no creation)

  • create: false, name: "existing-efs-sc"
helm template charts/deepgram-self-hosted \
  --set engine.modelManager.volumes.aws.efs.enabled=true \
  --set engine.modelManager.volumes.aws.efs.storageClass.create=false \
  --set engine.modelManager.volumes.aws.efs.storageClass.name=existing-efs-sc \
  --set engine.modelManager.volumes.aws.efs.fileSystemId=fs-abc \
  --set global.deepgramSecretRef=dummy-secret \
  --set kube-prometheus-stack.includeDependency=false \
  --set prometheus-adapter.includeDependency=false \
  | grep -A20 -E 'kind: (PersistentVolume|StorageClass)' \
  | grep -E 'kind: (PersistentVolume|StorageClass)|storageClassName:|^  name:'
Screenshot 2025-11-26 at 1 59 41 PM

@vlucaj
Copy link
Contributor Author

vlucaj commented Nov 26, 2025

External StorageClass (no creation) with no name

  • create: false, no name specified
  • PV/PVC use default generated name
helm template charts/deepgram-self-hosted \
  --set engine.modelManager.volumes.aws.efs.enabled=true \
  --set engine.modelManager.volumes.aws.efs.storageClass.create=false \
  --set engine.modelManager.volumes.aws.efs.storageClass.name= \
  --set engine.modelManager.volumes.aws.efs.fileSystemId=fs-abc \
  --set global.deepgramSecretRef=dummy-secret \
  --set kube-prometheus-stack.includeDependency=false \
  --set prometheus-adapter.includeDependency=false \
  | grep -A20 -E 'kind: (PersistentVolume|StorageClass)' \
  | grep -E 'kind: (PersistentVolume|StorageClass)|storageClassName:|^  name:'
Screenshot 2025-11-26 at 2 02 18 PM

@vlucaj
Copy link
Contributor Author

vlucaj commented Nov 26, 2025

feature ref: #116

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant