questions.yaml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  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: "Storage"
  7. description: "Configure Storage for Nextcloud"
  8. - name: "Minio Configuration"
  9. description: "Configure Minio credentials"
  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: extraArgs
  59. label: "Minio Extra Arguments"
  60. group: "Minio Configuration"
  61. schema:
  62. type: list
  63. default: []
  64. items:
  65. - variable: arg
  66. label: "Argument"
  67. schema:
  68. type: string
  69. - variable: accessKey
  70. label: "Root User"
  71. group: "Minio Configuration"
  72. description: "Enter the S3 Root User"
  73. schema:
  74. type: string
  75. private: true
  76. required: true
  77. min_length: 5
  78. max_length: 20
  79. - variable: secretKey
  80. label: "Root Password"
  81. group: "Minio Configuration"
  82. description: "Enter the S3 Root Password"
  83. schema:
  84. type: string
  85. private: true
  86. required: true
  87. min_length: 8
  88. max_length: 40
  89. - variable: environmentVariables
  90. label: "Minio image environment"
  91. group: "Minio Configuration"
  92. schema:
  93. type: list
  94. default: []
  95. items:
  96. - variable: environmentVariable
  97. label: "Environment Variable"
  98. schema:
  99. type: dict
  100. attrs:
  101. - variable: name
  102. label: "Name"
  103. schema:
  104. type: string
  105. - variable: value
  106. label: "Value"
  107. schema:
  108. type: string
  109. - variable: service
  110. description: "Minio Service Configuration"
  111. label: "Minio Service Configuration"
  112. group: "Minio Configuration"
  113. schema:
  114. type: dict
  115. required: true
  116. attrs:
  117. - variable: nodePort
  118. label: "Node Port to use for Minio API"
  119. schema:
  120. type: int
  121. min: 9000
  122. max: 65535
  123. default: 9000
  124. required: true
  125. - variable: consolePort
  126. label: "Node Port to use for Minio UI Access"
  127. schema:
  128. type: int
  129. min: 9000
  130. max: 65535
  131. default: 9002
  132. required: true
  133. - variable: minioDomain
  134. label: "Minio Domain Name"
  135. description: "This is only required if TLS is configured for Minio"
  136. group: "Minio Configuration"
  137. schema:
  138. type: string
  139. default: null
  140. "null": true
  141. show_if: [["certificate", "!=", null]]
  142. - variable: certificate
  143. description: "Minio Certificate"
  144. label: "Minio Certificate"
  145. group: "Minio Configuration"
  146. schema:
  147. type: int
  148. $ref:
  149. - "definitions/certificate"
  150. - variable: appVolumeMounts
  151. label: "Minio Storage"
  152. group: "Storage"
  153. schema:
  154. type: dict
  155. attrs:
  156. - variable: export
  157. label: "Data Volume"
  158. schema:
  159. type: dict
  160. attrs:
  161. - variable: datasetName
  162. label: "Minio Data Volume Name"
  163. schema:
  164. type: string
  165. hidden: true
  166. $ref:
  167. - "normalize/ixVolume"
  168. show_if: [["hostPathEnabled", "=", false]]
  169. default: "ix-minio"
  170. editable: false
  171. - variable: mountPath
  172. label: "Minio Data Mount Path"
  173. description: "Path where the volume will be mounted inside the pod"
  174. schema:
  175. type: path
  176. hidden: true
  177. editable: false
  178. default: "/export"
  179. - variable: hostPathEnabled
  180. label: "Enable Host Path for Minio Data Volume"
  181. schema:
  182. type: boolean
  183. default: false
  184. show_subquestions_if: true
  185. subquestions:
  186. - variable: hostPath
  187. label: "Host Path for Minio Data Volume"
  188. schema:
  189. type: hostpath
  190. required: true