questions.yaml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. groups:
  2. - name: "Container Images"
  3. description: "Image to be used for container"
  4. - name: "Workload Configuration"
  5. description: "Configure Storage for IPFS"
  6. - name: "Storage"
  7. description: "Configure Storage for IPFS"
  8. - name: "IPFS Configuration"
  9. description: "Configure Storage for IPFS"
  10. - name: "Advanced DNS Settings"
  11. description: "Configure DNS settings"
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "http"
  16. host:
  17. - "$node_ip"
  18. ports:
  19. - "$variable-service.apiPort"
  20. path: "/webui"
  21. questions:
  22. - variable: dnsConfig
  23. label: "DNS Configuration"
  24. group: "Advanced DNS Settings"
  25. schema:
  26. type: dict
  27. attrs:
  28. - variable: options
  29. label: "DNS Options"
  30. schema:
  31. type: list
  32. items:
  33. - variable: optionsEntry
  34. label: "Option Entry Configuration"
  35. schema:
  36. type: dict
  37. attrs:
  38. - variable: name
  39. label: "Option Name"
  40. schema:
  41. type: string
  42. required: true
  43. - variable: value
  44. label: "Option Value"
  45. schema:
  46. type: string
  47. required: true
  48. - variable: updateStrategy
  49. label: "IPFS update strategy"
  50. group: "Workload Configuration"
  51. schema:
  52. type: string
  53. default: "Recreate"
  54. enum:
  55. - value: "RollingUpdate"
  56. description: "Create new pods and then kill old ones"
  57. - value: "Recreate"
  58. description: "Kill existing pods before creating new ones"
  59. - variable: environmentVariables
  60. label: "IPFS image environment"
  61. group: "IPFS Configuration"
  62. schema:
  63. type: list
  64. default: []
  65. items:
  66. - variable: environmentVariable
  67. label: "Environment Variable"
  68. schema:
  69. type: dict
  70. attrs:
  71. - variable: name
  72. label: "Name"
  73. schema:
  74. type: string
  75. - variable: value
  76. label: "Value"
  77. schema:
  78. type: string
  79. - variable: service
  80. description: "IPFS Service Configuration"
  81. label: "IPFS Service Configuration"
  82. group: "IPFS Configuration"
  83. schema:
  84. type: dict
  85. required: true
  86. attrs:
  87. - variable: swarmPort
  88. label: "Swarm Port to use for IPFS (Public)"
  89. schema:
  90. type: int
  91. min: 9000
  92. max: 65535
  93. default: 9401
  94. required: true
  95. - variable: apiPort
  96. label: "API Port to use for IPFS (local)"
  97. schema:
  98. type: int
  99. min: 9000
  100. max: 65535
  101. default: 9501
  102. required: true
  103. - variable: gatewayPort
  104. label: "Gateway Port to use for IPFS (local)"
  105. schema:
  106. type: int
  107. min: 9000
  108. max: 65535
  109. default: 9880
  110. required: true
  111. - variable: appVolumeMounts
  112. label: "IPFS Storage"
  113. group: "Storage"
  114. schema:
  115. type: dict
  116. attrs:
  117. - variable: staging
  118. label: "Staging Volume"
  119. schema:
  120. type: dict
  121. attrs:
  122. - variable: datasetName
  123. label: "IPFS Staging Volume Dataset Name"
  124. schema:
  125. type: string
  126. hidden: true
  127. $ref:
  128. - "normalize/ixVolume"
  129. show_if: [["hostPathEnabled", "=", false]]
  130. default: "ix-ipfs-staging"
  131. editable: false
  132. - variable: mountPath
  133. label: "IPFS Staging Mount Path"
  134. description: "Path where the volume will be mounted inside the pod"
  135. schema:
  136. type: path
  137. hidden: true
  138. editable: false
  139. default: "/export"
  140. - variable: hostPathEnabled
  141. label: "Enable Host Path for IPFS Staging Volume"
  142. schema:
  143. type: boolean
  144. default: false
  145. show_subquestions_if: true
  146. subquestions:
  147. - variable: hostPath
  148. label: "Host Path for IPFS Staging Volume"
  149. schema:
  150. type: hostpath
  151. required: true
  152. - variable: data
  153. label: "Data Volume"
  154. schema:
  155. type: dict
  156. attrs:
  157. - variable: datasetName
  158. label: "IPFS Data Volume Name"
  159. schema:
  160. type: string
  161. hidden: true
  162. $ref:
  163. - "normalize/ixVolume"
  164. show_if: [["hostPathEnabled", "=", false]]
  165. default: "ix-ipfs-data"
  166. editable: false
  167. - variable: mountPath
  168. label: "IPFS Data Mount Path"
  169. description: "Path where the volume will be mounted inside the pod"
  170. schema:
  171. type: path
  172. hidden: true
  173. editable: false
  174. default: "/data/ipfs"
  175. - variable: hostPathEnabled
  176. label: "Enable Host Path for IPFS Data Volume"
  177. schema:
  178. type: boolean
  179. default: false
  180. show_subquestions_if: true
  181. subquestions:
  182. - variable: hostPath
  183. label: "Host Path for IPFS Data Volume"
  184. schema:
  185. type: hostpath
  186. required: true