questions.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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"
  7. description: "Configure Storage for Nextcloud"
  8. - name: "Container Configuration"
  9. description: "Configure nextcloud container parameters"
  10. - name: "Postgresql Configuration"
  11. description: "Configure Postgresql for 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: nextcloudDataHostPathEnabled
  109. label: "Configure Host Path for Nextcloud data"
  110. group: "Storage"
  111. schema:
  112. type: boolean
  113. default: false
  114. show_subquestions_if: true
  115. subquestions:
  116. - variable: nextcloudHostPath
  117. label: "Specify HostPath for Nextcloud data"
  118. schema:
  119. type: hostpath
  120. - variable: nextcloudDataVolume
  121. label: "Configure iXVolume"
  122. group: "Storage"
  123. schema:
  124. type: dict
  125. $ref:
  126. - "normalize/ixVolume"
  127. show_if: [["nextcloudDataHostPathEnabled", "=", false]]
  128. attrs:
  129. - variable: mountPath
  130. label: "Mount Path"
  131. description: "Path where the volume will be mounted inside the pod"
  132. schema:
  133. type: path
  134. editable: false
  135. default: "/var/www"
  136. - variable: datasetName
  137. label: "Dataset Name"
  138. schema:
  139. type: string
  140. default: "ix-nextcloud_data"
  141. editable: false
  142. - variable: postgresBackupVolume
  143. label: "Postgres Backup Volume"
  144. group: "Storage"
  145. schema:
  146. type: dict
  147. $ref:
  148. - "normalize/ixVolume"
  149. attrs:
  150. - variable: mountPath
  151. label: "Mount Path"
  152. schema:
  153. type: path
  154. editable: false
  155. default: "/postgres_backups"
  156. - variable: datasetName
  157. label: "Dataset Name"
  158. schema:
  159. type: string
  160. default: "ix-postgres_backups"
  161. editable: false
  162. - variable: postgresDataVolume
  163. label: "Postgresql Data Volume"
  164. group: "Storage"
  165. schema:
  166. type: dict
  167. $ref:
  168. - "normalize/ixVolume"
  169. attrs:
  170. - variable: mountPath
  171. label: "Mount Path"
  172. schema:
  173. type: path
  174. editable: false
  175. default: "/var/lib/postgresql/data"
  176. - variable: datasetName
  177. label: "Dataset Name"
  178. schema:
  179. type: string
  180. default: "ix-postgres_data"
  181. editable: false