questions.yaml 5.3 KB

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