app_versions.json 76 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232
  1. {
  2. "1.1.14": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/enterprise/asigra-ds-system/1.1.14",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "14.2.0.9_1.1.14",
  10. "version": "1.1.14",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "14.2.0.9",
  16. "capabilities": [
  17. {
  18. "description": "DS System is able to change file ownership arbitrarily",
  19. "name": "CHOWN"
  20. },
  21. {
  22. "description": "DS System is able to bypass file permission checks",
  23. "name": "DAC_OVERRIDE"
  24. },
  25. {
  26. "description": "DS System is able to bypass permission checks for file operations",
  27. "name": "FOWNER"
  28. }
  29. ],
  30. "categories": [
  31. "storage"
  32. ],
  33. "date_added": "2024-10-25",
  34. "description": "DS-System software enables you to offer a robust, scalable service to multiple customers. Ease of use comes from the agentless architecture: customers only need to install the DS-Client on one LAN computer, thereby eliminating the need to install software on each target backup / restore computer",
  35. "home": "https://hub.docker.com/r/asigra/ds-system",
  36. "host_mounts": [],
  37. "icon": "https://media.sys.truenas.net/apps/asigra-ds-system/icons/icon.png",
  38. "keywords": [
  39. "backup",
  40. "restore",
  41. "asigra"
  42. ],
  43. "lib_version": "2.1.49",
  44. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  45. "maintainers": [
  46. {
  47. "email": "dev@ixsystems.com",
  48. "name": "truenas",
  49. "url": "https://www.truenas.com/"
  50. }
  51. ],
  52. "name": "asigra-ds-system",
  53. "run_as_context": [
  54. {
  55. "description": "Asigra DS-System runs as root user.",
  56. "gid": 0,
  57. "group_name": "root",
  58. "uid": 0,
  59. "user_name": "root"
  60. },
  61. {
  62. "description": "Postgres runs as non-root user.",
  63. "gid": 999,
  64. "group_name": "postgres",
  65. "uid": 999,
  66. "user_name": "postgres"
  67. },
  68. {
  69. "description": "HAProxy runs as non-root user.",
  70. "gid": 568,
  71. "group_name": "haproxy",
  72. "uid": 568,
  73. "user_name": "haproxy"
  74. }
  75. ],
  76. "screenshots": [],
  77. "sources": [
  78. "https://hub.docker.com/r/asigra/ds-system"
  79. ],
  80. "title": "Asigra DS-System",
  81. "train": "enterprise",
  82. "version": "1.1.14"
  83. },
  84. "schema": {
  85. "groups": [
  86. {
  87. "name": "Asigra DS-System Configuration",
  88. "description": "Configure Asigra DS-System"
  89. },
  90. {
  91. "name": "Network Configuration",
  92. "description": "Configure Network for Asigra DS-System"
  93. },
  94. {
  95. "name": "Storage Configuration",
  96. "description": "Configure Storage for Asigra DS-System"
  97. },
  98. {
  99. "name": "Resources Configuration",
  100. "description": "Configure Resources for Asigra DS-System"
  101. }
  102. ],
  103. "questions": [
  104. {
  105. "variable": "TZ",
  106. "group": "Asigra DS-System Configuration",
  107. "label": "Timezone",
  108. "schema": {
  109. "type": "string",
  110. "default": "Etc/UTC",
  111. "required": true,
  112. "$ref": [
  113. "definitions/timezone"
  114. ]
  115. }
  116. },
  117. {
  118. "variable": "asigra",
  119. "label": "",
  120. "group": "Asigra DS-System Configuration",
  121. "schema": {
  122. "type": "dict",
  123. "attrs": [
  124. {
  125. "variable": "db_password",
  126. "label": "Database Password",
  127. "description": "The password for Asigra DS-System.",
  128. "schema": {
  129. "type": "string",
  130. "default": "",
  131. "required": true,
  132. "private": true
  133. }
  134. },
  135. {
  136. "variable": "admin_password",
  137. "label": "Root Password",
  138. "description": "The root password.",
  139. "schema": {
  140. "type": "string",
  141. "default": "",
  142. "required": true,
  143. "private": true
  144. }
  145. },
  146. {
  147. "variable": "operator_password",
  148. "label": "Operator Password",
  149. "description": "The password for the DS-Operator Interface.",
  150. "schema": {
  151. "type": "string",
  152. "default": "",
  153. "required": true,
  154. "private": true
  155. }
  156. },
  157. {
  158. "variable": "language",
  159. "label": "Language",
  160. "description": "The language for the DS-Operator.",
  161. "schema": {
  162. "type": "string",
  163. "default": "en",
  164. "required": true
  165. }
  166. },
  167. {
  168. "variable": "enable_cluster",
  169. "label": "Enable Cluster",
  170. "description": "Enable clustering for Asigra DS-System.",
  171. "schema": {
  172. "type": "boolean",
  173. "default": true
  174. }
  175. },
  176. {
  177. "variable": "cluster_size",
  178. "label": "Cluster Size",
  179. "description": "The number of nodes in the cluster.",
  180. "schema": {
  181. "show_if": [
  182. [
  183. "enable_cluster",
  184. "=",
  185. true
  186. ]
  187. ],
  188. "type": "int",
  189. "default": 5,
  190. "min": 3,
  191. "max": 16,
  192. "required": true
  193. }
  194. },
  195. {
  196. "variable": "additional_envs",
  197. "label": "Additional Environment Variables",
  198. "schema": {
  199. "type": "list",
  200. "default": [],
  201. "items": [
  202. {
  203. "variable": "env",
  204. "label": "Environment Variable",
  205. "schema": {
  206. "type": "dict",
  207. "attrs": [
  208. {
  209. "variable": "name",
  210. "label": "Name",
  211. "schema": {
  212. "type": "string",
  213. "required": true
  214. }
  215. },
  216. {
  217. "variable": "value",
  218. "label": "Value",
  219. "schema": {
  220. "type": "string"
  221. }
  222. }
  223. ]
  224. }
  225. }
  226. ]
  227. }
  228. }
  229. ]
  230. }
  231. },
  232. {
  233. "variable": "network",
  234. "label": "",
  235. "group": "Network Configuration",
  236. "schema": {
  237. "type": "dict",
  238. "attrs": [
  239. {
  240. "variable": "client_port",
  241. "label": "DS-Client Port",
  242. "description": "The port on which the DS-Client is exposed.",
  243. "schema": {
  244. "type": "dict",
  245. "attrs": [
  246. {
  247. "variable": "bind_mode",
  248. "label": "Port Bind Mode",
  249. "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",
  250. "schema": {
  251. "type": "string",
  252. "default": "published",
  253. "enum": [
  254. {
  255. "value": "published",
  256. "description": "Publish port on the host for external access"
  257. },
  258. {
  259. "value": "exposed",
  260. "description": "Expose port for inter-container communication"
  261. },
  262. {
  263. "value": "",
  264. "description": "None"
  265. }
  266. ]
  267. }
  268. },
  269. {
  270. "variable": "port_number",
  271. "label": "Port Number",
  272. "schema": {
  273. "type": "int",
  274. "show_if": [
  275. [
  276. "bind_mode",
  277. "=",
  278. "published"
  279. ]
  280. ],
  281. "default": 4401,
  282. "min": 1,
  283. "max": 65535,
  284. "required": true
  285. }
  286. },
  287. {
  288. "variable": "host_ips",
  289. "label": "Host IPs",
  290. "description": "IPs on the host to bind this port",
  291. "schema": {
  292. "type": "list",
  293. "show_if": [
  294. [
  295. "bind_mode",
  296. "=",
  297. "published"
  298. ]
  299. ],
  300. "default": [],
  301. "items": [
  302. {
  303. "variable": "host_ip",
  304. "label": "Host IP",
  305. "schema": {
  306. "type": "string",
  307. "required": true,
  308. "$ref": [
  309. "definitions/node_bind_ip"
  310. ]
  311. }
  312. }
  313. ]
  314. }
  315. }
  316. ]
  317. }
  318. },
  319. {
  320. "variable": "admin_port",
  321. "label": "DS-Operator Admin Port",
  322. "description": "The port on which the DS-Operator admin interface is exposed.",
  323. "schema": {
  324. "type": "dict",
  325. "attrs": [
  326. {
  327. "variable": "bind_mode",
  328. "label": "Port Bind Mode",
  329. "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",
  330. "schema": {
  331. "type": "string",
  332. "default": "published",
  333. "enum": [
  334. {
  335. "value": "published",
  336. "description": "Publish port on the host for external access"
  337. },
  338. {
  339. "value": "exposed",
  340. "description": "Expose port for inter-container communication"
  341. },
  342. {
  343. "value": "",
  344. "description": "None"
  345. }
  346. ]
  347. }
  348. },
  349. {
  350. "variable": "port_number",
  351. "label": "Port Number",
  352. "schema": {
  353. "type": "int",
  354. "show_if": [
  355. [
  356. "bind_mode",
  357. "=",
  358. "published"
  359. ]
  360. ],
  361. "default": 4404,
  362. "min": 1,
  363. "max": 65535,
  364. "required": true
  365. }
  366. },
  367. {
  368. "variable": "host_ips",
  369. "label": "Host IPs",
  370. "description": "IPs on the host to bind this port",
  371. "schema": {
  372. "type": "list",
  373. "show_if": [
  374. [
  375. "bind_mode",
  376. "=",
  377. "published"
  378. ]
  379. ],
  380. "default": [],
  381. "items": [
  382. {
  383. "variable": "host_ip",
  384. "label": "Host IP",
  385. "schema": {
  386. "type": "string",
  387. "required": true,
  388. "$ref": [
  389. "definitions/node_bind_ip"
  390. ]
  391. }
  392. }
  393. ]
  394. }
  395. }
  396. ]
  397. }
  398. },
  399. {
  400. "variable": "replication_port",
  401. "label": "DS-System Replication Port",
  402. "description": "The port on which the DS-System replication interface is exposed.",
  403. "schema": {
  404. "type": "dict",
  405. "attrs": [
  406. {
  407. "variable": "bind_mode",
  408. "label": "Port Bind Mode",
  409. "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",
  410. "schema": {
  411. "type": "string",
  412. "default": "published",
  413. "enum": [
  414. {
  415. "value": "published",
  416. "description": "Publish port on the host for external access"
  417. },
  418. {
  419. "value": "exposed",
  420. "description": "Expose port for inter-container communication"
  421. },
  422. {
  423. "value": "",
  424. "description": "None"
  425. }
  426. ]
  427. }
  428. },
  429. {
  430. "variable": "port_number",
  431. "label": "Port Number",
  432. "schema": {
  433. "type": "int",
  434. "show_if": [
  435. [
  436. "bind_mode",
  437. "=",
  438. "published"
  439. ]
  440. ],
  441. "default": 4409,
  442. "min": 1,
  443. "max": 65535,
  444. "required": true
  445. }
  446. },
  447. {
  448. "variable": "host_ips",
  449. "label": "Host IPs",
  450. "description": "IPs on the host to bind this port",
  451. "schema": {
  452. "type": "list",
  453. "show_if": [
  454. [
  455. "bind_mode",
  456. "=",
  457. "published"
  458. ]
  459. ],
  460. "default": [],
  461. "items": [
  462. {
  463. "variable": "host_ip",
  464. "label": "Host IP",
  465. "schema": {
  466. "type": "string",
  467. "required": true,
  468. "$ref": [
  469. "definitions/node_bind_ip"
  470. ]
  471. }
  472. }
  473. ]
  474. }
  475. }
  476. ]
  477. }
  478. },
  479. {
  480. "variable": "billing_port",
  481. "label": "DS-System Billing Port",
  482. "description": "The port on which the DS-System billing interface is exposed.",
  483. "schema": {
  484. "type": "dict",
  485. "attrs": [
  486. {
  487. "variable": "bind_mode",
  488. "label": "Port Bind Mode",
  489. "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",
  490. "schema": {
  491. "type": "string",
  492. "default": "published",
  493. "enum": [
  494. {
  495. "value": "published",
  496. "description": "Publish port on the host for external access"
  497. },
  498. {
  499. "value": "exposed",
  500. "description": "Expose port for inter-container communication"
  501. },
  502. {
  503. "value": "",
  504. "description": "None"
  505. }
  506. ]
  507. }
  508. },
  509. {
  510. "variable": "port_number",
  511. "label": "Port Number",
  512. "schema": {
  513. "type": "int",
  514. "default": 4415,
  515. "show_if": [
  516. [
  517. "bind_mode",
  518. "=",
  519. "published"
  520. ]
  521. ],
  522. "min": 1,
  523. "max": 65535,
  524. "required": true
  525. }
  526. },
  527. {
  528. "variable": "host_ips",
  529. "label": "Host IPs",
  530. "description": "IPs on the host to bind this port",
  531. "schema": {
  532. "type": "list",
  533. "show_if": [
  534. [
  535. "bind_mode",
  536. "=",
  537. "published"
  538. ]
  539. ],
  540. "default": [],
  541. "items": [
  542. {
  543. "variable": "host_ip",
  544. "label": "Host IP",
  545. "schema": {
  546. "type": "string",
  547. "required": true,
  548. "$ref": [
  549. "definitions/node_bind_ip"
  550. ]
  551. }
  552. }
  553. ]
  554. }
  555. }
  556. ]
  557. }
  558. }
  559. ]
  560. }
  561. },
  562. {
  563. "variable": "storage",
  564. "label": "",
  565. "group": "Storage Configuration",
  566. "schema": {
  567. "type": "dict",
  568. "attrs": [
  569. {
  570. "variable": "data",
  571. "label": "Asigra DS-System Data Storage",
  572. "description": "The path to store Asigra DS-System Data.",
  573. "schema": {
  574. "type": "dict",
  575. "attrs": [
  576. {
  577. "variable": "type",
  578. "label": "Type",
  579. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  580. "schema": {
  581. "type": "string",
  582. "required": true,
  583. "default": "ix_volume",
  584. "enum": [
  585. {
  586. "value": "host_path",
  587. "description": "Host Path (Path that already exists on the system)"
  588. },
  589. {
  590. "value": "ix_volume",
  591. "description": "ixVolume (Dataset created automatically by the system)"
  592. }
  593. ]
  594. }
  595. },
  596. {
  597. "variable": "ix_volume_config",
  598. "label": "ixVolume Configuration",
  599. "description": "The configuration for the ixVolume dataset.",
  600. "schema": {
  601. "type": "dict",
  602. "show_if": [
  603. [
  604. "type",
  605. "=",
  606. "ix_volume"
  607. ]
  608. ],
  609. "$ref": [
  610. "normalize/ix_volume"
  611. ],
  612. "attrs": [
  613. {
  614. "variable": "acl_enable",
  615. "label": "Enable ACL",
  616. "description": "Enable ACL for the storage.",
  617. "schema": {
  618. "type": "boolean",
  619. "default": false
  620. }
  621. },
  622. {
  623. "variable": "dataset_name",
  624. "label": "Dataset Name",
  625. "description": "The name of the dataset to use for storage.",
  626. "schema": {
  627. "type": "string",
  628. "required": true,
  629. "hidden": true,
  630. "default": "data"
  631. }
  632. },
  633. {
  634. "variable": "acl_entries",
  635. "label": "ACL Configuration",
  636. "schema": {
  637. "type": "dict",
  638. "show_if": [
  639. [
  640. "acl_enable",
  641. "=",
  642. true
  643. ]
  644. ],
  645. "attrs": []
  646. }
  647. }
  648. ]
  649. }
  650. },
  651. {
  652. "variable": "host_path_config",
  653. "label": "Host Path Configuration",
  654. "schema": {
  655. "type": "dict",
  656. "show_if": [
  657. [
  658. "type",
  659. "=",
  660. "host_path"
  661. ]
  662. ],
  663. "attrs": [
  664. {
  665. "variable": "acl_enable",
  666. "label": "Enable ACL",
  667. "description": "Enable ACL for the storage.",
  668. "schema": {
  669. "type": "boolean",
  670. "default": false
  671. }
  672. },
  673. {
  674. "variable": "acl",
  675. "label": "ACL Configuration",
  676. "schema": {
  677. "type": "dict",
  678. "show_if": [
  679. [
  680. "acl_enable",
  681. "=",
  682. true
  683. ]
  684. ],
  685. "attrs": [],
  686. "$ref": [
  687. "normalize/acl"
  688. ]
  689. }
  690. },
  691. {
  692. "variable": "path",
  693. "label": "Host Path",
  694. "description": "The host path to use for storage.",
  695. "schema": {
  696. "type": "hostpath",
  697. "show_if": [
  698. [
  699. "acl_enable",
  700. "=",
  701. false
  702. ]
  703. ],
  704. "required": true
  705. }
  706. }
  707. ]
  708. }
  709. }
  710. ]
  711. }
  712. },
  713. {
  714. "variable": "postgres_data",
  715. "label": "Asigra DS-System Postgres Data Storage",
  716. "description": "The path to store Asigra DS-System Postgres Data.",
  717. "schema": {
  718. "type": "dict",
  719. "attrs": [
  720. {
  721. "variable": "type",
  722. "label": "Type",
  723. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  724. "schema": {
  725. "type": "string",
  726. "required": true,
  727. "default": "ix_volume",
  728. "enum": [
  729. {
  730. "value": "host_path",
  731. "description": "Host Path (Path that already exists on the system)"
  732. },
  733. {
  734. "value": "ix_volume",
  735. "description": "ixVolume (Dataset created automatically by the system)"
  736. }
  737. ]
  738. }
  739. },
  740. {
  741. "variable": "ix_volume_config",
  742. "label": "ixVolume Configuration",
  743. "description": "The configuration for the ixVolume dataset.",
  744. "schema": {
  745. "type": "dict",
  746. "show_if": [
  747. [
  748. "type",
  749. "=",
  750. "ix_volume"
  751. ]
  752. ],
  753. "$ref": [
  754. "normalize/ix_volume"
  755. ],
  756. "attrs": [
  757. {
  758. "variable": "acl_enable",
  759. "label": "Enable ACL",
  760. "description": "Enable ACL for the storage.",
  761. "schema": {
  762. "type": "boolean",
  763. "default": false
  764. }
  765. },
  766. {
  767. "variable": "dataset_name",
  768. "label": "Dataset Name",
  769. "description": "The name of the dataset to use for storage.",
  770. "schema": {
  771. "type": "string",
  772. "required": true,
  773. "hidden": true,
  774. "default": "postgres_data"
  775. }
  776. },
  777. {
  778. "variable": "acl_entries",
  779. "label": "ACL Configuration",
  780. "schema": {
  781. "type": "dict",
  782. "show_if": [
  783. [
  784. "acl_enable",
  785. "=",
  786. true
  787. ]
  788. ],
  789. "attrs": []
  790. }
  791. }
  792. ]
  793. }
  794. },
  795. {
  796. "variable": "host_path_config",
  797. "label": "Host Path Configuration",
  798. "schema": {
  799. "type": "dict",
  800. "show_if": [
  801. [
  802. "type",
  803. "=",
  804. "host_path"
  805. ]
  806. ],
  807. "attrs": [
  808. {
  809. "variable": "acl_enable",
  810. "label": "Enable ACL",
  811. "description": "Enable ACL for the storage.",
  812. "schema": {
  813. "type": "boolean",
  814. "default": false
  815. }
  816. },
  817. {
  818. "variable": "acl",
  819. "label": "ACL Configuration",
  820. "schema": {
  821. "type": "dict",
  822. "show_if": [
  823. [
  824. "acl_enable",
  825. "=",
  826. true
  827. ]
  828. ],
  829. "attrs": [],
  830. "$ref": [
  831. "normalize/acl"
  832. ]
  833. }
  834. },
  835. {
  836. "variable": "path",
  837. "label": "Host Path",
  838. "description": "The host path to use for storage.",
  839. "schema": {
  840. "type": "hostpath",
  841. "show_if": [
  842. [
  843. "acl_enable",
  844. "=",
  845. false
  846. ]
  847. ],
  848. "required": true
  849. }
  850. },
  851. {
  852. "variable": "auto_permissions",
  853. "label": "Automatic Permissions",
  854. "description": "Automatically set permissions for the host path.\nEnabling this, will check the top level directory,</br>\nIf it finds incorrect permissions, it will `chown` the\nhost path to the user and group required for the\npostgres container.\n",
  855. "schema": {
  856. "type": "boolean",
  857. "default": false,
  858. "show_if": [
  859. [
  860. "acl_enable",
  861. "=",
  862. false
  863. ]
  864. ]
  865. }
  866. }
  867. ]
  868. }
  869. }
  870. ]
  871. }
  872. },
  873. {
  874. "variable": "additional_storage",
  875. "label": "Additional Storage",
  876. "schema": {
  877. "type": "list",
  878. "default": [],
  879. "items": [
  880. {
  881. "variable": "storageEntry",
  882. "label": "Storage Entry",
  883. "schema": {
  884. "type": "dict",
  885. "attrs": [
  886. {
  887. "variable": "type",
  888. "label": "Type",
  889. "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",
  890. "schema": {
  891. "type": "string",
  892. "required": true,
  893. "default": "ix_volume",
  894. "enum": [
  895. {
  896. "value": "host_path",
  897. "description": "Host Path (Path that already exists on the system)"
  898. },
  899. {
  900. "value": "ix_volume",
  901. "description": "ixVolume (Dataset created automatically by the system)"
  902. },
  903. {
  904. "value": "cifs",
  905. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  906. }
  907. ]
  908. }
  909. },
  910. {
  911. "variable": "read_only",
  912. "label": "Read Only",
  913. "description": "Mount the volume as read only.",
  914. "schema": {
  915. "type": "boolean",
  916. "default": false
  917. }
  918. },
  919. {
  920. "variable": "mount_path",
  921. "label": "Mount Path",
  922. "description": "The path inside the container to mount the storage.",
  923. "schema": {
  924. "type": "path",
  925. "required": true
  926. }
  927. },
  928. {
  929. "variable": "host_path_config",
  930. "label": "Host Path Configuration",
  931. "schema": {
  932. "type": "dict",
  933. "show_if": [
  934. [
  935. "type",
  936. "=",
  937. "host_path"
  938. ]
  939. ],
  940. "attrs": [
  941. {
  942. "variable": "acl_enable",
  943. "label": "Enable ACL",
  944. "description": "Enable ACL for the storage.",
  945. "schema": {
  946. "type": "boolean",
  947. "default": false
  948. }
  949. },
  950. {
  951. "variable": "acl",
  952. "label": "ACL Configuration",
  953. "schema": {
  954. "type": "dict",
  955. "show_if": [
  956. [
  957. "acl_enable",
  958. "=",
  959. true
  960. ]
  961. ],
  962. "attrs": [],
  963. "$ref": [
  964. "normalize/acl"
  965. ]
  966. }
  967. },
  968. {
  969. "variable": "path",
  970. "label": "Host Path",
  971. "description": "The host path to use for storage.",
  972. "schema": {
  973. "type": "hostpath",
  974. "show_if": [
  975. [
  976. "acl_enable",
  977. "=",
  978. false
  979. ]
  980. ],
  981. "required": true
  982. }
  983. }
  984. ]
  985. }
  986. },
  987. {
  988. "variable": "ix_volume_config",
  989. "label": "ixVolume Configuration",
  990. "description": "The configuration for the ixVolume dataset.",
  991. "schema": {
  992. "type": "dict",
  993. "show_if": [
  994. [
  995. "type",
  996. "=",
  997. "ix_volume"
  998. ]
  999. ],
  1000. "$ref": [
  1001. "normalize/ix_volume"
  1002. ],
  1003. "attrs": [
  1004. {
  1005. "variable": "acl_enable",
  1006. "label": "Enable ACL",
  1007. "description": "Enable ACL for the storage.",
  1008. "schema": {
  1009. "type": "boolean",
  1010. "default": false
  1011. }
  1012. },
  1013. {
  1014. "variable": "dataset_name",
  1015. "label": "Dataset Name",
  1016. "description": "The name of the dataset to use for storage.",
  1017. "schema": {
  1018. "type": "string",
  1019. "required": true,
  1020. "default": "storage_entry"
  1021. }
  1022. },
  1023. {
  1024. "variable": "acl_entries",
  1025. "label": "ACL Configuration",
  1026. "schema": {
  1027. "type": "dict",
  1028. "show_if": [
  1029. [
  1030. "acl_enable",
  1031. "=",
  1032. true
  1033. ]
  1034. ],
  1035. "attrs": [],
  1036. "$ref": [
  1037. "normalize/acl"
  1038. ]
  1039. }
  1040. }
  1041. ]
  1042. }
  1043. },
  1044. {
  1045. "variable": "cifs_config",
  1046. "label": "SMB Configuration",
  1047. "description": "The configuration for the SMB dataset.",
  1048. "schema": {
  1049. "type": "dict",
  1050. "show_if": [
  1051. [
  1052. "type",
  1053. "=",
  1054. "cifs"
  1055. ]
  1056. ],
  1057. "attrs": [
  1058. {
  1059. "variable": "server",
  1060. "label": "Server",
  1061. "description": "The server to mount the SMB share.",
  1062. "schema": {
  1063. "type": "string",
  1064. "required": true
  1065. }
  1066. },
  1067. {
  1068. "variable": "path",
  1069. "label": "Path",
  1070. "description": "The path to mount the SMB share.",
  1071. "schema": {
  1072. "type": "string",
  1073. "required": true
  1074. }
  1075. },
  1076. {
  1077. "variable": "username",
  1078. "label": "Username",
  1079. "description": "The username to use for the SMB share.",
  1080. "schema": {
  1081. "type": "string",
  1082. "required": true
  1083. }
  1084. },
  1085. {
  1086. "variable": "password",
  1087. "label": "Password",
  1088. "description": "The password to use for the SMB share.",
  1089. "schema": {
  1090. "type": "string",
  1091. "required": true,
  1092. "private": true
  1093. }
  1094. },
  1095. {
  1096. "variable": "domain",
  1097. "label": "Domain",
  1098. "description": "The domain to use for the SMB share.",
  1099. "schema": {
  1100. "type": "string"
  1101. }
  1102. }
  1103. ]
  1104. }
  1105. }
  1106. ]
  1107. }
  1108. }
  1109. ]
  1110. }
  1111. }
  1112. ]
  1113. }
  1114. },
  1115. {
  1116. "variable": "resources",
  1117. "label": "",
  1118. "group": "Resources Configuration",
  1119. "schema": {
  1120. "type": "dict",
  1121. "attrs": [
  1122. {
  1123. "variable": "limits",
  1124. "label": "Limits",
  1125. "schema": {
  1126. "type": "dict",
  1127. "attrs": [
  1128. {
  1129. "variable": "cpus",
  1130. "label": "CPUs",
  1131. "description": "CPUs limit for Asigra DS-System.",
  1132. "schema": {
  1133. "type": "int",
  1134. "default": 2,
  1135. "required": true
  1136. }
  1137. },
  1138. {
  1139. "variable": "memory",
  1140. "label": "Memory (in MB)",
  1141. "description": "Memory limit for Asigra DS-System.",
  1142. "schema": {
  1143. "type": "int",
  1144. "default": 4096,
  1145. "required": true
  1146. }
  1147. }
  1148. ]
  1149. }
  1150. }
  1151. ]
  1152. }
  1153. }
  1154. ]
  1155. },
  1156. "readme": "<h1>Asigra DS-System</h1> <p><a href=\"https://hub.docker.com/r/asigra/ds-system\">Asigra DS-System</a> - DS-System software enables you to offer a robust, scalable service to multiple customers.</p> <p>Ease of use comes from the agentless architecture: customers only need to install the DS-Client on one LAN computer, thereby eliminating the need to install software on each target backup / restore computer. As long as the DS-Client is networked with the target backup / restore computers, you will be able to browse data, back it up, and restore it as required. Customers can take advantage of automatic and unattended backups for data environments ranging from single-user standalone computers up to enterprise-wide LANs and WANs. During backups, the DS-Client extracts changed data, compresses, and encrypts the items specified for backup. Only new or modified data is backed up, thereby accelerating the backup transmission time. The backup data is sent via the Internet, Intranet, or direct dial-up to the secure, off-site Data Center that hosts the DS-System Vault. Restores are performed on demand, via the same DS-Client, once the DS-Client's security measures have been cleared.</p>",
  1157. "changelog": null,
  1158. "chart_metadata": {
  1159. "annotations": {
  1160. "min_scale_version": "24.10.2.2"
  1161. },
  1162. "app_version": "14.2.0.9",
  1163. "capabilities": [
  1164. {
  1165. "description": "DS System is able to change file ownership arbitrarily",
  1166. "name": "CHOWN"
  1167. },
  1168. {
  1169. "description": "DS System is able to bypass file permission checks",
  1170. "name": "DAC_OVERRIDE"
  1171. },
  1172. {
  1173. "description": "DS System is able to bypass permission checks for file operations",
  1174. "name": "FOWNER"
  1175. }
  1176. ],
  1177. "categories": [
  1178. "storage"
  1179. ],
  1180. "date_added": "2024-10-25",
  1181. "description": "DS-System software enables you to offer a robust, scalable service to multiple customers. Ease of use comes from the agentless architecture: customers only need to install the DS-Client on one LAN computer, thereby eliminating the need to install software on each target backup / restore computer",
  1182. "home": "https://hub.docker.com/r/asigra/ds-system",
  1183. "host_mounts": [],
  1184. "icon": "https://media.sys.truenas.net/apps/asigra-ds-system/icons/icon.png",
  1185. "keywords": [
  1186. "backup",
  1187. "restore",
  1188. "asigra"
  1189. ],
  1190. "lib_version": "2.1.49",
  1191. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1192. "maintainers": [
  1193. {
  1194. "email": "dev@ixsystems.com",
  1195. "name": "truenas",
  1196. "url": "https://www.truenas.com/"
  1197. }
  1198. ],
  1199. "name": "asigra-ds-system",
  1200. "run_as_context": [
  1201. {
  1202. "description": "Asigra DS-System runs as root user.",
  1203. "gid": 0,
  1204. "group_name": "root",
  1205. "uid": 0,
  1206. "user_name": "root"
  1207. },
  1208. {
  1209. "description": "Postgres runs as non-root user.",
  1210. "gid": 999,
  1211. "group_name": "postgres",
  1212. "uid": 999,
  1213. "user_name": "postgres"
  1214. },
  1215. {
  1216. "description": "HAProxy runs as non-root user.",
  1217. "gid": 568,
  1218. "group_name": "haproxy",
  1219. "uid": 568,
  1220. "user_name": "haproxy"
  1221. }
  1222. ],
  1223. "screenshots": [],
  1224. "sources": [
  1225. "https://hub.docker.com/r/asigra/ds-system"
  1226. ],
  1227. "title": "Asigra DS-System",
  1228. "train": "enterprise",
  1229. "version": "1.1.14"
  1230. }
  1231. }
  1232. }