--- # tasks file for gitlab - name: Create stream namespace k8s: state: present definition: apiVersion: v1 kind: Namespace metadata: name: owncast - name: Create PVC for OwnCast k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: owncast namespace: owncast spec: accessModes: - ReadWriteOnce resources: requests: storage: 128Gi - name: Create Deployment for OwnCast k8s: state: present definition: apiVersion: v1 kind: Deployment metadata: name: owncast namespace: owncast labels: app: owncast spec: replicas: 1 selector: matchLabels: app: owncast template: metadata: labels: app: owncast spec: containers: - name: owncast image: owncast/owncast:0.2.0 volumeMounts: - name: data mountPath: /app/data ports: - containerPort: 8080 - containerPort: 1935 env: volumes: - name: data persistentVolumeClaim: claimName: owncast - name: Create Service for OwnCast k8s: state: present definition: apiVersion: v1 kind: Service metadata: name: owncast namespace: owncast spec: selector: app: owncast ports: - port: 1935 name: rtmp - port: 8080 name: http type: LoadBalancer - name: Create Ingress k8s: state: present definition: apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: ca-issuer name: owncast namespace: owncast spec: ingressClassName: nginx rules: - host: owncast.eom.dev http: paths: - pathType: Prefix path: / backend: service: name: owncast port: number: 8080 tls: - hosts: - owncast.eom.dev secretName: owncast