267 lines
7.2 KiB
YAML
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: [] |