billimek / billimek-charts

DEPRECATED - new home is https://github.com/k8s-at-home/charts
Apache License 2.0
89 stars 52 forks source link

Add xteve chart #261

Closed onedr0p closed 4 years ago

onedr0p commented 4 years ago

https://xteve.de/

tl;dr xteve is proxy for IPTV or OTA antennas, it can be used with Plex DVR.

HostNetwork is probably not need but the option to use it would be nice.

Chart can mimic my deployment here:

---
kind: Deployment
apiVersion: apps/v1
metadata:
  namespace: default
  name: xteve
  labels:
    app.kubernetes.io/instance: xteve
    app.kubernetes.io/name: xteve
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app.kubernetes.io/instance: xteve
      app.kubernetes.io/name: xteve
  template:
    metadata:
      labels:
        app.kubernetes.io/instance: xteve
        app.kubernetes.io/name: xteve
    spec:
      containers:
        - name: xteve
          image: tnwhitwell/xteve:2.1.2.0121-alpine3.12.0-curl
          imagePullPolicy: IfNotPresent
          env:
            - name: TZ
              value: "America/New_York"
          ports:
            - name: http
              containerPort: 34400
              protocol: TCP
          livenessProbe:
            httpGet:
              path: /web
              port: http
              scheme: HTTP
            initialDelaySeconds: 60
            failureThreshold: 5
            timeoutSeconds: 10
          readinessProbe:
            httpGet:
              path: /web
              port: http
              scheme: HTTP
            initialDelaySeconds: 60
            failureThreshold: 5
            timeoutSeconds: 10
          startupProbe:
            httpGet:
              path: /web
              port: http
              scheme: HTTP
            initialDelaySeconds: 60
            failureThreshold: 30
            periodSeconds: 10
          volumeMounts:
          - mountPath: /config
            name: xteve-config
          resources:
            requests:
              memory: 128Mi
              cpu: 2000m
            limits:
              memory: 1000Mi
              cpu: 4000m
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
      volumes:
      - name: xteve-config
        persistentVolumeClaim:
          claimName: xteve
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: xteve
  labels:
    app.kubernetes.io/name: xteve
    app.kubernetes.io/instance: xteve
spec:
  accessModes:
   - "ReadWriteOnce"
  resources:
    requests:
      storage: "1Gi"
  storageClassName: "nfs-client"
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/instance: xteve
    app.kubernetes.io/name: xteve
  name: xteve
  namespace: default
spec:
  externalTrafficPolicy: Cluster
  loadBalancerIP: 192.168.42.145
  ports:
  - name: http
    port: 34400
  selector:
    app.kubernetes.io/instance: xteve
    app.kubernetes.io/name: xteve
  type: LoadBalancer