# TP24 partie 5 : petite application avec un volume, pour la sauvegarde Velero d'un namespace complet.
apiVersion: v1
kind: Namespace
metadata:
  name: tp24-app
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: site
  namespace: tp24-app
data:
  index.html: "<h1>TP24 : namespace à sauvegarder</h1>"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: uploads
  namespace: tp24-app
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: local-path
  resources:
    requests: { storage: 256Mi }
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
  namespace: tp24-app
spec:
  replicas: 1
  selector:
    matchLabels: { app: web }
  template:
    metadata:
      labels: { app: web }
    spec:
      containers:
        - name: web
          image: nginx:1.29-alpine
          ports: [{ containerPort: 80 }]
          volumeMounts:
            - { name: site, mountPath: /usr/share/nginx/html }
            - { name: uploads, mountPath: /data }
          resources:
            requests: { cpu: 10m, memory: 16Mi }
            limits: { memory: 64Mi }
      volumes:
        - name: site
          configMap: { name: site }
        - name: uploads
          persistentVolumeClaim: { claimName: uploads }
