questions.yaml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  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 "zksync" to --operator.wallet-features flag to the storagenode command
  97. group: "Configuration"
  98. schema:
  99. type: boolean
  100. default: false
  101. - variable: zksyncEra
  102. label: "Opt-in to zkSync era"
  103. description: Appends "zksync-era" to --operator.wallet-features flag to the storagenode command
  104. group: "Configuration"
  105. schema:
  106. type: boolean
  107. default: false
  108. - variable: terminationGracePeriod
  109. label: Termination Grace Period
  110. description: Optional duration in seconds the pod needs to terminate gracefully.
  111. group: "Configuration"
  112. schema:
  113. type: int
  114. min: 30
  115. default: 30
  116. - variable: storageSize
  117. label: "Configure Storage Size You Want To Share in GB's"
  118. group: Storage
  119. schema:
  120. type: int
  121. min: 500
  122. default: 500
  123. - variable: runAsUser
  124. label: "Owner User ID"
  125. group: "Configuration"
  126. schema:
  127. immutable: true
  128. type: int
  129. default: 568
  130. min: 1
  131. max: 65535
  132. - variable: runAsGroup
  133. label: "Owner Group ID"
  134. group: "Configuration"
  135. schema:
  136. immutable: true
  137. type: int
  138. default: 568
  139. min: 1
  140. max: 65535
  141. - variable: environmentVariables
  142. label: "Storj Extra Environment Variables"
  143. group: "Configuration"
  144. schema:
  145. type: list
  146. default: []
  147. items:
  148. - variable: environmentVariable
  149. label: "Environment Variable"
  150. schema:
  151. type: dict
  152. attrs:
  153. - variable: name
  154. label: "Name"
  155. schema:
  156. type: string
  157. - variable: value
  158. label: "Value"
  159. schema:
  160. type: string
  161. - variable: appVolumeMounts
  162. label: "Storj Configuration"
  163. group: "Storage"
  164. schema:
  165. type: dict
  166. attrs:
  167. - variable: data
  168. label: "Configuration Data Volume to Share on Storj"
  169. schema:
  170. type: dict
  171. attrs:
  172. - variable: datasetName
  173. label: "Configuration Volume Dataset Name"
  174. schema:
  175. type: string
  176. hidden: true
  177. $ref:
  178. - "normalize/ixVolume"
  179. show_if: [["hostPathEnabled", "=", false]]
  180. default: "ix_data"
  181. editable: false
  182. - variable: mountPath
  183. label: "Configuration Mount Path"
  184. description: "Path Where the Volume Will be Mounted Inside the Pod"
  185. schema:
  186. type: path
  187. hidden: true
  188. editable: false
  189. default: "/app/config"
  190. - variable: hostPathEnabled
  191. label: "Enable Custom Host Path for Storj Configuration Volume"
  192. schema:
  193. type: boolean
  194. default: false
  195. show_subquestions_if: true
  196. subquestions:
  197. - variable: hostPath
  198. label: "Host Path for Storj Configuration Volume"
  199. schema:
  200. type: hostpath
  201. required: true
  202. - variable: identity
  203. label: "Configure Identity Volume for Storage Node"
  204. schema:
  205. type: dict
  206. attrs:
  207. - variable: datasetName
  208. label: "Configure Storj Identity Volume to Allocate"
  209. schema:
  210. type: string
  211. hidden: true
  212. $ref:
  213. - "normalize/ixVolume"
  214. show_if: [["hostPathEnabled", "=", false]]
  215. default: "ix_identity"
  216. editable: false
  217. - variable: mountPath
  218. label: "Configure Storj Identity Volume to Allocate"
  219. description: "Path where the volume will be mounted inside the pod"
  220. schema:
  221. type: path
  222. hidden: true
  223. editable: false
  224. default: "/app/identity"
  225. - variable: hostPathEnabled
  226. label: "Enable Custom Host Path for Storj Identity Volume"
  227. schema:
  228. type: boolean
  229. default: false
  230. show_subquestions_if: true
  231. subquestions:
  232. - variable: hostPath
  233. label: "Host Path for Storj identity Volume"
  234. schema:
  235. type: hostpath
  236. required: true
  237. - variable: extraAppVolumeMounts
  238. label: "Extra Host Path Volumes"
  239. group: "Storage"
  240. schema:
  241. type: list
  242. items:
  243. - variable: extraAppVolume
  244. label: "Host Path Volume"
  245. description: "Add an extra host path volume for storj"
  246. schema:
  247. type: dict
  248. attrs:
  249. - variable: mountPath
  250. label: "Mount Path in Pod"
  251. description: "Path where the volume will be mounted inside the pod."
  252. schema:
  253. type: path
  254. required: true
  255. - variable: hostPath
  256. label: "Host Path"
  257. description: "Host path"
  258. schema:
  259. type: hostpath
  260. required: true
  261. - variable: enableResourceLimits
  262. label: "Enable Pod resource limits"
  263. group: "Resource Limits"
  264. schema:
  265. type: boolean
  266. default: false
  267. - variable: cpuLimit
  268. label: "CPU Limit"
  269. description: "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100."
  270. group: "Resource Limits"
  271. schema:
  272. type: string
  273. show_if: [["enableResourceLimits", "=", true]]
  274. valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
  275. default: "4000m"
  276. - variable: memLimit
  277. label: "Memory Limit"
  278. group: "Resource Limits"
  279. 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"
  280. schema:
  281. type: string
  282. show_if: [["enableResourceLimits", "=", true]]
  283. valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
  284. default: "8Gi"