Files
PinePods-nix/PinePods-0.8.2/deployment/kubernetes/helm/pinepods/values.yaml
2026-03-03 10:57:43 -05:00

267 lines
7.2 KiB
YAML

# Default values for pinepods.
# This is a YAML-formatted file.
## Number of pinepods pods to run
replicaCount: 1
## Container image configuration
image:
# -- Repository to pull the container image from
repository: madeofpendletonwool/pinepods
# -- Tag of the image to pull
# Default uses 'latest' but it's recommended to use a specific version
tag: latest
# -- Image pull policy
# Defaults to IfNotPresent but consider using Always if using latest tag - You know, if you like living on the edge. You could even use nightly.
pullPolicy: IfNotPresent
## Service configuration for exposing the pinepods application
service:
# -- Kubernetes service type
# Valid values are ClusterIP, NodePort, LoadBalancer
type: ClusterIP
# -- Port the service will listen on
port: 8040
# -- Optional nodePort to use when service type is NodePort
# If not set, Kubernetes will automatically allocate one
# nodePort: 30007
## Ingress configuration for exposing the application to external traffic
ingress:
# -- Enable ingress resource
enabled: true
# -- Ingress class name
className: ""
# -- Additional ingress annotations
annotations: {
traefik.ingress.kubernetes.io/router.entrypoints: web
}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# -- Ingress hosts configuration
hosts:
- host: pinepods.mydomain.com
paths:
- path: /
pathType: Prefix
# -- TLS configuration for ingress
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
## Persistence configuration
persistence:
# -- Enable persistent storage
enabled: true
downloads:
# -- Storage class for downloads PVC
# If empty, default StorageClass will be used
storageClass: ""
# -- Access mode for downloads PVC
accessMode: ReadWriteOnce
# -- Size of downloads PVC
size: 5Gi
# -- Use existing PVC for downloads
# If set, a new PVC will not be created
existingClaim: ""
backups:
# -- Storage class for backups PVC
storageClass: ""
# -- Access mode for backups PVC
accessMode: ReadWriteOnce
# -- Size of backups PVC
size: 2Gi
# -- Use existing PVC for backups
existingClaim: ""
## PostgreSQL configuration
postgresql:
# -- Enable PostgreSQL deployment
# Set to false if using external database
enabled: true
auth:
# -- PostgreSQL username
username: postgres
# -- PostgreSQL password
# Consider using a secret for production environments
password: "supersecretpassword"
# -- PostgreSQL database name
database: pinepods_database
# -- PostgreSQL resource configuration
# Default values provide good performance for most deployments
# Increase for larger deployments or high concurrent usage
resources:
requests:
# -- Memory request for PostgreSQL container
memory: 512Mi
# -- CPU request for PostgreSQL container
cpu: 250m
limits:
# -- Memory limit for PostgreSQL container
memory: 2Gi
# -- CPU limit for PostgreSQL container
cpu: 1000m
# Run on control planes if needed
# tolerations:
# - key: "node-role.kubernetes.io/control-plane"
# operator: "Exists"
# effect: "NoSchedule"
persistence:
# -- Enable PostgreSQL persistence
enabled: true
# -- Storage class for PostgreSQL PVC
storageClass: ""
# -- Size of PostgreSQL PVC
size: 3Gi
# -- Use existing PVC for PostgreSQL
existingClaim: ""
# External database configuration
# Only used when postgresql.enabled is false
externalDatabase:
type: postgresql
host: ""
port: 5432
user: postgres
password: ""
database: pinepods_database
existingSecret:
enabled: false
name: existing-secret
key: password
resources: {}
## Valkey configuration
valkey:
# -- Enable Valkey deployment
enabled: true
architecture: standalone # This prevents replica creation
auth:
enabled: false
replica:
replicaCount: 0 # Ensure no replicas are created
primary:
persistence:
enabled: false
# Service configuration
service:
# -- Valkey port
port: 6379
## Application environment variables
env:
# -- Search API URL for podcast search functionality - Change these only if you're hosting the backend and the podcast people database yourself
SEARCH_API_URL: "https://search.pinepods.online/api/search"
PEOPLE_API_URL: "https://people.pinepods.online/api/hosts"
# User Configuration
# -- Default admin username
USERNAME: "admin"
# -- Default admin password
PASSWORD: "password"
# -- Admin full name
FULLNAME: "Admin User"
# -- Admin email address
EMAIL: "admin@example.com"
# Valkey Configuration
# -- Valkey host
# This is automatically set in deployment template - do not change
# VALKEY_HOST: "post-valkey"
# -- Valkey port
# This is automatically set in deployment template - do not change
# VALKEY_PORT: "6379"
# Application Configuration
# -- Debug mode
# Set to true for additional logging
DEBUG_MODE: "false"
## Pod Security Context
securityContext: {}
# fsGroup: 2000
# runAsUser: 1000
# runAsNonRoot: true
## Container Security Context
containerSecurityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
## Node selector for pod assignment
nodeSelector: {}
## Pod tolerations
tolerations: []
## Pod affinity
affinity: {}
## Optional Backend configuration
## backend is the itunes and podcast index search API. This is publically maintained at https://search.pinepods.online. If you want to maintain it yourself you can though
backend:
# -- Enable backend deployment
enabled: true
image:
repository: madeofpendletonwool/pinepods_backend
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 5000
# -- Backend secrets
secrets:
apiKey: "MYPODCASTINDEXKEY"
apiSecret: "MYPODCASTINDEXSECRET"
youtubeApiKey: "YOUR_YOUTUBE_API_KEY_HERE"
ingress:
enabled: true
className: ""
annotations: {}
hosts:
- host: backend.mydomain.com
paths:
- path: /
pathType: Prefix
tls: []
## PodPeople DB configuration
## Podpeople is a publically available website in which you can get details on guests and hosts for podcasts that don't maintain podcast 2.0 in their feeds.
## If you do want to maintain it yourself you'll probably want to download a copy of the database here: https://podpeople.pinepods.online
podpeople:
# -- Enable PodPeople DB deployment
enabled: true
image:
repository: madeofpendletonwool/podpeople_db
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 8085
persistence:
enabled: true
storageClass: ""
size: 1Gi
accessMode: ReadWriteOnce
existingClaim: ""
auth:
adminUsername: "admin"
adminPassword: "password"
# Change this only if you aren't hosting the backend. If you aren't you probably want it to be https://search.pinepods.online
searchApiUrl: "http://pinepods-backend:{{ .Values.backend.service.port }}" # Only used if backend.enabled is false
ingress:
enabled: true
className: ""
annotations: {}
hosts:
- host: podpeople.mydomain.com
paths:
- path: /
pathType: Prefix
tls: []