--- # Create YTD data directory - name: Create YTD Data Directory file: path: /data/ytd/downloads state: directory mode: '0777' owner: root group: root # Create YTD PV - name: Create YTD Persistent Volume kubernetes.core.k8s: definition: apiVersion: v1 kind: PersistentVolume metadata: name: ytd-pv spec: capacity: storage: 50Gi accessModes: - ReadWriteOnce hostPath: path: /data/ytd/downloads storageClassName: manual-ytd # Create StorageClass for YTD - name: Create YTD StorageClass kubernetes.core.k8s: definition: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: manual-ytd provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer # Create YTD namespace - name: Create YTD Namespace kubernetes.core.k8s: definition: apiVersion: v1 kind: Namespace metadata: name: ytd # Create YTD PVC - name: Create YTD Persistent Volume Claim kubernetes.core.k8s: definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ytd-data namespace: ytd spec: accessModes: - ReadWriteOnce resources: requests: storage: 50Gi storageClassName: manual-ytd volumeName: ytd-pv # Create HTTPRoute for YTD - name: Create YTD HTTPRoute kubernetes.core.k8s: definition: apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: ytd-route namespace: ytd spec: parentRefs: - name: main-gateway namespace: traefik sectionName: ytd-https hostnames: - "ytd.svc.pguia.com" rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: ytd-api port: 8080