From a33e6fb72e16f2b5aeba7f766950582a3b210ed3 Mon Sep 17 00:00:00 2001 From: razirizwan Date: Tue, 10 Dec 2024 11:20:51 +0530 Subject: [PATCH] desired version of values.yaml for erpnext --- erpnext/values.yaml | 448 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 448 insertions(+) create mode 100644 erpnext/values.yaml diff --git a/erpnext/values.yaml b/erpnext/values.yaml new file mode 100644 index 0000000..60eb87e --- /dev/null +++ b/erpnext/values.yaml @@ -0,0 +1,448 @@ +# Default values for erpnext. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# Configure external database host +# dbHost: "" +# dbPort: 3306 +# dbRootUser: "" +# dbRootPassword: "" +# dbRds: false + +image: + repository: frappe/erpnext + tag: v15.45.4 + pullPolicy: IfNotPresent + +nginx: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + # config: | + # # custom conf /etc/nginx/conf.d/default.conf + environment: + upstreamRealIPAddress: "127.0.0.1" + upstreamRealIPRecursive: "off" + upstreamRealIPHeader: "X-Forwarded-For" + frappeSiteNameHeader: "$host" + livenessProbe: + tcpSocket: + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + service: + type: ClusterIP + port: 8080 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + # Custom topologySpreadConstraints (uncomment and modify to override defaults) + # topologySpreadConstraints: + # - maxSkew: 2 + # topologyKey: failure-domain.beta.kubernetes.io/zone + # whenUnsatisfiable: ScheduleAnyway + + # Default topologySpreadConstraints (used if topologySpreadConstraints is not set) + defaultTopologySpread: + maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: DoNotSchedule + envVars: [] + initContainers: [] + sidecars: [] + +worker: + gunicorn: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + livenessProbe: + tcpSocket: + port: 8000 + initialDelaySeconds: 5 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 8000 + initialDelaySeconds: 5 + periodSeconds: 10 + service: + type: ClusterIP + port: 8000 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + args: [] + envVars: [] + initContainers: [] + sidecars: [] + + default: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + livenessProbe: + override: false + probe: {} + readinessProbe: + override: false + probe: {} + envVars: [] + initContainers: [] + sidecars: [] + + short: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + livenessProbe: + override: false + probe: {} + readinessProbe: + override: false + probe: {} + envVars: [] + initContainers: [] + sidecars: [] + + long: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + livenessProbe: + override: false + probe: {} + readinessProbe: + override: false + probe: {} + envVars: [] + initContainers: [] + sidecars: [] + + scheduler: + replicaCount: 1 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + livenessProbe: + override: false + probe: {} + readinessProbe: + override: false + probe: {} + envVars: [] + initContainers: [] + sidecars: [] + + + # Custom topologySpreadConstraints (uncomment and modify to override defaults) + # topologySpreadConstraints: + # - maxSkew: 2 + # topologyKey: failure-domain.beta.kubernetes.io/zone + # whenUnsatisfiable: ScheduleAnyway + + # Default topologySpreadConstraints (used if topologySpreadConstraints is not set) + defaultTopologySpread: + maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: DoNotSchedule + + + healthProbe: | + exec: + command: + - bash + - -c + - echo "Ping backing services"; + {{- if .Values.mariadb.enabled }} + {{- if eq .Values.mariadb.architecture "replication" }} + - wait-for-it {{ .Release.Name }}-mariadb-primary:{{ .Values.mariadb.primary.service.ports.mysql }} -t 1; + {{- else }} + - wait-for-it {{ .Release.Name }}-mariadb:{{ .Values.mariadb.primary.service.ports.mysql }} -t 1; + {{- end }} + {{- else if .Values.dbHost }} + - wait-for-it {{ .Values.dbHost }}:{{ .Values.mariadb.primary.service.ports.mysql }} -t 1; + {{- end }} + {{- if index .Values "redis-cache" "host" }} + - wait-for-it {{ .Release.Name }}-redis-cache-master:{{ index .Values "redis-cache" "master" "containerPorts" "redis" }} -t 1; + {{- else if index .Values "redis-cache" "host" }} + - wait-for-it {{ index .Values "redis-cache" "host" }} -t 1; + {{- end }} + {{- if index .Values "redis-queue" "host" }} + - wait-for-it {{ .Release.Name }}-redis-queue-master:{{ index .Values "redis-queue" "master" "containerPorts" "redis" }} -t 1; + {{- else if index .Values "redis-queue" "host" }} + - wait-for-it {{ index .Values "redis-queue" "host" }} -t 1; + {{- end }} + {{- if .Values.postgresql.host }} + - wait-for-it {{ .Values.postgresql.host }}:{{ .Values.postgresql.primary.service.ports.postgresql }} -t 1; + {{- else if .Values.postgresql.enabled }} + - wait-for-it {{ .Release.Name }}-postgresql:{{ .Values.postgresql.primary.service.ports.postgresql }} -t 1; + {{- end }} + initialDelaySeconds: 15 + periodSeconds: 5 + +socketio: + replicaCount: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + targetCPU: 75 + targetMemory: 75 + livenessProbe: + tcpSocket: + port: 9000 + initialDelaySeconds: 5 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 9000 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + service: + type: ClusterIP + port: 9000 + envVars: [] + initContainers: [] + sidecars: [] + +persistence: + worker: + enabled: true + # existingClaim: "" + size: 8Gi + storageClass: "standard" + accessModes: + - ReadWriteMany + logs: + # Container based log search and analytics stack recommended + enabled: false + # existingClaim: "" + size: 8Gi + # storageClass: "nfs" + accessModes: + - ReadWriteMany + +# Ingress +ingress: + # ingressName: "" + # className: "" + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + # cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - host: erp.cluster.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: auth-server-tls + # hosts: + # - auth-server.local + +jobs: + volumePermissions: + # jobName: "" + enabled: false + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + + configure: + # jobName: "" + enabled: true + fixVolume: true + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + envVars: [] + command: [] + args: [] + + createSite: + enabled: true + forceCreate: true + siteName: "192.168.49.2" + adminPassword: "changeit" + installApps: + - "erpnext" + dbType: "mariadb" + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + + dropSite: + # jobName: "" + enabled: false + forced: false + siteName: "erp.cluster.local" + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + + backup: + # jobName: "" + enabled: false + siteName: "erp.cluster.local" + withFiles: true + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + + migrate: + # jobName: "" + enabled: false + siteName: "erp.cluster.local" + skipFailing: false + backoffLimit: 0 + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + + custom: + enabled: false + jobName: "" + labels: {} + backoffLimit: 0 + initContainers: [] + containers: [] + restartPolicy: Never + volumes: [] + nodeSelector: {} + affinity: {} + tolerations: [] + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + +podSecurityContext: + supplementalGroups: [1000] + +securityContext: + capabilities: + add: + - CAP_CHOWN + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +redis-cache: + # https://github.com/bitnami/charts/tree/master/bitnami/redis + enabled: true + # host: "" + architecture: standalone + auth: + enabled: false + sentinal: false + master: + containerPorts: + redis: 6379 + persistence: + enabled: false + +redis-queue: + # https://github.com/bitnami/charts/tree/master/bitnami/redis + enabled: true + # host: "" + architecture: standalone + auth: + enabled: false + sentinal: false + master: + containerPorts: + redis: 6379 + persistence: + enabled: false + +mariadb: + # https://github.com/bitnami/charts/tree/master/bitnami/mariadb + enabled: true + auth: + rootPassword: "changeit" + username: "erpnext" + password: "changeit" + replicationPassword: "changeit" + primary: + service: + ports: + mysql: 3306 + extraFlags: >- + --skip-character-set-client-handshake + --skip-innodb-read-only-compressed + --character-set-server=utf8mb4 + --collation-server=utf8mb4_unicode_ci + +postgresql: + # https://github.com/bitnami/charts/tree/master/bitnami/postgresql + enabled: false + # host: "" + auth: + username: "postgres" + postgresPassword: "changeit" + primary: + service: + ports: + postgresql: 5432 +