app_versions.json 68 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148
  1. {
  2. "1.3.9": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/stable/storj/1.3.9",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "6f87ea801-v1.71.2-go1.18.8_1.3.9",
  10. "version": "1.3.9",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "6f87ea801-v1.71.2-go1.18.8",
  16. "capabilities": [],
  17. "categories": [
  18. "storage"
  19. ],
  20. "changelog_url": "https://forum.storj.io/tag/official-changelog",
  21. "date_added": "2024-09-02",
  22. "description": "Share your storage on the internet and earn.",
  23. "home": "https://www.storj.io",
  24. "host_mounts": [],
  25. "icon": "https://media.sys.truenas.net/apps/storj/icons/icon.svg",
  26. "keywords": [
  27. "storage",
  28. "networking",
  29. "financial",
  30. "file-sharing"
  31. ],
  32. "lib_version": "2.1.49",
  33. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  34. "maintainers": [
  35. {
  36. "email": "dev@ixsystems.com",
  37. "name": "truenas",
  38. "url": "https://www.truenas.com/"
  39. }
  40. ],
  41. "name": "storj",
  42. "run_as_context": [
  43. {
  44. "description": "Storj runs as any non-root user.",
  45. "gid": 568,
  46. "group_name": "storj",
  47. "uid": 568,
  48. "user_name": "storj"
  49. }
  50. ],
  51. "screenshots": [
  52. "https://media.sys.truenas.net/apps/storj/screenshots/screenshot1.jpeg"
  53. ],
  54. "sources": [
  55. "https://www.storj.io"
  56. ],
  57. "title": "Storj",
  58. "train": "stable",
  59. "version": "1.3.9"
  60. },
  61. "schema": {
  62. "groups": [
  63. {
  64. "name": "Storj Configuration",
  65. "description": "Configure Storj"
  66. },
  67. {
  68. "name": "User and Group Configuration",
  69. "description": "Configure User and Group for Storj"
  70. },
  71. {
  72. "name": "Network Configuration",
  73. "description": "Configure Network for Storj"
  74. },
  75. {
  76. "name": "Storage Configuration",
  77. "description": "Configure Storage for Storj"
  78. },
  79. {
  80. "name": "Labels Configuration",
  81. "description": "Configure Labels for Storj"
  82. },
  83. {
  84. "name": "Resources Configuration",
  85. "description": "Configure Resources for Storj"
  86. }
  87. ],
  88. "questions": [
  89. {
  90. "variable": "storj",
  91. "label": "",
  92. "group": "Storj Configuration",
  93. "schema": {
  94. "type": "dict",
  95. "attrs": [
  96. {
  97. "variable": "stop_grace_period",
  98. "label": "Stop Grace Period",
  99. "description": "The time to wait before stopping the container.",
  100. "schema": {
  101. "type": "int",
  102. "min": 30,
  103. "max": 600,
  104. "default": 30,
  105. "required": true
  106. }
  107. },
  108. {
  109. "variable": "storage_size_gb",
  110. "label": "Storage Size (in GB)",
  111. "description": "How much disk space do you want to allocate to the Storj network",
  112. "schema": {
  113. "type": "int",
  114. "min": 500,
  115. "default": 500,
  116. "required": true
  117. }
  118. },
  119. {
  120. "variable": "wallet_address",
  121. "label": "Wallet Address",
  122. "description": "A wallet address to receive STORJ token payouts for running the node.",
  123. "schema": {
  124. "type": "string",
  125. "required": true,
  126. "private": true,
  127. "default": ""
  128. }
  129. },
  130. {
  131. "variable": "email",
  132. "label": "Email",
  133. "description": "Email address so we can notify you when a new version has been released.",
  134. "schema": {
  135. "type": "string",
  136. "required": true,
  137. "default": ""
  138. }
  139. },
  140. {
  141. "variable": "domain_address",
  142. "label": "Domain Address",
  143. "description": "External IP address or the DDNS you configured and the port you opened on your router</br>\nExample: example.com:28967\n",
  144. "schema": {
  145. "type": "string",
  146. "required": true,
  147. "default": ""
  148. }
  149. },
  150. {
  151. "variable": "wallets",
  152. "label": "Opt-in to Additional Wallets",
  153. "schema": {
  154. "type": "list",
  155. "items": [
  156. {
  157. "variable": "wallet_entry",
  158. "label": "Additional Wallet",
  159. "description": "The wallet to use for the storage.",
  160. "schema": {
  161. "type": "string",
  162. "enum": [
  163. {
  164. "value": "zksync",
  165. "description": "zkSync (Appends 'zksync' to --operator.wallet-features)"
  166. },
  167. {
  168. "value": "zksync-era",
  169. "description": "zkSync Era (Appends 'zksync-era' to --operator.wallet-features)"
  170. }
  171. ]
  172. }
  173. }
  174. ]
  175. }
  176. },
  177. {
  178. "variable": "additional_envs",
  179. "label": "Additional Environment Variables",
  180. "schema": {
  181. "type": "list",
  182. "default": [],
  183. "items": [
  184. {
  185. "variable": "env",
  186. "label": "Environment Variable",
  187. "schema": {
  188. "type": "dict",
  189. "attrs": [
  190. {
  191. "variable": "name",
  192. "label": "Name",
  193. "schema": {
  194. "type": "string",
  195. "required": true
  196. }
  197. },
  198. {
  199. "variable": "value",
  200. "label": "Value",
  201. "schema": {
  202. "type": "string"
  203. }
  204. }
  205. ]
  206. }
  207. }
  208. ]
  209. }
  210. }
  211. ]
  212. }
  213. },
  214. {
  215. "variable": "run_as",
  216. "label": "",
  217. "group": "User and Group Configuration",
  218. "schema": {
  219. "type": "dict",
  220. "attrs": [
  221. {
  222. "variable": "user",
  223. "label": "User ID",
  224. "description": "The user id that Storj files will be owned by.",
  225. "schema": {
  226. "type": "int",
  227. "min": 568,
  228. "default": 568,
  229. "required": true
  230. }
  231. },
  232. {
  233. "variable": "group",
  234. "label": "Group ID",
  235. "description": "The group id that Storj files will be owned by.",
  236. "schema": {
  237. "type": "int",
  238. "min": 568,
  239. "default": 568,
  240. "required": true
  241. }
  242. }
  243. ]
  244. }
  245. },
  246. {
  247. "variable": "network",
  248. "label": "",
  249. "group": "Network Configuration",
  250. "schema": {
  251. "type": "dict",
  252. "attrs": [
  253. {
  254. "variable": "web_port",
  255. "label": "WebUI Port",
  256. "schema": {
  257. "type": "dict",
  258. "show_if": [
  259. [
  260. "host_network",
  261. "=",
  262. false
  263. ]
  264. ],
  265. "attrs": [
  266. {
  267. "variable": "bind_mode",
  268. "label": "Port Bind Mode",
  269. "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
  270. "schema": {
  271. "type": "string",
  272. "default": "published",
  273. "enum": [
  274. {
  275. "value": "published",
  276. "description": "Publish port on the host for external access"
  277. },
  278. {
  279. "value": "exposed",
  280. "description": "Expose port for inter-container communication"
  281. },
  282. {
  283. "value": "",
  284. "description": "None"
  285. }
  286. ]
  287. }
  288. },
  289. {
  290. "variable": "port_number",
  291. "label": "Port Number",
  292. "schema": {
  293. "type": "int",
  294. "show_if": [
  295. [
  296. "bind_mode",
  297. "=",
  298. "published"
  299. ]
  300. ],
  301. "default": 20909,
  302. "min": 1,
  303. "max": 65535,
  304. "required": true
  305. }
  306. },
  307. {
  308. "variable": "host_ips",
  309. "label": "Host IPs",
  310. "description": "IPs on the host to bind this port",
  311. "schema": {
  312. "type": "list",
  313. "show_if": [
  314. [
  315. "bind_mode",
  316. "=",
  317. "published"
  318. ]
  319. ],
  320. "default": [],
  321. "items": [
  322. {
  323. "variable": "host_ip",
  324. "label": "Host IP",
  325. "schema": {
  326. "type": "string",
  327. "required": true,
  328. "$ref": [
  329. "definitions/node_bind_ip"
  330. ]
  331. }
  332. }
  333. ]
  334. }
  335. }
  336. ]
  337. }
  338. },
  339. {
  340. "variable": "p2p_port",
  341. "label": "P2P Port",
  342. "description": "This port will be used for both TCP and UDP traffic. </br>\nNote that this port must be open on your firewall and that internal\nStorj port will not be affected by this change, but only the external\n",
  343. "schema": {
  344. "type": "dict",
  345. "show_if": [
  346. [
  347. "host_network",
  348. "=",
  349. false
  350. ]
  351. ],
  352. "attrs": [
  353. {
  354. "variable": "bind_mode",
  355. "label": "Port Bind Mode",
  356. "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
  357. "schema": {
  358. "type": "string",
  359. "default": "published",
  360. "enum": [
  361. {
  362. "value": "published",
  363. "description": "Publish port on the host for external access"
  364. },
  365. {
  366. "value": "exposed",
  367. "description": "Expose port for inter-container communication"
  368. },
  369. {
  370. "value": "",
  371. "description": "None"
  372. }
  373. ]
  374. }
  375. },
  376. {
  377. "variable": "port_number",
  378. "label": "Port Number",
  379. "schema": {
  380. "type": "int",
  381. "show_if": [
  382. [
  383. "bind_mode",
  384. "=",
  385. "published"
  386. ]
  387. ],
  388. "default": 28967,
  389. "min": 1,
  390. "max": 65535,
  391. "required": true
  392. }
  393. },
  394. {
  395. "variable": "host_ips",
  396. "label": "Host IPs",
  397. "description": "IPs on the host to bind this port",
  398. "schema": {
  399. "type": "list",
  400. "show_if": [
  401. [
  402. "bind_mode",
  403. "=",
  404. "published"
  405. ]
  406. ],
  407. "default": [],
  408. "items": [
  409. {
  410. "variable": "host_ip",
  411. "label": "Host IP",
  412. "schema": {
  413. "type": "string",
  414. "required": true,
  415. "$ref": [
  416. "definitions/node_bind_ip"
  417. ]
  418. }
  419. }
  420. ]
  421. }
  422. }
  423. ]
  424. }
  425. },
  426. {
  427. "variable": "host_network",
  428. "label": "Host Network",
  429. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  430. "schema": {
  431. "type": "boolean",
  432. "default": false
  433. }
  434. },
  435. {
  436. "variable": "dns_opts",
  437. "label": "DNS Options",
  438. "description": "DNS options for the container.</br>\nFormat: key:value</br>\nExample: attempts:3\n",
  439. "schema": {
  440. "type": "list",
  441. "default": [],
  442. "items": [
  443. {
  444. "variable": "option",
  445. "label": "Option",
  446. "schema": {
  447. "type": "string",
  448. "required": true
  449. }
  450. }
  451. ]
  452. }
  453. }
  454. ]
  455. }
  456. },
  457. {
  458. "variable": "storage",
  459. "label": "",
  460. "group": "Storage Configuration",
  461. "schema": {
  462. "type": "dict",
  463. "attrs": [
  464. {
  465. "variable": "identity",
  466. "label": "Storj Identity Storage",
  467. "description": "The path to store Storj Identity.",
  468. "schema": {
  469. "type": "dict",
  470. "attrs": [
  471. {
  472. "variable": "type",
  473. "label": "Type",
  474. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  475. "schema": {
  476. "type": "string",
  477. "required": true,
  478. "default": "ix_volume",
  479. "enum": [
  480. {
  481. "value": "host_path",
  482. "description": "Host Path (Path that already exists on the system)"
  483. },
  484. {
  485. "value": "ix_volume",
  486. "description": "ixVolume (Dataset created automatically by the system)"
  487. }
  488. ]
  489. }
  490. },
  491. {
  492. "variable": "ix_volume_config",
  493. "label": "ixVolume Configuration",
  494. "description": "The configuration for the ixVolume dataset.",
  495. "schema": {
  496. "type": "dict",
  497. "show_if": [
  498. [
  499. "type",
  500. "=",
  501. "ix_volume"
  502. ]
  503. ],
  504. "$ref": [
  505. "normalize/ix_volume"
  506. ],
  507. "attrs": [
  508. {
  509. "variable": "acl_enable",
  510. "label": "Enable ACL",
  511. "description": "Enable ACL for the storage.",
  512. "schema": {
  513. "type": "boolean",
  514. "default": false
  515. }
  516. },
  517. {
  518. "variable": "dataset_name",
  519. "label": "Dataset Name",
  520. "description": "The name of the dataset to use for storage.",
  521. "schema": {
  522. "type": "string",
  523. "required": true,
  524. "hidden": true,
  525. "default": "identity"
  526. }
  527. },
  528. {
  529. "variable": "acl_entries",
  530. "label": "ACL Configuration",
  531. "schema": {
  532. "type": "dict",
  533. "show_if": [
  534. [
  535. "acl_enable",
  536. "=",
  537. true
  538. ]
  539. ],
  540. "attrs": []
  541. }
  542. }
  543. ]
  544. }
  545. },
  546. {
  547. "variable": "host_path_config",
  548. "label": "Host Path Configuration",
  549. "schema": {
  550. "type": "dict",
  551. "show_if": [
  552. [
  553. "type",
  554. "=",
  555. "host_path"
  556. ]
  557. ],
  558. "attrs": [
  559. {
  560. "variable": "acl_enable",
  561. "label": "Enable ACL",
  562. "description": "Enable ACL for the storage.",
  563. "schema": {
  564. "type": "boolean",
  565. "default": false
  566. }
  567. },
  568. {
  569. "variable": "acl",
  570. "label": "ACL Configuration",
  571. "schema": {
  572. "type": "dict",
  573. "show_if": [
  574. [
  575. "acl_enable",
  576. "=",
  577. true
  578. ]
  579. ],
  580. "attrs": [],
  581. "$ref": [
  582. "normalize/acl"
  583. ]
  584. }
  585. },
  586. {
  587. "variable": "path",
  588. "label": "Host Path",
  589. "description": "The host path to use for storage.",
  590. "schema": {
  591. "type": "hostpath",
  592. "show_if": [
  593. [
  594. "acl_enable",
  595. "=",
  596. false
  597. ]
  598. ],
  599. "required": true
  600. }
  601. }
  602. ]
  603. }
  604. }
  605. ]
  606. }
  607. },
  608. {
  609. "variable": "data",
  610. "label": "Storj Data Storage",
  611. "description": "The path to store Storj Data.",
  612. "schema": {
  613. "type": "dict",
  614. "attrs": [
  615. {
  616. "variable": "type",
  617. "label": "Type",
  618. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  619. "schema": {
  620. "type": "string",
  621. "required": true,
  622. "default": "ix_volume",
  623. "enum": [
  624. {
  625. "value": "host_path",
  626. "description": "Host Path (Path that already exists on the system)"
  627. },
  628. {
  629. "value": "ix_volume",
  630. "description": "ixVolume (Dataset created automatically by the system)"
  631. }
  632. ]
  633. }
  634. },
  635. {
  636. "variable": "ix_volume_config",
  637. "label": "ixVolume Configuration",
  638. "description": "The configuration for the ixVolume dataset.",
  639. "schema": {
  640. "type": "dict",
  641. "show_if": [
  642. [
  643. "type",
  644. "=",
  645. "ix_volume"
  646. ]
  647. ],
  648. "$ref": [
  649. "normalize/ix_volume"
  650. ],
  651. "attrs": [
  652. {
  653. "variable": "acl_enable",
  654. "label": "Enable ACL",
  655. "description": "Enable ACL for the storage.",
  656. "schema": {
  657. "type": "boolean",
  658. "default": false
  659. }
  660. },
  661. {
  662. "variable": "dataset_name",
  663. "label": "Dataset Name",
  664. "description": "The name of the dataset to use for storage.",
  665. "schema": {
  666. "type": "string",
  667. "required": true,
  668. "hidden": true,
  669. "default": "data"
  670. }
  671. },
  672. {
  673. "variable": "acl_entries",
  674. "label": "ACL Configuration",
  675. "schema": {
  676. "type": "dict",
  677. "show_if": [
  678. [
  679. "acl_enable",
  680. "=",
  681. true
  682. ]
  683. ],
  684. "attrs": []
  685. }
  686. }
  687. ]
  688. }
  689. },
  690. {
  691. "variable": "host_path_config",
  692. "label": "Host Path Configuration",
  693. "schema": {
  694. "type": "dict",
  695. "show_if": [
  696. [
  697. "type",
  698. "=",
  699. "host_path"
  700. ]
  701. ],
  702. "attrs": [
  703. {
  704. "variable": "acl_enable",
  705. "label": "Enable ACL",
  706. "description": "Enable ACL for the storage.",
  707. "schema": {
  708. "type": "boolean",
  709. "default": false
  710. }
  711. },
  712. {
  713. "variable": "acl",
  714. "label": "ACL Configuration",
  715. "schema": {
  716. "type": "dict",
  717. "show_if": [
  718. [
  719. "acl_enable",
  720. "=",
  721. true
  722. ]
  723. ],
  724. "attrs": [],
  725. "$ref": [
  726. "normalize/acl"
  727. ]
  728. }
  729. },
  730. {
  731. "variable": "path",
  732. "label": "Host Path",
  733. "description": "The host path to use for storage.",
  734. "schema": {
  735. "type": "hostpath",
  736. "show_if": [
  737. [
  738. "acl_enable",
  739. "=",
  740. false
  741. ]
  742. ],
  743. "required": true
  744. }
  745. }
  746. ]
  747. }
  748. }
  749. ]
  750. }
  751. },
  752. {
  753. "variable": "additional_storage",
  754. "label": "Additional Storage",
  755. "schema": {
  756. "type": "list",
  757. "default": [],
  758. "items": [
  759. {
  760. "variable": "storageEntry",
  761. "label": "Storage Entry",
  762. "schema": {
  763. "type": "dict",
  764. "attrs": [
  765. {
  766. "variable": "type",
  767. "label": "Type",
  768. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
  769. "schema": {
  770. "type": "string",
  771. "required": true,
  772. "default": "ix_volume",
  773. "enum": [
  774. {
  775. "value": "host_path",
  776. "description": "Host Path (Path that already exists on the system)"
  777. },
  778. {
  779. "value": "ix_volume",
  780. "description": "ixVolume (Dataset created automatically by the system)"
  781. },
  782. {
  783. "value": "cifs",
  784. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  785. }
  786. ]
  787. }
  788. },
  789. {
  790. "variable": "read_only",
  791. "label": "Read Only",
  792. "description": "Mount the volume as read only.",
  793. "schema": {
  794. "type": "boolean",
  795. "default": false
  796. }
  797. },
  798. {
  799. "variable": "mount_path",
  800. "label": "Mount Path",
  801. "description": "The path inside the container to mount the storage.",
  802. "schema": {
  803. "type": "path",
  804. "required": true
  805. }
  806. },
  807. {
  808. "variable": "host_path_config",
  809. "label": "Host Path Configuration",
  810. "schema": {
  811. "type": "dict",
  812. "show_if": [
  813. [
  814. "type",
  815. "=",
  816. "host_path"
  817. ]
  818. ],
  819. "attrs": [
  820. {
  821. "variable": "acl_enable",
  822. "label": "Enable ACL",
  823. "description": "Enable ACL for the storage.",
  824. "schema": {
  825. "type": "boolean",
  826. "default": false
  827. }
  828. },
  829. {
  830. "variable": "acl",
  831. "label": "ACL Configuration",
  832. "schema": {
  833. "type": "dict",
  834. "show_if": [
  835. [
  836. "acl_enable",
  837. "=",
  838. true
  839. ]
  840. ],
  841. "attrs": [],
  842. "$ref": [
  843. "normalize/acl"
  844. ]
  845. }
  846. },
  847. {
  848. "variable": "path",
  849. "label": "Host Path",
  850. "description": "The host path to use for storage.",
  851. "schema": {
  852. "type": "hostpath",
  853. "show_if": [
  854. [
  855. "acl_enable",
  856. "=",
  857. false
  858. ]
  859. ],
  860. "required": true
  861. }
  862. }
  863. ]
  864. }
  865. },
  866. {
  867. "variable": "ix_volume_config",
  868. "label": "ixVolume Configuration",
  869. "description": "The configuration for the ixVolume dataset.",
  870. "schema": {
  871. "type": "dict",
  872. "show_if": [
  873. [
  874. "type",
  875. "=",
  876. "ix_volume"
  877. ]
  878. ],
  879. "$ref": [
  880. "normalize/ix_volume"
  881. ],
  882. "attrs": [
  883. {
  884. "variable": "acl_enable",
  885. "label": "Enable ACL",
  886. "description": "Enable ACL for the storage.",
  887. "schema": {
  888. "type": "boolean",
  889. "default": false
  890. }
  891. },
  892. {
  893. "variable": "dataset_name",
  894. "label": "Dataset Name",
  895. "description": "The name of the dataset to use for storage.",
  896. "schema": {
  897. "type": "string",
  898. "required": true,
  899. "default": "storage_entry"
  900. }
  901. },
  902. {
  903. "variable": "acl_entries",
  904. "label": "ACL Configuration",
  905. "schema": {
  906. "type": "dict",
  907. "show_if": [
  908. [
  909. "acl_enable",
  910. "=",
  911. true
  912. ]
  913. ],
  914. "attrs": [],
  915. "$ref": [
  916. "normalize/acl"
  917. ]
  918. }
  919. }
  920. ]
  921. }
  922. },
  923. {
  924. "variable": "cifs_config",
  925. "label": "SMB Configuration",
  926. "description": "The configuration for the SMB dataset.",
  927. "schema": {
  928. "type": "dict",
  929. "show_if": [
  930. [
  931. "type",
  932. "=",
  933. "cifs"
  934. ]
  935. ],
  936. "attrs": [
  937. {
  938. "variable": "server",
  939. "label": "Server",
  940. "description": "The server to mount the SMB share.",
  941. "schema": {
  942. "type": "string",
  943. "required": true
  944. }
  945. },
  946. {
  947. "variable": "path",
  948. "label": "Path",
  949. "description": "The path to mount the SMB share.",
  950. "schema": {
  951. "type": "string",
  952. "required": true
  953. }
  954. },
  955. {
  956. "variable": "username",
  957. "label": "Username",
  958. "description": "The username to use for the SMB share.",
  959. "schema": {
  960. "type": "string",
  961. "required": true
  962. }
  963. },
  964. {
  965. "variable": "password",
  966. "label": "Password",
  967. "description": "The password to use for the SMB share.",
  968. "schema": {
  969. "type": "string",
  970. "required": true,
  971. "private": true
  972. }
  973. },
  974. {
  975. "variable": "domain",
  976. "label": "Domain",
  977. "description": "The domain to use for the SMB share.",
  978. "schema": {
  979. "type": "string"
  980. }
  981. }
  982. ]
  983. }
  984. }
  985. ]
  986. }
  987. }
  988. ]
  989. }
  990. }
  991. ]
  992. }
  993. },
  994. {
  995. "variable": "labels",
  996. "label": "",
  997. "group": "Labels Configuration",
  998. "schema": {
  999. "type": "list",
  1000. "default": [],
  1001. "items": [
  1002. {
  1003. "variable": "label",
  1004. "label": "Label",
  1005. "schema": {
  1006. "type": "dict",
  1007. "attrs": [
  1008. {
  1009. "variable": "key",
  1010. "label": "Key",
  1011. "schema": {
  1012. "type": "string",
  1013. "required": true
  1014. }
  1015. },
  1016. {
  1017. "variable": "value",
  1018. "label": "Value",
  1019. "schema": {
  1020. "type": "string",
  1021. "required": true
  1022. }
  1023. },
  1024. {
  1025. "variable": "containers",
  1026. "label": "Containers",
  1027. "description": "Containers where the label should be applied",
  1028. "schema": {
  1029. "type": "list",
  1030. "items": [
  1031. {
  1032. "variable": "container",
  1033. "label": "Container",
  1034. "schema": {
  1035. "type": "string",
  1036. "required": true,
  1037. "enum": [
  1038. {
  1039. "value": "storj",
  1040. "description": "storj"
  1041. }
  1042. ]
  1043. }
  1044. }
  1045. ]
  1046. }
  1047. }
  1048. ]
  1049. }
  1050. }
  1051. ]
  1052. }
  1053. },
  1054. {
  1055. "variable": "resources",
  1056. "label": "",
  1057. "group": "Resources Configuration",
  1058. "schema": {
  1059. "type": "dict",
  1060. "attrs": [
  1061. {
  1062. "variable": "limits",
  1063. "label": "Limits",
  1064. "schema": {
  1065. "type": "dict",
  1066. "attrs": [
  1067. {
  1068. "variable": "cpus",
  1069. "label": "CPUs",
  1070. "description": "CPUs limit for Storj.",
  1071. "schema": {
  1072. "type": "int",
  1073. "default": 2,
  1074. "required": true
  1075. }
  1076. },
  1077. {
  1078. "variable": "memory",
  1079. "label": "Memory (in MB)",
  1080. "description": "Memory limit for Storj.",
  1081. "schema": {
  1082. "type": "int",
  1083. "default": 4096,
  1084. "required": true
  1085. }
  1086. }
  1087. ]
  1088. }
  1089. }
  1090. ]
  1091. }
  1092. }
  1093. ]
  1094. },
  1095. "readme": "<h1>Storj</h1> <p><a href=\"https://storj.io/\">Storj</a> - a Storj Storage Node, which is a part of the decentralized cloud storage network Storj.</p>",
  1096. "changelog": null,
  1097. "chart_metadata": {
  1098. "annotations": {
  1099. "min_scale_version": "24.10.2.2"
  1100. },
  1101. "app_version": "6f87ea801-v1.71.2-go1.18.8",
  1102. "capabilities": [],
  1103. "categories": [
  1104. "storage"
  1105. ],
  1106. "changelog_url": "https://forum.storj.io/tag/official-changelog",
  1107. "date_added": "2024-09-02",
  1108. "description": "Share your storage on the internet and earn.",
  1109. "home": "https://www.storj.io",
  1110. "host_mounts": [],
  1111. "icon": "https://media.sys.truenas.net/apps/storj/icons/icon.svg",
  1112. "keywords": [
  1113. "storage",
  1114. "networking",
  1115. "financial",
  1116. "file-sharing"
  1117. ],
  1118. "lib_version": "2.1.49",
  1119. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1120. "maintainers": [
  1121. {
  1122. "email": "dev@ixsystems.com",
  1123. "name": "truenas",
  1124. "url": "https://www.truenas.com/"
  1125. }
  1126. ],
  1127. "name": "storj",
  1128. "run_as_context": [
  1129. {
  1130. "description": "Storj runs as any non-root user.",
  1131. "gid": 568,
  1132. "group_name": "storj",
  1133. "uid": 568,
  1134. "user_name": "storj"
  1135. }
  1136. ],
  1137. "screenshots": [
  1138. "https://media.sys.truenas.net/apps/storj/screenshots/screenshot1.jpeg"
  1139. ],
  1140. "sources": [
  1141. "https://www.storj.io"
  1142. ],
  1143. "title": "Storj",
  1144. "train": "stable",
  1145. "version": "1.3.9"
  1146. }
  1147. }
  1148. }