questions.yaml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. groups:
  2. - name: "Configuration"
  3. description: "Storj application configuration"
  4. - name: "Storage"
  5. description: "Configure storage for storj"
  6. - name: "Networking"
  7. description: "Networking Configuration for storj"
  8. - name: "Advanced DNS Settings"
  9. description: "Configure DNS settings"
  10. - name: "Resource Limits"
  11. description: "Set CPU/memory limits for Kubernetes Pod"
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "http"
  16. host:
  17. - "$node_ip"
  18. ports:
  19. - "$variable-webPort"
  20. path: "/"
  21. questions:
  22. - variable: webPort
  23. label: "Web Port for Storj"
  24. group: Networking
  25. schema:
  26. type: int
  27. min: 9000
  28. max: 65535
  29. default: 20909
  30. required: true
  31. - variable: nodePort
  32. label: "Node Port for Storj"
  33. description: |
  34. This port will be used for both TCP and UDP traffic. </br>
  35. Note that this port must be open on your firewall and that internal
  36. Storj port will not be affected by this change, but only the external (Node Port)
  37. group: Networking
  38. schema:
  39. type: int
  40. min: 9000
  41. max: 65535
  42. default: 28967
  43. required: true
  44. - variable: dnsConfig
  45. label: "DNS Configuration"
  46. group: "Advanced DNS Settings"
  47. schema:
  48. type: dict
  49. attrs:
  50. - variable: options
  51. label: "DNS Options"
  52. schema:
  53. type: list
  54. items:
  55. - variable: optionsEntry
  56. label: "Option Entry Configuration"
  57. schema:
  58. type: dict
  59. attrs:
  60. - variable: name
  61. label: "Option Name"
  62. schema:
  63. type: string
  64. required: true
  65. - variable: value
  66. label: "Option Value"
  67. schema:
  68. type: string
  69. required: true
  70. - variable: wallet
  71. label: "Configure Wallet for Storj"
  72. group: "Configuration"
  73. schema:
  74. type: string
  75. required: true
  76. - variable: authToken
  77. label: "Configure Auth token for Storj Node"
  78. group: "Configuration"
  79. schema:
  80. type: string
  81. required: true
  82. - variable: email
  83. label: "Configure Email for Storj"
  84. group: "Configuration"
  85. schema:
  86. type: string
  87. required: true
  88. - variable: domainAddress
  89. label: "Add Your Storage Domain for Storj"
  90. group: "Configuration"
  91. schema:
  92. type: string
  93. required: true
  94. - variable: zksync
  95. label: "Opt-in to zkSync"
  96. description: Appends --operator.wallet-features=zksync flag to the storagenode command
  97. group: "Configuration"
  98. schema:
  99. type: boolean
  100. default: false
  101. - variable: terminationGracePeriod
  102. label: Termination Grace Period
  103. description: Optional duration in seconds the pod needs to terminate gracefully.
  104. group: "Configuration"
  105. schema:
  106. type: int
  107. min: 30
  108. default: 30
  109. - variable: storageSize
  110. label: "Configure Storage Size You Want To Share in GB's"
  111. group: Storage
  112. schema:
  113. type: int
  114. min: 500
  115. default: 500
  116. - variable: runAsUser
  117. label: "Owner User ID"
  118. group: "Configuration"
  119. schema:
  120. immutable: true
  121. type: int
  122. default: 568
  123. min: 1
  124. max: 65535
  125. - variable: runAsGroup
  126. label: "Owner Group ID"
  127. group: "Configuration"
  128. schema:
  129. immutable: true
  130. type: int
  131. default: 568
  132. min: 1
  133. max: 65535
  134. - variable: environmentVariables
  135. label: "Storj Extra Environment Variables"
  136. group: "Configuration"
  137. schema:
  138. type: list
  139. default: []
  140. items:
  141. - variable: environmentVariable
  142. label: "Environment Variable"
  143. schema:
  144. type: dict
  145. attrs:
  146. - variable: name
  147. label: "Name"
  148. schema:
  149. type: string
  150. - variable: value
  151. label: "Value"
  152. schema:
  153. type: string
  154. - variable: appVolumeMounts
  155. label: "Storj Configuration"
  156. group: "Storage"
  157. schema:
  158. type: dict
  159. attrs:
  160. - variable: data
  161. label: "Configuration Data Volume to Share on Storj"
  162. schema:
  163. type: dict
  164. attrs:
  165. - variable: datasetName
  166. label: "Configuration Volume Dataset Name"
  167. schema:
  168. type: string
  169. hidden: true
  170. $ref:
  171. - "normalize/ixVolume"
  172. show_if: [["hostPathEnabled", "=", false]]
  173. default: "ix_data"
  174. editable: false
  175. - variable: mountPath
  176. label: "Configuration Mount Path"
  177. description: "Path Where the Volume Will be Mounted Inside the Pod"
  178. schema:
  179. type: path
  180. hidden: true
  181. editable: false
  182. default: "/app/config"
  183. - variable: hostPathEnabled
  184. label: "Enable Custom Host Path for Storj Configuration Volume"
  185. schema:
  186. type: boolean
  187. default: false
  188. show_subquestions_if: true
  189. subquestions:
  190. - variable: hostPath
  191. label: "Host Path for Storj Configuration Volume"
  192. schema:
  193. type: hostpath
  194. required: true
  195. - variable: identity
  196. label: "Configure Identity Volume for Storage Node"
  197. schema:
  198. type: dict
  199. attrs:
  200. - variable: datasetName
  201. label: "Configure Storj Identity Volume to Allocate"
  202. schema:
  203. type: string
  204. hidden: true
  205. $ref:
  206. - "normalize/ixVolume"
  207. show_if: [["hostPathEnabled", "=", false]]
  208. default: "ix_identity"
  209. editable: false
  210. - variable: mountPath
  211. label: "Configure Storj Identity Volume to Allocate"
  212. description: "Path where the volume will be mounted inside the pod"
  213. schema:
  214. type: path
  215. hidden: true
  216. editable: false
  217. default: "/app/identity"
  218. - variable: hostPathEnabled
  219. label: "Enable Custom Host Path for Storj Identity Volume"
  220. schema:
  221. type: boolean
  222. default: false
  223. show_subquestions_if: true
  224. subquestions:
  225. - variable: hostPath
  226. label: "Host Path for Storj identity Volume"
  227. schema:
  228. type: hostpath
  229. required: true
  230. - variable: extraAppVolumeMounts
  231. label: "Extra Host Path Volumes"
  232. group: "Storage"
  233. schema:
  234. type: list
  235. items:
  236. - variable: extraAppVolume
  237. label: "Host Path Volume"
  238. description: "Add an extra host path volume for storj"
  239. schema:
  240. type: dict
  241. attrs:
  242. - variable: mountPath
  243. label: "Mount Path in Pod"
  244. description: "Path where the volume will be mounted inside the pod."
  245. schema:
  246. type: path
  247. required: true
  248. - variable: hostPath
  249. label: "Host Path"
  250. description: "Host path"
  251. schema:
  252. type: hostpath
  253. required: true
  254. - variable: enableResourceLimits
  255. label: "Enable Pod resource limits"
  256. group: "Resource Limits"
  257. schema:
  258. type: boolean
  259. default: false
  260. - variable: cpuLimit
  261. label: "CPU Limresource limitsit"
  262. description: "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100."
  263. group: "Resource Limits"
  264. schema:
  265. type: string
  266. show_if: [["enableResourceLimits", "=", true]]
  267. valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
  268. default: "4000m"
  269. - variable: memLimit
  270. label: "Memory Limit"
  271. group: "Resource Limits"
  272. description: "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi"
  273. schema:
  274. type: string
  275. show_if: [["enableResourceLimits", "=", true]]
  276. valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
  277. default: "8Gi"