All checks were successful
Helm Chart Release / release-chart (push) Successful in 11s
308 lines
6.1 KiB
YAML
308 lines
6.1 KiB
YAML
# Default values for phpmyadmin-nginx
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
nginx:
|
|
registry: docker.io
|
|
repository: nginx
|
|
tag: "1.29.3-alpine-perl"
|
|
pullPolicy: IfNotPresent
|
|
phpmyadmin:
|
|
registry: docker.io
|
|
repository: phpmyadmin
|
|
tag: "5.2.3-fpm-alpine"
|
|
pullPolicy: IfNotPresent
|
|
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
serviceAccount:
|
|
create: true
|
|
annotations: {}
|
|
name: ""
|
|
|
|
podAnnotations: {}
|
|
|
|
podSecurityContext:
|
|
fsGroup: 82
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
|
|
securityContext:
|
|
nginx:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
runAsUser: 101
|
|
phpmyadmin:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
runAsUser: 82
|
|
|
|
service:
|
|
type: LoadBalancer
|
|
# type: ClusterIP
|
|
port: 80
|
|
targetPort: 8080
|
|
annotations: {}
|
|
|
|
ingress:
|
|
enabled: false
|
|
className: "nginx"
|
|
annotations: {}
|
|
# {
|
|
# acme.cert-manager.io/http01-ingress-class: "nginx",
|
|
# cert-manager.io/cluster-issuer: "letsencrypt-issuer",
|
|
# nginx.ingress.kubernetes.io/from-to-www-redirect: "true",
|
|
# nginx.ingress.kubernetes.io/proxy-body-size: "100m",
|
|
# nginx.ingress.kubernetes.io/rate-limit: "10"
|
|
# }
|
|
hosts:
|
|
- host: phpmyadmin.local
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls: []
|
|
# - secretName: phpmyadmin-tls
|
|
# hosts:
|
|
# - phpmyadmin.local
|
|
|
|
resources:
|
|
nginx:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 64Mi
|
|
phpmyadmin:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 250m
|
|
memory: 256Mi
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 2
|
|
maxReplicas: 10
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: 80
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: app.kubernetes.io/name
|
|
operator: In
|
|
values:
|
|
- phpmyadmin-nginx
|
|
topologyKey: kubernetes.io/hostname
|
|
|
|
# phpMyAdmin specific configuration
|
|
phpmyadmin:
|
|
# MySQL/MariaDB server configuration
|
|
hosts:
|
|
- host: mysql.default.svc.cluster.local
|
|
port: 3306
|
|
|
|
# Environment variables
|
|
env:
|
|
PMA_ARBITRARY: "0"
|
|
PMA_ABSOLUTE_URI: ""
|
|
UPLOAD_LIMIT: "128M"
|
|
MEMORY_LIMIT: "512M"
|
|
MAX_EXECUTION_TIME: "600"
|
|
|
|
# Secret for blowfish secret (auto-generated if not provided)
|
|
blowfishSecret: ""
|
|
existingSecret: ""
|
|
|
|
# Nginx configuration
|
|
nginx:
|
|
config:
|
|
clientMaxBodySize: "128m"
|
|
workerProcesses: "auto"
|
|
workerConnections: "1024"
|
|
|
|
# Persistence for sessions
|
|
persistence:
|
|
enabled: false
|
|
storageClass: ""
|
|
accessMode: ReadWriteMany
|
|
size: 1Gi
|
|
annotations: {}
|
|
|
|
# Liveness and readiness probes
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 5
|
|
timeoutSeconds: 3
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
|
|
# Network Policy
|
|
networkPolicy:
|
|
enabled: false
|
|
policyTypes:
|
|
- Ingress
|
|
- Egress
|
|
ingress:
|
|
- from:
|
|
- namespaceSelector:
|
|
matchLabels:
|
|
name: ingress-nginx
|
|
ports:
|
|
- protocol: TCP
|
|
port: 8080
|
|
egress:
|
|
- to:
|
|
- namespaceSelector: {}
|
|
ports:
|
|
- protocol: TCP
|
|
port: 3306
|
|
- to:
|
|
- namespaceSelector:
|
|
matchLabels:
|
|
name: kube-system
|
|
ports:
|
|
- protocol: UDP
|
|
port: 53
|
|
|
|
# Pod Disruption Budget
|
|
podDisruptionBudget:
|
|
enabled: true
|
|
minAvailable: 1
|
|
# maxUnavailable: 1
|
|
|
|
# MySQL Backup Configuration
|
|
backup:
|
|
# Enable or disable backup functionality
|
|
enabled: false
|
|
|
|
# Cron schedule (default: daily at 2 AM)
|
|
# Examples:
|
|
# "0 2 * * *" - Daily at 2 AM
|
|
# "0 */6 * * *" - Every 6 hours
|
|
# "0 0 * * 0" - Weekly on Sunday at midnight
|
|
# "0 3 * * 1-5" - Weekdays at 3 AM
|
|
schedule: "0 2 * * *"
|
|
|
|
# Backup job history
|
|
successfulJobsHistoryLimit: 3
|
|
failedJobsHistoryLimit: 3
|
|
backoffLimit: 3
|
|
|
|
# Concurrency policy: Allow, Forbid, Replace
|
|
concurrencyPolicy: Forbid
|
|
|
|
# Suspend backup jobs
|
|
suspend: false
|
|
|
|
# Pod annotations for backup jobs
|
|
podAnnotations: {}
|
|
|
|
# Backup image configuration
|
|
image:
|
|
registry: docker.io
|
|
repository: mysql
|
|
tag: "8.0"
|
|
pullPolicy: IfNotPresent
|
|
|
|
# MySQL credentials for backup
|
|
# Note: host and port are inherited from phpmyadmin.hosts[0]
|
|
mysql:
|
|
# MySQL backup user credentials
|
|
user: ""
|
|
password: ""
|
|
|
|
# Or use existing secret
|
|
existingSecret: ""
|
|
userKey: "mysql-user"
|
|
passwordKey: "mysql-password"
|
|
|
|
# Databases to backup (if empty, backs up all non-system databases)
|
|
databases: []
|
|
# databases:
|
|
# - myapp_db
|
|
# - analytics_db
|
|
|
|
# Backup destination path
|
|
destinationPath: "/backup"
|
|
|
|
# Compression settings
|
|
compression:
|
|
enabled: true
|
|
# Compression level 1-9 (1=fastest, 9=best compression)
|
|
level: 6
|
|
|
|
# Retention policy
|
|
retention:
|
|
enabled: true
|
|
# Delete backups older than N days
|
|
days: 30
|
|
|
|
# Storage configuration
|
|
# Option 1: Use PersistentVolumeClaim
|
|
persistence:
|
|
storageClass: ""
|
|
accessMode: ReadWriteMany
|
|
size: 50Gi
|
|
annotations: {}
|
|
|
|
# Option 2: Use existing PVC
|
|
existingClaim: ""
|
|
|
|
# Option 3: Use NFS
|
|
nfs:
|
|
enabled: false
|
|
server: "nfs-server.example.com"
|
|
path: "/exports/mysql-backups"
|
|
readOnly: false
|
|
|
|
# Resource limits
|
|
resources:
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
# Node selector (inherits from global nodeSelector if not set)
|
|
nodeSelector: {}
|
|
|
|
# Tolerations (inherits from global tolerations if not set)
|
|
tolerations: []
|
|
|
|
# Affinity (inherits from global affinity if not set)
|
|
affinity: {} |