Files
calcolatore_prezzi_software/helm-chart/values.yaml
d.viti 23ec5d5f32
All checks were successful
Build and Deploy / build (push) Successful in 46s
Add multi-mode HTML, Docker, Helm chart, and deploy script
- Add shop-mode.html and project-mode.html for separate calculation
modes - Refactor index.html as a landing page for mode selection - Add
Dockerfile with optimized nginx config and healthcheck - Add
.dockerignore for cleaner Docker builds - Add deploy.sh for
Helm/Kubernetes deployment automation - Add helm-chart/ with
values.yaml, Chart.yaml, templates, and documentation - Update README.md
with full instructions, features, and CI/CD examples
2025-10-13 23:25:33 +02:00

188 lines
3.5 KiB
YAML

# 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: |
<!-- Your index.html content will be here -->
shop-mode.html: |
<!-- Your shop-mode.html content will be here -->
# 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