Files
helm-charts/charts/kubemirror/values.yaml
T
2026-05-09 04:33:32 +00:00

114 lines
2.9 KiB
YAML

replicaCount: 1
image:
repository: ghcr.io/lukaszraczylo/kubemirror
pullPolicy: IfNotPresent
tag: "0.8.14"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
create: true
annotations: {}
name: ""
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
podSecurityContext:
runAsNonRoot: true
runAsUser: 65532
fsGroup: 65532
seccompProfile:
type: RuntimeDefault
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
capabilities:
drop:
- ALL
controller:
# Metrics and health endpoints
metricsBindAddress: ":8080"
healthProbeBindAddress: ":8081"
# Leader election
leaderElect: true
leaderElectionID: "kubemirror-controller-leader"
# Resource types to mirror
# Examples: ["Secret.v1", "ConfigMap.v1", "Ingress.v1.networking.k8s.io", "Middleware.v1alpha1.traefik.io"]
# If empty, auto-discovery will find all mirrorable resources
# MEMORY TIP: Specifying exact types reduces memory by 70-80% vs auto-discovery
# Common types: Secret.v1, ConfigMap.v1
resourceTypes: []
# Auto-discovery interval (only used when resourceTypes is empty)
# How often to rediscover available resources in the cluster
discoveryInterval: "5m"
# Cache resync period - how often to refresh all cached resources
# Higher values reduce memory churn and API load
# Default: 10m (was 30s in earlier versions)
resyncPeriod: "10m"
# Resource limits
maxTargets: 100
workerThreads: 5
# API rate limiting
rateLimitQPS: 50.0
rateLimitBurst: 100
# Cache freshness verification
# Compares cache with direct API read to detect informer cache lag
# Prevents mirroring stale data but adds extra API call when cache is stale
# Recommended: false for most deployments (eventual consistency is acceptable)
verifySourceFreshness: false
# Lazy watcher initialization (RECOMMENDED for production)
# Only creates informers for resource types that actually have resources marked for mirroring
# Dramatically reduces memory usage - e.g., if you have 204 available resource types but only
# 2 types with marked resources, this creates only 2 watchers instead of 204
# Memory savings: typically 70-90% compared to eager initialization
# Default: false (user opt-in)
lazyWatcherInit: false
# Watcher scan interval (lazy-watcher-init mode only)
# How often to scan the cluster for new resource types that need watchers
# If you add a new resource type to mirror, it will be detected within this interval
# Default: 5m
watcherScanInterval: "5m"
# Namespace filtering
excludedNamespaces: ""
includedNamespaces: ""
service:
type: ClusterIP
metricsPort: 8080
healthPort: 8081
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}
priorityClassName: ""