questions.yaml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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. - name: "Scaling/Upgrade Policy"
  13. description: "Configure how pods are replaced when configuration is upgraded"
  14. portals:
  15. web_portal:
  16. protocols:
  17. - "http"
  18. host:
  19. - "$variable-nextcloud.host"
  20. ports:
  21. - "$variable-service.nodePort"
  22. questions:
  23. - variable: nextcloud
  24. description: "Nextcloud configuration details"
  25. label: "Nextcloud Configuration"
  26. group: "Nextcloud Configuration"
  27. schema:
  28. type: dict
  29. required: true
  30. additional_attrs: true
  31. attrs:
  32. - variable: host
  33. description: "Nextcloud host to create application URLs"
  34. label: "Nextcloud host"
  35. schema:
  36. type: string
  37. $ref:
  38. - "definitions/nodeIP"
  39. - variable: username
  40. label: "Username"
  41. description: "Name of the Nextcloud admin user"
  42. schema:
  43. type: string
  44. default: "admin"
  45. required: true
  46. - variable: password
  47. label: "Password"
  48. description: "Password for the Nextcloud admin user"
  49. schema:
  50. type: string
  51. private: true
  52. default: "changeme"
  53. required: true
  54. - variable: datadir
  55. label: "Nextcloud data directory"
  56. description: "Configures the data directory where nextcloud stores all files from the users"
  57. schema:
  58. type: path
  59. default: "/var/www/html/data"
  60. required: true
  61. # Update strategy
  62. - variable: updateStrategy
  63. description: "Upgrade Policy"
  64. label: "Update Strategy"
  65. group: "Scaling/Upgrade Policy"
  66. schema:
  67. type: string
  68. default: "Recreate"
  69. enum:
  70. - value: "RollingUpdate"
  71. description: "Create new pods and then kill old ones"
  72. - value: "Recreate"
  73. description: "Kill existing pods before creating new ones"
  74. - variable: service
  75. description: "Nextcloud Service Configuration"
  76. label: "Nextcloud Service Configuration"
  77. group: "Nextcloud Configuration"
  78. schema:
  79. type: dict
  80. required: true
  81. attrs:
  82. - variable: nodePort
  83. label: "Node Port to use for Nextcloud"
  84. schema:
  85. type: int
  86. min: 9000
  87. max: 65535
  88. default: 9001
  89. required: true
  90. - variable: appVolumeMounts
  91. label: "Nextcloud Storage"
  92. group: "Storage"
  93. schema:
  94. type: dict
  95. attrs:
  96. - variable: nextcloud-data
  97. label: "Nextcloud Data Volume"
  98. schema:
  99. type: dict
  100. attrs:
  101. - variable: datasetName
  102. label: "Nextcloud Data Volume Name"
  103. schema:
  104. type: string
  105. hidden: true
  106. $ref:
  107. - "normalize/ixVolume"
  108. show_if: [["hostPathEnabled", "=", false]]
  109. default: "ix-nextcloud_data"
  110. editable: false
  111. - variable: mountPath
  112. label: "Nextcloud Data Mount Path"
  113. description: "Path where the volume will be mounted inside the pod"
  114. schema:
  115. type: path
  116. hidden: true
  117. editable: false
  118. default: "/var/www"
  119. - variable: hostPathEnabled
  120. label: "Enable Host Path for Nextcloud Data Volume"
  121. schema:
  122. type: boolean
  123. default: false
  124. show_subquestions_if: true
  125. subquestions:
  126. - variable: hostPath
  127. label: "Host Path for Nextcloud Data Volume"
  128. schema:
  129. type: hostpath
  130. required: true
  131. - variable: postgresAppVolumeMounts
  132. label: "Postgres Storage"
  133. group: "Storage"
  134. schema:
  135. type: dict
  136. hidden: true
  137. attrs:
  138. - variable: postgres-data
  139. label: "Postgres Data Volume"
  140. schema:
  141. type: dict
  142. attrs:
  143. - variable: datasetName
  144. label: "Postgres Data Volume Name"
  145. schema:
  146. type: string
  147. $ref:
  148. - "normalize/ixVolume"
  149. default: "ix-postgres_data"
  150. editable: false
  151. - variable: mountPath
  152. label: "Postgresql Data Mount Path"
  153. description: "Path where the volume will be mounted inside the pod"
  154. schema:
  155. type: path
  156. editable: false
  157. default: "/var/lib/postgresql/data"
  158. - variable: postgres-backup
  159. label: "Postgres Backup Volume"
  160. schema:
  161. type: dict
  162. attrs:
  163. - variable: datasetName
  164. label: "Postgres Backup Volume Name"
  165. schema:
  166. type: string
  167. $ref:
  168. - "normalize/ixVolume"
  169. default: "ix-postgres_backups"
  170. editable: false
  171. - variable: mountPath
  172. label: "Postgresql Backup Mount Path"
  173. description: "Path where the volume will be mounted inside the pod"
  174. schema:
  175. type: path
  176. editable: false
  177. default: "/postgres_backups"