# Default values for calcolatore-prezzi-software # This is a YAML-formatted file. # Declare variables to be passed into your templates. # Use base-helm common chart for standard configurations common: # Name override nameOverride: "" fullnameOverride: "calcolatore-prezzi" # Application configuration replicaCount: 2 image: repository: nginx pullPolicy: IfNotPresent tag: "alpine" imagePullSecrets: [] serviceAccount: create: true annotations: {} name: "" podAnnotations: {} podSecurityContext: fsGroup: 2000 runAsNonRoot: true runAsUser: 1000 securityContext: capabilities: drop: - ALL readOnlyRootFilesystem: true allowPrivilegeEscalation: false service: type: ClusterIP port: 80 targetPort: 80 annotations: {} ingress: enabled: true className: "nginx" annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/ssl-redirect: "true" hosts: - host: calcolatore.example.com paths: - path: / pathType: Prefix tls: - secretName: calcolatore-tls hosts: - calcolatore.example.com resources: limits: cpu: 200m memory: 256Mi requests: cpu: 100m memory: 128Mi autoscaling: enabled: false minReplicas: 2 maxReplicas: 5 targetCPUUtilizationPercentage: 80 targetMemoryUtilizationPercentage: 80 nodeSelector: {} tolerations: [] affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - calcolatore-prezzi topologyKey: kubernetes.io/hostname # Liveness and Readiness probes livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 3 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 successThreshold: 1 failureThreshold: 3 # Volume mounts for static files volumeMounts: - name: html-content mountPath: /usr/share/nginx/html readOnly: true - name: nginx-cache mountPath: /var/cache/nginx - name: nginx-run mountPath: /var/run volumes: - name: html-content configMap: name: calcolatore-html-content - name: nginx-cache emptyDir: {} - name: nginx-run emptyDir: {} # ConfigMap for HTML files configMaps: html-content: data: # The HTML files will be injected here # In production, you would use a CI/CD pipeline to update these index.html: | shop-mode.html: | # Environment variables env: [] # - name: ENVIRONMENT # value: "production" # Additional labels labels: {} # Pod Disruption Budget podDisruptionBudget: enabled: true minAvailable: 1 # Network Policy networkPolicy: enabled: false policyTypes: - Ingress - Egress ingress: - from: - namespaceSelector: matchLabels: name: ingress-nginx ports: - protocol: TCP port: 80 egress: - to: - namespaceSelector: {} ports: - protocol: TCP port: 53 - protocol: UDP port: 53 # Monitoring monitoring: enabled: false serviceMonitor: enabled: false interval: 30s path: /metrics