questions.yaml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. groups:
  2. - name: "Container Images"
  3. description: "Image to be used for container"
  4. - name: "Workload Configuration"
  5. description: "Configure workload deployment"
  6. - name: "Minio Configuration"
  7. description: "Configure Minio credentials"
  8. - name: "Storage"
  9. description: "Configure Storage for Nextcloud"
  10. - name: "Advanced DNS Settings"
  11. description: "Configure DNS settings"
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "$kubernetes-resource_configmap_minio-config_protocol"
  16. host:
  17. - "$node_ip"
  18. ports:
  19. - "$variable-service.consolePort"
  20. questions:
  21. - variable: dnsConfig
  22. label: "DNS Configuration"
  23. group: "Advanced DNS Settings"
  24. schema:
  25. type: dict
  26. attrs:
  27. - variable: options
  28. label: "DNS Options"
  29. schema:
  30. type: list
  31. items:
  32. - variable: optionsEntry
  33. label: "Option Entry Configuration"
  34. schema:
  35. type: dict
  36. attrs:
  37. - variable: name
  38. label: "Option Name"
  39. schema:
  40. type: string
  41. required: true
  42. - variable: value
  43. label: "Option Value"
  44. schema:
  45. type: string
  46. required: true
  47. - variable: updateStrategy
  48. label: "Minio update strategy"
  49. group: "Workload Configuration"
  50. schema:
  51. type: string
  52. default: "RollingUpdate"
  53. enum:
  54. - value: "RollingUpdate"
  55. description: "Create new pods and then kill old ones"
  56. - value: "Recreate"
  57. description: "Kill existing pods before creating new ones"
  58. - variable: distributedMode
  59. label: "Enable Distributed Mode"
  60. description: "Run Minio instance to connect to a distributed minio cluster"
  61. group: "Minio Configuration"
  62. schema:
  63. type: boolean
  64. default: false
  65. show_subquestions_if: true
  66. subquestions:
  67. - variable: distributedIps
  68. label: "Distributed Minio Instance URI(s)"
  69. schema:
  70. type: list
  71. required: true
  72. default: []
  73. items:
  74. - variable: ip
  75. label: "Distributed Minio Instance URI"
  76. schema:
  77. type: string
  78. empty: false
  79. - variable: extraArgs
  80. label: "Minio Extra Arguments"
  81. group: "Minio Configuration"
  82. schema:
  83. type: list
  84. default: []
  85. items:
  86. - variable: arg
  87. label: "Argument"
  88. schema:
  89. type: string
  90. - variable: accessKey
  91. label: "Root User"
  92. group: "Minio Configuration"
  93. description: "Enter the S3 Root User"
  94. schema:
  95. type: string
  96. private: true
  97. required: true
  98. min_length: 5
  99. max_length: 20
  100. - variable: secretKey
  101. label: "Root Password"
  102. group: "Minio Configuration"
  103. description: "Enter the S3 Root Password"
  104. schema:
  105. type: string
  106. private: true
  107. required: true
  108. min_length: 8
  109. max_length: 40
  110. - variable: environmentVariables
  111. label: "Minio image environment"
  112. group: "Minio Configuration"
  113. schema:
  114. type: list
  115. default: []
  116. items:
  117. - variable: environmentVariable
  118. label: "Environment Variable"
  119. schema:
  120. type: dict
  121. attrs:
  122. - variable: name
  123. label: "Name"
  124. schema:
  125. type: string
  126. - variable: value
  127. label: "Value"
  128. schema:
  129. type: string
  130. - variable: service
  131. description: "Minio Service Configuration"
  132. label: "Minio Service Configuration"
  133. group: "Minio Configuration"
  134. schema:
  135. type: dict
  136. required: true
  137. attrs:
  138. - variable: nodePort
  139. label: "Node Port to use for Minio API"
  140. schema:
  141. type: int
  142. min: 9000
  143. max: 65535
  144. default: 9000
  145. required: true
  146. - variable: consolePort
  147. label: "Node Port to use for Minio UI Access"
  148. schema:
  149. type: int
  150. min: 9000
  151. max: 65535
  152. default: 9002
  153. required: true
  154. - variable: minioDomain
  155. label: "Minio Domain Name"
  156. description: "This is only required if TLS is configured for Minio"
  157. group: "Minio Configuration"
  158. schema:
  159. type: string
  160. default: null
  161. "null": true
  162. show_if: [["certificate", "!=", null]]
  163. - variable: certificate
  164. description: "Minio Certificate"
  165. label: "Minio Certificate"
  166. group: "Minio Configuration"
  167. schema:
  168. type: int
  169. $ref:
  170. - "definitions/certificate"
  171. - variable: appVolumeMounts
  172. label: "Minio Storage"
  173. group: "Storage"
  174. schema:
  175. type: dict
  176. show_if: [["distributedMode", "=", false]]
  177. attrs:
  178. - variable: export
  179. label: "Data Volume"
  180. schema:
  181. type: dict
  182. attrs:
  183. - variable: datasetName
  184. label: "Minio Data Volume Name"
  185. schema:
  186. type: string
  187. hidden: true
  188. $ref:
  189. - "normalize/ixVolume"
  190. show_if: [["hostPathEnabled", "=", false]]
  191. default: "ix-minio"
  192. editable: false
  193. - variable: mountPath
  194. label: "Minio Data Mount Path"
  195. description: "Path where the volume will be mounted inside the pod"
  196. schema:
  197. type: path
  198. hidden: true
  199. editable: false
  200. default: "/export"
  201. - variable: hostPathEnabled
  202. label: "Enable Host Path for Minio Data Volume"
  203. schema:
  204. type: boolean
  205. default: false
  206. show_subquestions_if: true
  207. subquestions:
  208. - variable: hostPath
  209. label: "Host Path for Minio Data Volume"
  210. schema:
  211. type: hostpath
  212. required: true
  213. immutable: true
  214. - variable: extraAppVolumeMounts
  215. label: "Extra Host Path Volumes"
  216. group: "Storage"
  217. schema:
  218. type: list
  219. items:
  220. - variable: extraAppVolume
  221. label: "Host Path Volume"
  222. description: "Add an extra host path volume for Minio application"
  223. schema:
  224. type: dict
  225. attrs:
  226. - variable: mountPath
  227. label: "Mount Path in Pod"
  228. description: "Path where the volume will be mounted inside the pod"
  229. schema:
  230. type: path
  231. required: true
  232. - variable: hostPath
  233. label: "Host Path"
  234. description: "Host path"
  235. schema:
  236. type: hostpath
  237. required: true