questions.yaml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. groups:
  2. - name: "Container Images"
  3. description: "Image to be used for container"
  4. - name: "Nextcloud Configuration"
  5. description: "Configuration details for Nextcloud workload"
  6. - name: "Storage Configuration"
  7. description: "Configure Storage for Nextcloud"
  8. - name: "Container Configuration"
  9. description: "Configure nextcloud container parameters"
  10. - name: "Nginx Configuration"
  11. description: "Use nginx with Nextcloud"
  12. questions:
  13. # Image related
  14. - variable: image
  15. description: "Docker Image Details"
  16. label: "Docker Image"
  17. group: "Container Images"
  18. schema:
  19. type: dict
  20. required: true
  21. attrs:
  22. - variable: repository
  23. description: "Docker image repository"
  24. label: "Image repository"
  25. schema:
  26. type: string
  27. default: "nextcloud"
  28. required: true
  29. - variable: tag
  30. description: "Tag to use for specified image"
  31. label: "Image Tag"
  32. schema:
  33. type: string
  34. default: "latest"
  35. - variable: pullPolicy
  36. description: "Docker Image Pull Policy"
  37. label: "Image Pull Policy"
  38. schema:
  39. type: string
  40. default: "IfNotPresent"
  41. enum:
  42. - value: "IfNotPresent"
  43. description: "Only pull image if not present on host"
  44. - value: "Always"
  45. description: "Always pull image even if present on host"
  46. - value: "Never"
  47. description: "Never pull image even if it's not present on host"
  48. - variable: nextcloud
  49. description: "Nextcloud configuration details"
  50. label: "Nextcloud Configuration"
  51. group: "Nextcloud Configuration"
  52. schema:
  53. type: dict
  54. required: true
  55. additional_attrs: true
  56. attrs:
  57. - variable: host
  58. description: "Nextcloud host to create application URLs"
  59. label: "Nextcloud host"
  60. schema:
  61. type: string
  62. default: "nextcloud.kube.home"
  63. - variable: username
  64. label: "Username"
  65. schema:
  66. type: string
  67. default: "admin"
  68. required: true
  69. - variable: password
  70. label: "Password"
  71. schema:
  72. type: string
  73. private: true
  74. default: "changeme"
  75. required: true
  76. - variable: datadir
  77. label: "Nextcloud data directory"
  78. schema:
  79. type: path
  80. default: "/var/www/html/data"
  81. required: true
  82. - variable: strategy
  83. label: "Nextcloud update strategy"
  84. schema:
  85. type: string
  86. default: "Recreate"
  87. enum:
  88. - value: "RollingUpdate"
  89. description: "Create new pods and then kill old ones"
  90. - value: "Recreate"
  91. description: "Kill existing pods before creating new ones"
  92. - variable: service
  93. description: "Nextcloud Service Configuration"
  94. label: "Nextcloud Service Configuration"
  95. group: "Nextcloud Configuration"
  96. schema:
  97. type: dict
  98. required: true
  99. attrs:
  100. - variable: nodePort
  101. label: "Node Port to use for Nextcloud"
  102. schema:
  103. type: int
  104. min: 9000
  105. max: 65535
  106. default: 9000
  107. required: true
  108. - variable: configureiXVolume
  109. label: "Configure iX Volume"
  110. group: "Storage Configuration"
  111. description: "Use iX Volume for persistent storage"
  112. schema:
  113. type: boolean
  114. default: true
  115. required: true
  116. show_subquestions_if: true
  117. subquestions:
  118. - variable: volume
  119. label: "Configure iXVolume"
  120. group: "Storage Configuration"
  121. schema:
  122. type: dict
  123. $ref:
  124. - "normalize/ixVolume"
  125. attrs:
  126. - variable: mountPath
  127. label: "Mount Path"
  128. description: "Path where the volume will be mounted inside the pod"
  129. schema:
  130. type: path
  131. editable: false
  132. default: "/var/www"
  133. - variable: datasetName
  134. label: "Dataset Name"
  135. schema:
  136. type: string
  137. required: true
  138. - variable: configureHostPath
  139. label: "Configure Host Path for storage"
  140. description: "Use a path on host for persistent data storage"
  141. group: "Storage Configuration"
  142. schema:
  143. type: boolean
  144. default: false
  145. required: true
  146. show_if: [["configureiXVolume", "=", false]]
  147. show_subquestions_if: true
  148. subquestions:
  149. - variable: volumeHostPath
  150. label: "Host Path"
  151. group: "Storage Configuration"
  152. schema:
  153. type: hostpath
  154. - variable: lifecycle
  155. label: "Define container Lifecycle"
  156. group: "Container Configuration"
  157. schema:
  158. type: dict
  159. additional_attrs: true
  160. attrs: []
  161. - variable: nginx
  162. label: "Configure Nginx"
  163. group: "Nginx Configuration"
  164. schema:
  165. type: dict
  166. additional_attrs: true
  167. attrs: []
  168. - variable: internalDatabase
  169. label: "REMOVEME"
  170. schema:
  171. type: dict
  172. additional_attrs: true
  173. attrs: []
  174. - variable: externalDatabase
  175. label: "REMOVEME"
  176. schema:
  177. type: dict
  178. additional_attrs: true
  179. attrs: []
  180. - variable: postgresql
  181. label: "REMOVEME"
  182. schema:
  183. type: dict
  184. additional_attrs: true
  185. attrs: []
  186. - variable: cronjob
  187. label: "REMOVEME"
  188. schema:
  189. type: dict
  190. additional_attrs: true
  191. attrs: []
  192. - variable: livenessProbe
  193. label: "REMOVEME"
  194. schema:
  195. type: dict
  196. additional_attrs: true
  197. attrs: []
  198. - variable: readinessProbe
  199. label: "REMOVEME"
  200. schema:
  201. type: dict
  202. additional_attrs: true
  203. attrs: []