questions.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  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: environment
  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. required: true
  83. - variable: value
  84. label: "Value"
  85. schema:
  86. type: string
  87. required: true
  88. - variable: service
  89. description: "IPFS Service Configuration"
  90. label: "IPFS Service Configuration"
  91. group: "IPFS Configuration"
  92. schema:
  93. type: dict
  94. required: true
  95. attrs:
  96. - variable: swarmPort
  97. label: "Swarm Port to use for IPFS (Public)"
  98. schema:
  99. type: int
  100. min: 4000
  101. max: 65535
  102. default: 9401
  103. required: true
  104. - variable: apiPort
  105. label: "API Port to use for IPFS (local)"
  106. schema:
  107. type: int
  108. min: 4000
  109. max: 65535
  110. default: 9501
  111. required: true
  112. - variable: gatewayPort
  113. label: "Gateway Port to use for IPFS (local)"
  114. schema:
  115. type: int
  116. min: 4000
  117. max: 65535
  118. default: 9880
  119. required: true
  120. - variable: ipfsDataHostPathEnabled
  121. label: "Configure Host Path for IPFS data"
  122. group: "Storage"
  123. schema:
  124. type: boolean
  125. default: false
  126. show_subquestions_if: true
  127. subquestions:
  128. - variable: ipfsDataHostPath
  129. label: "Specify HostPath for IPFS data"
  130. schema:
  131. type: hostpath
  132. - variable: ipfsDataVolume
  133. label: "Configure iXVolume"
  134. group: "Storage"
  135. schema:
  136. type: dict
  137. $ref:
  138. - "normalize/ixVolume"
  139. show_if: [["ipfsDataHostPathEnabled", "=", false]]
  140. attrs:
  141. - variable: mountPath
  142. label: "Mount Path"
  143. description: "Path where the volume will be mounted inside the pod"
  144. schema:
  145. type: path
  146. editable: false
  147. default: "/data/ipfs"
  148. - variable: datasetName
  149. label: "Dataset Name"
  150. schema:
  151. type: string
  152. default: "ix-ipfs-data"
  153. editable: false
  154. - variable: ipfsStagingHostPathEnabled
  155. label: "Configure Host Path for IPFS staging data"
  156. group: "Storage"
  157. schema:
  158. type: boolean
  159. default: false
  160. show_subquestions_if: true
  161. subquestions:
  162. - variable: ipfsStagingHostPath
  163. label: "Specify HostPath for IPFS staging data"
  164. schema:
  165. type: hostpath
  166. - variable: ipfsStagingVolume
  167. label: "Configure iXVolume"
  168. group: "Storage"
  169. schema:
  170. type: dict
  171. $ref:
  172. - "normalize/ixVolume"
  173. show_if: [["ipfsStagingHostPathEnabled", "=", false]]
  174. attrs:
  175. - variable: mountPath
  176. label: "Mount Path"
  177. description: "Path where the volume will be mounted inside the pod"
  178. schema:
  179. type: path
  180. editable: false
  181. default: "/export"
  182. - variable: datasetName
  183. label: "Dataset Name"
  184. schema:
  185. type: string
  186. default: "ix-ipfs-staging"
  187. editable: false