Files
iac/roles/ytd_storage/tasks/main.yml

90 lines
1.9 KiB
YAML

---
# 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