questions.yaml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. groups:
  2. - name: "Container Images"
  3. description: "Image to be used for container"
  4. - name: "Container Entrypoint"
  5. description: "Configuration of the executable that will be run when the container is started"
  6. - name: "Container Environment Variables"
  7. description: "Set the environment that will be visible to the container"
  8. - name: "Networking"
  9. description: "Configure networking for container"
  10. - name: "Storage"
  11. description: "Persist and share data that is separate from the lifecycle of the container"
  12. - name: "Plex Configuration"
  13. description: "Configure plex deployment"
  14. - name: "Workload Details"
  15. description: "Configure how workload should be deployed"
  16. - name: "Scaling/Upgrade Policy"
  17. description: "Configure how pods are replaced when configuration is upgraded"
  18. - name: "Restart Policy"
  19. description: "Configure when pod should be restarted in case of failure"
  20. - name: "Resource Reservation"
  21. description: "Specify resources to be allocated to workload"
  22. portals:
  23. web_portal:
  24. protocols:
  25. - "http"
  26. host:
  27. - "$node_ip"
  28. ports:
  29. - "$variable-plexServiceTCP.port"
  30. path: "/web"
  31. questions:
  32. - variable: claimToken
  33. label: "Plex Claim Token"
  34. group: "Plex Configuration"
  35. description: "The claim token for the server to obtain a real server token. If not provided, server is will not be automatically logged in. If server is already logged in, this parameter is ignored. You can obtain a claim token to login your server to your plex account by visiting https://www.plex.tv/claim."
  36. schema:
  37. type: string
  38. default: ""
  39. - variable: hostNetwork
  40. label: "Configure Host Network"
  41. group: "Networking"
  42. schema:
  43. type: boolean
  44. default: false
  45. - variable: environmentVariables
  46. label: "Environment Variables for Plex"
  47. group: "Plex Configuration"
  48. schema:
  49. type: list
  50. default: []
  51. items:
  52. - variable: environmentVariable
  53. label: "Environment Variable"
  54. schema:
  55. type: dict
  56. attrs:
  57. - variable: name
  58. label: "Name"
  59. schema:
  60. type: string
  61. - variable: value
  62. label: "Value"
  63. schema:
  64. type: string
  65. - variable: timezone
  66. label: "Plex container timezone"
  67. group: "Plex Configuration"
  68. schema:
  69. type: string
  70. default: "Etc/UTC"
  71. $ref:
  72. - "definitions/timezone"
  73. # Update strategy
  74. - variable: updateStrategy
  75. description: "Upgrade Policy"
  76. label: "Update Strategy"
  77. group: "Scaling/Upgrade Policy"
  78. schema:
  79. type: string
  80. default: "Recreate"
  81. enum:
  82. - value: "RollingUpdate"
  83. description: "Create new pods and then kill old ones"
  84. - value: "Recreate"
  85. description: "Kill existing pods before creating new ones"
  86. # Port configuration
  87. - variable: plexServiceTCP
  88. label: "Configure Plex TCP Service"
  89. group: "Networking"
  90. schema:
  91. type: dict
  92. attrs:
  93. - variable: port
  94. label: "Port to expose for Plex UI"
  95. schema:
  96. type: int
  97. min: 9000
  98. max: 65535
  99. default: 32400
  100. # Specify GPU configuration
  101. - variable: gpuConfiguration
  102. label: "GPU Configuration"
  103. group: "Resource Reservation"
  104. schema:
  105. type: dict
  106. $ref:
  107. - "definitions/gpuConfiguration"
  108. attrs: []
  109. - variable: appVolumeMounts
  110. label: "Plex Storage"
  111. group: "Storage"
  112. schema:
  113. type: dict
  114. attrs:
  115. - variable: transcode
  116. label: "Transcode Volume"
  117. schema:
  118. type: dict
  119. attrs:
  120. - variable: datasetName
  121. label: "Plex Transcode Volume Name"
  122. schema:
  123. type: string
  124. $ref:
  125. - "normalize/ixVolume"
  126. show_if: [["hostPathEnabled", "=", false]]
  127. default: "ix-plex_transcode"
  128. hidden: true
  129. editable: false
  130. - variable: mountPath
  131. label: "Plex Transcode Mount Path"
  132. description: "Path where the volume will be mounted inside the pod"
  133. schema:
  134. type: path
  135. hidden: true
  136. editable: false
  137. default: "/transcode"
  138. - variable: hostPathEnabled
  139. label: "Enable Host Path for Plex Transcode Volume"
  140. schema:
  141. type: boolean
  142. default: false
  143. show_subquestions_if: true
  144. subquestions:
  145. - variable: hostPath
  146. label: "Host Path for Plex Transcode Volume"
  147. schema:
  148. type: hostpath
  149. required: true
  150. - variable: data
  151. label: "Data Volume"
  152. schema:
  153. type: dict
  154. attrs:
  155. - variable: datasetName
  156. label: "Plex Data Volume Name"
  157. schema:
  158. type: string
  159. $ref:
  160. - "normalize/ixVolume"
  161. show_if: [["hostPathEnabled", "=", false]]
  162. default: "ix-plex_data"
  163. editable: false
  164. hidden: true
  165. - variable: mountPath
  166. label: "Plex Data Mount Path"
  167. description: "Path where the volume will be mounted inside the pod"
  168. schema:
  169. type: path
  170. hidden: true
  171. editable: false
  172. default: "/data"
  173. - variable: hostPathEnabled
  174. label: "Enable Host Path for Plex Data Volume"
  175. schema:
  176. type: boolean
  177. default: false
  178. show_subquestions_if: true
  179. subquestions:
  180. - variable: hostPath
  181. label: "Host Path for Plex Data Volume"
  182. schema:
  183. type: hostpath
  184. required: true
  185. - variable: config
  186. label: "Config Volume"
  187. schema:
  188. type: dict
  189. attrs:
  190. - variable: datasetName
  191. label: "Plex Config Volume Name"
  192. schema:
  193. type: string
  194. $ref:
  195. - "normalize/ixVolume"
  196. show_if: [["hostPathEnabled", "=", false]]
  197. default: "ix-plex_config"
  198. editable: false
  199. hidden: true
  200. - variable: mountPath
  201. label: "Plex Config Mount Path"
  202. description: "Path where the volume will be mounted inside the pod"
  203. schema:
  204. type: path
  205. editable: false
  206. hidden: true
  207. default: "/config"
  208. - variable: hostPathEnabled
  209. label: "Enable Host Path for Plex Config Volume"
  210. schema:
  211. type: boolean
  212. default: false
  213. show_subquestions_if: true
  214. subquestions:
  215. - variable: hostPath
  216. label: "Host Path for Plex Config Volume"
  217. schema:
  218. type: hostpath
  219. required: true
  220. - variable: shared
  221. label: "Shared Volume"
  222. schema:
  223. type: dict
  224. hidden: true
  225. attrs:
  226. - variable: emptyDir
  227. label: "Temporary Volume"
  228. schema:
  229. type: boolean
  230. default: true
  231. editable: false
  232. - variable: mountPath
  233. label: "Plex Shared Mount Path"
  234. description: "Path where the volume will be mounted inside the pod"
  235. schema:
  236. type: path
  237. editable: false
  238. default: "/shared"
  239. - variable: shared-logs
  240. label: "Shared Logs Volume"
  241. schema:
  242. type: dict
  243. hidden: true
  244. attrs:
  245. - variable: emptyDir
  246. label: "Temporary Volume"
  247. schema:
  248. type: boolean
  249. default: true
  250. editable: false
  251. - variable: mountPath
  252. label: "Plex Shared Logs Mount Path"
  253. description: "Path where the volume will be mounted inside the pod"
  254. schema:
  255. type: path
  256. editable: false
  257. default: "/config/Library/Application Support/Plex Media Server/Logs"