questions.yaml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. groups:
  2. - name: "Configuration"
  3. description: "Syncthing application configuration"
  4. - name: "Storage"
  5. description: "Configure storage for syncthing"
  6. - name: "Networking"
  7. description: "Networking Configuration for syncthing"
  8. - name: "Advanced DNS Settings"
  9. description: "Configure DNS settings"
  10. portals:
  11. web_portal:
  12. protocols:
  13. - "http"
  14. host:
  15. - "$node_ip"
  16. ports:
  17. - "$variable-web_port"
  18. path: "/"
  19. questions:
  20. - variable: web_port
  21. label: "Web Port for syncthing"
  22. group: Networking
  23. schema:
  24. type: int
  25. min: 8000
  26. max: 65535
  27. default: 20910
  28. required: true
  29. - variable: tcp_port
  30. label: "TCP Port for syncthing"
  31. group: Networking
  32. schema:
  33. type: int
  34. min: 8000
  35. max: 65535
  36. default: 20978
  37. required: true
  38. - variable: udp_port
  39. label: "UDP Port for syncthing"
  40. group: Networking
  41. schema:
  42. type: int
  43. min: 8000
  44. max: 65535
  45. default: 20979
  46. required: true
  47. - variable: hostNetwork
  48. label: "Host Network"
  49. group: Networking
  50. schema:
  51. type: boolean
  52. default: false
  53. - variable: dnsConfig
  54. label: "DNS Configuration"
  55. group: "Advanced DNS Settings"
  56. schema:
  57. type: dict
  58. attrs:
  59. - variable: options
  60. label: "DNS Options"
  61. schema:
  62. type: list
  63. items:
  64. - variable: optionsEntry
  65. label: "Option Entry Configuration"
  66. schema:
  67. type: dict
  68. attrs:
  69. - variable: name
  70. label: "Option Name"
  71. schema:
  72. type: string
  73. required: true
  74. - variable: value
  75. label: "Option Value"
  76. schema:
  77. type: string
  78. required: true
  79. - variable: ownerUID
  80. label: "Owner User ID"
  81. group: Configuration
  82. schema:
  83. type: int
  84. default: 568
  85. min: 1
  86. max: 65535
  87. - variable: ownerGID
  88. label: "Owner Group ID"
  89. group: Configuration
  90. schema:
  91. type: int
  92. default: 568
  93. min: 1
  94. max: 65535
  95. - variable: environmentVariables
  96. label: "Syncthing environment"
  97. group: "Configuration"
  98. schema:
  99. type: list
  100. default: [ ]
  101. items:
  102. - variable: environmentVariable
  103. label: "Environment Variable"
  104. schema:
  105. type: dict
  106. attrs:
  107. - variable: name
  108. label: "Name"
  109. schema:
  110. type: string
  111. - variable: value
  112. label: "Value"
  113. schema:
  114. type: string
  115. - variable: appVolumeMounts
  116. label: "Syncthing Storage"
  117. group: "Storage"
  118. schema:
  119. type: dict
  120. attrs:
  121. - variable: config
  122. label: "Configuration Volume"
  123. schema:
  124. type: dict
  125. attrs:
  126. - variable: datasetName
  127. label: "Configuration Volume Dataset Name"
  128. schema:
  129. type: string
  130. hidden: true
  131. $ref:
  132. - "normalize/ixVolume"
  133. show_if: [["hostPathEnabled", "=", false]]
  134. default: "ix-syncthing_config"
  135. editable: false
  136. - variable: mountPath
  137. label: "Configuration Mount Path"
  138. description: "Path where the volume will be mounted inside the pod"
  139. schema:
  140. type: path
  141. hidden: true
  142. editable: true
  143. default: "/var/syncthing"
  144. - variable: hostPathEnabled
  145. label: "Enable Custom Host Path for Syncthing Configuration Volume"
  146. schema:
  147. type: boolean
  148. default: false
  149. show_subquestions_if: true
  150. subquestions:
  151. - variable: hostPath
  152. label: "Host Path for Syncthing Configuration Volume"
  153. schema:
  154. type: hostpath
  155. required: true
  156. $ref:
  157. - "validations/hostPath"
  158. - variable: extraAppVolumeMounts
  159. label: "Extra Host Path Volumes"
  160. group: "Storage"
  161. schema:
  162. type: list
  163. items:
  164. - variable: extraAppVolume
  165. label: "Host Path Volume"
  166. description: "Add an extra host path volume for Syncthing application"
  167. schema:
  168. type: dict
  169. attrs:
  170. - variable: mountPath
  171. label: "Mount Path in Pod"
  172. description: "Path where the volume will be mounted inside the pod"
  173. schema:
  174. type: path
  175. required: true
  176. - variable: hostPath
  177. label: "Host Path"
  178. description: "Host path"
  179. schema:
  180. type: hostpath
  181. required: true