questions.yaml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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. $ref:
  134. - "normalize/ixVolume"
  135. show_if: [["hostPathEnabled", "=", false]]
  136. default: "ix-ipfs-staging"
  137. editable: false
  138. - variable: mountPath
  139. label: "IPFS Staging Mount Path"
  140. description: "Path where the volume will be mounted inside the pod"
  141. schema:
  142. type: path
  143. editable: false
  144. default: "/export"
  145. - variable: hostPathEnabled
  146. label: "Enable Host Path for IPFS Staging Volume"
  147. schema:
  148. type: boolean
  149. default: false
  150. show_subquestions_if: true
  151. subquestions:
  152. - variable: hostPath
  153. label: "Host Path for IPFS Staging Volume"
  154. schema:
  155. type: hostpath
  156. required: true
  157. - variable: data
  158. label: "Data Volume"
  159. schema:
  160. type: dict
  161. attrs:
  162. - variable: datasetName
  163. label: "IPFS Data Volume Dataset Name"
  164. schema:
  165. type: string
  166. $ref:
  167. - "normalize/ixVolume"
  168. show_if: [["hostPathEnabled", "=", false]]
  169. default: "ix-ipfs-data"
  170. editable: false
  171. - variable: mountPath
  172. label: "IPFS Data Mount Path"
  173. description: "Path where the volume will be mounted inside the pod"
  174. schema:
  175. type: path
  176. editable: false
  177. default: "/data/ipfs"
  178. - variable: hostPathEnabled
  179. label: "Enable Host Path for IPFS Data Volume"
  180. schema:
  181. type: boolean
  182. default: false
  183. show_subquestions_if: true
  184. subquestions:
  185. - variable: hostPath
  186. label: "Host Path for IPFS Data Volume"
  187. schema:
  188. type: hostpath
  189. required: true