questions.yaml 6.0 KB

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