# Exposition PUBLIQUE s3.arcodange.fr, EN PLUS du .lab interne (qui reste # inchangé). Même motif que `grafana/templates/ingress-public.yaml` : entrypoint # `web` — le TLS est terminé en amont par le tunnel Cloudflare (wildcard # *.arcodange.fr → traefik.kube-system.svc:80) — et middleware crowdsec. # # POURQUOI c'est nécessaire (et pas un confort) : la PWA est servie en # https://kadans.arcodange.fr. Un navigateur REFUSE une requête vers http:// # depuis une page https (contenu mixte), et `.lab` n'est de toute façon pas # résolvable hors du LAN. Sans cet ingress, le téléversement d'une vidéo ne peut # marcher NI en déplacement, NI même à la maison — c'est le maillon qui manque # à kadans-api#23 (URL présignées). # # ⚠ PAS de basic-auth ici, contrairement à kadans-public : une requête S3 porte # sa propre signature (SigV4) dans ses en-têtes ou son URL. Un défi HTTP Basic # casserait le PUT présigné du navigateur, qui n'a aucun moyen d'y répondre. # L'autorisation vient de l'URL signée, avec sa durée de vie courte. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: minio-public namespace: tools annotations: traefik.ingress.kubernetes.io/router.entrypoints: web traefik.ingress.kubernetes.io/router.middlewares: kube-system-crowdsec@kubernetescrd spec: ingressClassName: traefik rules: - host: s3.arcodange.fr http: paths: - path: / pathType: Prefix backend: service: name: minio port: number: 9000