Waqar Ahmed 4 жил өмнө
parent
commit
4524d88bf6

+ 3 - 0
test/plex/2.1.0/app-readme.md

@@ -0,0 +1,3 @@
+# Plex
+
+Plex is a chart designed to deploy plex in a TrueNAS SCALE kubernetes cluster.

+ 122 - 0
test/plex/2.1.0/questions.yaml

@@ -0,0 +1,122 @@
+groups:
+  - name: "Container Images"
+    description: "Image to be used for container"
+  - name: "Container Entrypoint"
+    description: "Configuration of the executable that will be run when the container is started"
+  - name: "Container Environment Variables"
+    description: "Set the environment that will be visible to the container"
+  - name: "Networking"
+    description: "Configure networking for container"
+  - name: "Storage"
+    description: "Persist and share data that is separate from the lifecycle of the container"
+  - name: "Plex Configuration"
+    description: "Configure plex deployment"
+  - name: "Workload Details"
+    description: "Configure how workload should be deployed"
+  - name: "Scaling/Upgrade Policy"
+    description: "Configure how pods are replaced when configuration is upgraded"
+  - name: "Restart Policy"
+    description: "Configure when pod should be restarted in case of failure"
+  - name: "Resource Reservation"
+    description: "Specify resources to be allocated to workload"
+
+questions:
+  # Image related
+  - variable: image
+    description: "Docker Image Details"
+    label: "Docker Image"
+    group: "Container Images"
+    schema:
+      type: dict
+      required: true
+      attrs:
+        - variable: repository
+          description: "Docker image repository"
+          label: "Image repository"
+          schema:
+            type: string
+            required: true
+            default: "plexinc/pms-docker"
+        - variable: tag
+          description: "Tag to use for specified image"
+          label: "Image Tag"
+          schema:
+            type: string
+            default: "1.20.2.3402-0fec14d92"
+        - variable: pullPolicy
+          description: "Docker Image Pull Policy"
+          label: "Image Pull Policy"
+          schema:
+            type: string
+            default: "IfNotPresent"
+            enum:
+              - value: "IfNotPresent"
+                description: "Only pull image if not present on host"
+              - value: "Always"
+                description: "Always pull image even if present on host"
+              - value: "Never"
+                description: "Never pull image even if it's not present on host"
+
+  - variable: claimToken
+    label: "Plex Claim Token"
+    group: "Plex Configuration"
+    schema:
+      type: string
+      default: ""
+
+  - variable: advertiseIp
+    label: "Plex Advertise IP"
+    group: "Plex Configuration"
+    schema:
+      type: string
+
+  - variable: extraEnv
+    label: "Environment variables for plex"
+    group: "Plex Configuration"
+    schema:
+      type: dict
+      additional_attrs: true
+
+  - variable: proxy
+    label: "Configure Proxy environment variable"
+    group: "Plex Configuration"
+    schema:
+      type: dict
+      attrs:
+        - variable: http
+          label: "HTTP Proxy"
+          schema:
+            type: string
+        - variable: https
+          label: "HTTPS Proxy"
+          schema:
+            type: string
+
+  - variable: hostNetwork
+    label: "Configure Host Network"
+    group: "Networking"
+    schema:
+      type: boolean
+      default: false
+
+  # TODO: Add timezone validation $ref
+  - variable: timezone
+    label: "Plex container timezone"
+    group: "Plex Configuration"
+    schema:
+      type: string
+      default: "UTC"
+
+  # Update strategy
+  - variable: strategyType
+    description: "Upgrade Policy"
+    label: "Update Strategy"
+    group: "Scaling/Upgrade Policy"
+    schema:
+      type: string
+      default: "Recreate"
+      enum:
+        - value: "RollingUpdate"
+          description: "Create new pods and then kill old ones"
+        - value: "Recreate"
+          description: "Kill existing pods before creating new ones"

+ 2 - 21
test/plex/2.1.0/values.yaml

@@ -68,7 +68,8 @@ securityContext: {}
   # runAsUser: 1000
 
 serviceTCP:
-  type: ClusterIP
+  enabled: true
+  type: NodePort
   port: 32400
   ## Specify the nodePort value for the LoadBalancer and NodePort service types.
   ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
@@ -81,13 +82,6 @@ serviceTCP:
   annotations: {}
   # metallb.universe.tf/allow-shared-ip: plex-svc
   labels: {}
-  ## Use loadBalancerIP to request a specific static IP,
-  ## otherwise leave blank
-  ##
-  loadBalancerIP:
-  # loadBalancerSourceRanges: []
-  ## Set the externalTrafficPolicy in the Service to either Cluster or Local
-  # externalTrafficPolicy: Cluster
 
 serviceUDP:
   type: ClusterIP
@@ -106,19 +100,6 @@ serviceUDP:
   ## Set the externalTrafficPolicy in the Service to either Cluster or Local
   # externalTrafficPolicy: Cluster
 
-ingress:
-  enabled: false
-  annotations: {}
-    # kubernetes.io/ingress.class: nginx
-    # kubernetes.io/tls-acme: "true"
-  path: /
-  hosts:
-    - chart-example.local
-  tls: []
-  #  - secretName: chart-example-tls
-  #    hosts:
-  #      - chart-example.local
-
 plexPreferences:
   # Enable init script that will read all environment variables starting with PLEX_PREFERENCE_
   # and take the value (of PLEX_PREFERENCE_<whatever>) as the Key:Value option to set in Plex Preference.xml