app_versions.json 78 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043
  1. {
  2. "1.2.32": {
  3. "healthy": true,
  4. "supported": false,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/autobrr/1.2.32",
  7. "last_update": "2025-03-05 14:27:33",
  8. "required_features": [
  9. "normalize/ixVolume",
  10. "definitions/timezone",
  11. "normalize/acl"
  12. ],
  13. "human_version": "1.59.0_1.2.32",
  14. "version": "1.2.32",
  15. "chart_metadata": {
  16. "name": "autobrr",
  17. "description": "Autobrr is the modern download automation tool for torrents and usenet.",
  18. "annotations": {
  19. "title": "Autobrr"
  20. },
  21. "type": "application",
  22. "version": "1.2.32",
  23. "apiVersion": "v2",
  24. "appVersion": "1.59.0",
  25. "kubeVersion": ">=1.16.0-0",
  26. "maintainers": [
  27. {
  28. "name": "truenas",
  29. "url": "https://www.truenas.com/",
  30. "email": "dev@ixsystems.com"
  31. }
  32. ],
  33. "dependencies": [
  34. {
  35. "name": "common",
  36. "repository": "file://../../../common",
  37. "version": "1.2.9"
  38. }
  39. ],
  40. "home": "https://github.com/autobrr/autobrr",
  41. "icon": "https://media.sys.truenas.net/apps/autobrr/icons/icon.png",
  42. "sources": [
  43. "https://autobrr.com/installation/docker",
  44. "https://github.com/truenas/charts/tree/master/community/autobrr",
  45. "https://github.com/autobrr/autobrr"
  46. ],
  47. "keywords": [
  48. "media",
  49. "torrent",
  50. "usenet"
  51. ]
  52. },
  53. "app_metadata": {
  54. "runAsContext": [
  55. {
  56. "userName": "autobrr",
  57. "groupName": "autobrr",
  58. "gid": 568,
  59. "uid": 568,
  60. "description": "Autobrr can run as any non-root user."
  61. }
  62. ],
  63. "capabilities": [],
  64. "hostMounts": []
  65. },
  66. "schema": {
  67. "groups": [
  68. {
  69. "name": "Autobrr Configuration",
  70. "description": "Configure Autobrr"
  71. },
  72. {
  73. "name": "User and Group Configuration",
  74. "description": "Configure User and Group for Autobrr"
  75. },
  76. {
  77. "name": "Network Configuration",
  78. "description": "Configure Network for Autobrr"
  79. },
  80. {
  81. "name": "Storage Configuration",
  82. "description": "Configure Storage for Autobrr"
  83. },
  84. {
  85. "name": "Resources Configuration",
  86. "description": "Configure Resources for Autobrr"
  87. }
  88. ],
  89. "portals": {
  90. "web_portal": {
  91. "protocols": [
  92. "$kubernetes-resource_configmap_portal_protocol"
  93. ],
  94. "host": [
  95. "$kubernetes-resource_configmap_portal_host"
  96. ],
  97. "ports": [
  98. "$kubernetes-resource_configmap_portal_port"
  99. ],
  100. "path": "$kubernetes-resource_configmap_portal_path"
  101. }
  102. },
  103. "questions": [
  104. {
  105. "variable": "TZ",
  106. "group": "Autobrr Configuration",
  107. "label": "Timezone",
  108. "schema": {
  109. "type": "string",
  110. "default": "America/Los_Angeles",
  111. "required": true,
  112. "$ref": [
  113. "definitions/timezone"
  114. ],
  115. "enum": [
  116. {
  117. "value": "Asia/Damascus",
  118. "description": "'Asia/Damascus' timezone"
  119. },
  120. {
  121. "value": "Asia/Saigon",
  122. "description": "'Asia/Saigon' timezone"
  123. }
  124. ]
  125. }
  126. },
  127. {
  128. "variable": "autobrrConfig",
  129. "label": "",
  130. "group": "Autobrr Configuration",
  131. "schema": {
  132. "type": "dict",
  133. "attrs": [
  134. {
  135. "variable": "additionalEnvs",
  136. "label": "Additional Environment Variables",
  137. "description": "Configure additional environment variables for Autobrr.",
  138. "schema": {
  139. "type": "list",
  140. "default": [],
  141. "items": [
  142. {
  143. "variable": "env",
  144. "label": "Environment Variable",
  145. "schema": {
  146. "type": "dict",
  147. "attrs": [
  148. {
  149. "variable": "name",
  150. "label": "Name",
  151. "schema": {
  152. "type": "string",
  153. "required": true
  154. }
  155. },
  156. {
  157. "variable": "value",
  158. "label": "Value",
  159. "schema": {
  160. "type": "string",
  161. "required": true
  162. }
  163. }
  164. ]
  165. }
  166. }
  167. ]
  168. }
  169. }
  170. ]
  171. }
  172. },
  173. {
  174. "variable": "autobrrRunAs",
  175. "label": "",
  176. "group": "User and Group Configuration",
  177. "schema": {
  178. "type": "dict",
  179. "attrs": [
  180. {
  181. "variable": "user",
  182. "label": "User ID",
  183. "description": "The user id that Autobrr will run as.",
  184. "schema": {
  185. "type": "int",
  186. "min": 2,
  187. "default": 568,
  188. "required": true
  189. }
  190. },
  191. {
  192. "variable": "group",
  193. "label": "Group ID",
  194. "description": "The group id that Autobrr will run as.",
  195. "schema": {
  196. "type": "int",
  197. "min": 2,
  198. "default": 568,
  199. "required": true
  200. }
  201. }
  202. ]
  203. }
  204. },
  205. {
  206. "variable": "autobrrNetwork",
  207. "label": "",
  208. "group": "Network Configuration",
  209. "schema": {
  210. "type": "dict",
  211. "attrs": [
  212. {
  213. "variable": "webPort",
  214. "label": "Web Port",
  215. "description": "The port for the Autobrr Web UI.",
  216. "schema": {
  217. "type": "int",
  218. "default": 30051,
  219. "min": 9000,
  220. "max": 65535,
  221. "required": true
  222. }
  223. },
  224. {
  225. "variable": "hostNetwork",
  226. "label": "Host Network",
  227. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  228. "schema": {
  229. "type": "boolean",
  230. "default": false
  231. }
  232. }
  233. ]
  234. }
  235. },
  236. {
  237. "variable": "autobrrStorage",
  238. "label": "",
  239. "group": "Storage Configuration",
  240. "schema": {
  241. "type": "dict",
  242. "attrs": [
  243. {
  244. "variable": "config",
  245. "label": "Autobrr Config Storage",
  246. "description": "The path to store Autobrr Configuration.",
  247. "schema": {
  248. "type": "dict",
  249. "attrs": [
  250. {
  251. "variable": "type",
  252. "label": "Type",
  253. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  254. "schema": {
  255. "type": "string",
  256. "required": true,
  257. "immutable": true,
  258. "default": "ixVolume",
  259. "enum": [
  260. {
  261. "value": "hostPath",
  262. "description": "Host Path (Path that already exists on the system)"
  263. },
  264. {
  265. "value": "ixVolume",
  266. "description": "ixVolume (Dataset created automatically by the system)"
  267. }
  268. ]
  269. }
  270. },
  271. {
  272. "variable": "ixVolumeConfig",
  273. "label": "ixVolume Configuration",
  274. "description": "The configuration for the ixVolume dataset.",
  275. "schema": {
  276. "type": "dict",
  277. "show_if": [
  278. [
  279. "type",
  280. "=",
  281. "ixVolume"
  282. ]
  283. ],
  284. "$ref": [
  285. "normalize/ixVolume"
  286. ],
  287. "attrs": [
  288. {
  289. "variable": "aclEnable",
  290. "label": "Enable ACL",
  291. "description": "Enable ACL for the dataset.",
  292. "schema": {
  293. "type": "boolean",
  294. "default": false
  295. }
  296. },
  297. {
  298. "variable": "datasetName",
  299. "label": "Dataset Name",
  300. "description": "The name of the dataset to use for storage.",
  301. "schema": {
  302. "type": "string",
  303. "required": true,
  304. "immutable": true,
  305. "hidden": true,
  306. "default": "config"
  307. }
  308. },
  309. {
  310. "variable": "aclEntries",
  311. "label": "ACL Configuration",
  312. "schema": {
  313. "type": "dict",
  314. "show_if": [
  315. [
  316. "aclEnable",
  317. "=",
  318. true
  319. ]
  320. ],
  321. "attrs": [
  322. {
  323. "variable": "path",
  324. "label": "Path",
  325. "description": "Path to perform ACL",
  326. "schema": {
  327. "type": "string",
  328. "hidden": true
  329. }
  330. },
  331. {
  332. "variable": "entries",
  333. "label": "ACL Entries",
  334. "description": "ACL Entries",
  335. "schema": {
  336. "type": "list",
  337. "items": [
  338. {
  339. "variable": "aclEntry",
  340. "label": "ACL Entry",
  341. "schema": {
  342. "type": "dict",
  343. "attrs": [
  344. {
  345. "variable": "id_type",
  346. "label": "ID Type",
  347. "schema": {
  348. "type": "string",
  349. "enum": [
  350. {
  351. "value": "USER",
  352. "description": "Entry is for a USER"
  353. },
  354. {
  355. "value": "GROUP",
  356. "description": "Entry is for a GROUP"
  357. }
  358. ],
  359. "default": "USER"
  360. }
  361. },
  362. {
  363. "variable": "id",
  364. "label": "ID",
  365. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  366. "schema": {
  367. "type": "int",
  368. "required": true,
  369. "min": 0
  370. }
  371. },
  372. {
  373. "variable": "access",
  374. "label": "Access",
  375. "schema": {
  376. "type": "string",
  377. "enum": [
  378. {
  379. "value": "READ",
  380. "description": "Read Access"
  381. },
  382. {
  383. "value": "MODIFY",
  384. "description": "Modify Access"
  385. },
  386. {
  387. "value": "FULL_CONTROL",
  388. "description": "FULL_CONTROL Access"
  389. }
  390. ]
  391. }
  392. }
  393. ]
  394. }
  395. }
  396. ]
  397. }
  398. }
  399. ]
  400. }
  401. }
  402. ]
  403. }
  404. },
  405. {
  406. "variable": "hostPathConfig",
  407. "label": "Host Path Configuration",
  408. "schema": {
  409. "type": "dict",
  410. "show_if": [
  411. [
  412. "type",
  413. "=",
  414. "hostPath"
  415. ]
  416. ],
  417. "attrs": [
  418. {
  419. "variable": "aclEnable",
  420. "label": "Enable ACL",
  421. "description": "Enable ACL for the dataset.",
  422. "schema": {
  423. "type": "boolean",
  424. "default": false
  425. }
  426. },
  427. {
  428. "variable": "acl",
  429. "label": "ACL Configuration",
  430. "schema": {
  431. "type": "dict",
  432. "show_if": [
  433. [
  434. "aclEnable",
  435. "=",
  436. true
  437. ]
  438. ],
  439. "attrs": [
  440. {
  441. "variable": "path",
  442. "label": "Host Path",
  443. "description": "Host Path to perform ACL",
  444. "schema": {
  445. "type": "hostpath",
  446. "required": true,
  447. "empty": false
  448. }
  449. },
  450. {
  451. "variable": "entries",
  452. "label": "ACL Entries",
  453. "description": "ACL Entries",
  454. "schema": {
  455. "type": "list",
  456. "items": [
  457. {
  458. "variable": "aclEntry",
  459. "label": "ACL Entry",
  460. "schema": {
  461. "type": "dict",
  462. "attrs": [
  463. {
  464. "variable": "id_type",
  465. "label": "ID Type",
  466. "schema": {
  467. "type": "string",
  468. "enum": [
  469. {
  470. "value": "USER",
  471. "description": "Entry is for a USER"
  472. },
  473. {
  474. "value": "GROUP",
  475. "description": "Entry is for a GROUP"
  476. }
  477. ],
  478. "default": "USER"
  479. }
  480. },
  481. {
  482. "variable": "id",
  483. "label": "ID",
  484. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  485. "schema": {
  486. "type": "int",
  487. "required": true,
  488. "min": 0
  489. }
  490. },
  491. {
  492. "variable": "access",
  493. "label": "Access",
  494. "schema": {
  495. "type": "string",
  496. "enum": [
  497. {
  498. "value": "READ",
  499. "description": "Read Access"
  500. },
  501. {
  502. "value": "MODIFY",
  503. "description": "Modify Access"
  504. },
  505. {
  506. "value": "FULL_CONTROL",
  507. "description": "FULL_CONTROL Access"
  508. }
  509. ]
  510. }
  511. }
  512. ]
  513. }
  514. }
  515. ]
  516. }
  517. },
  518. {
  519. "variable": "options",
  520. "label": "ACL Options",
  521. "schema": {
  522. "type": "dict",
  523. "attrs": [
  524. {
  525. "variable": "force",
  526. "label": "Force Flag",
  527. "description": "Enabling `Force` applies ACL even if the path has existing data",
  528. "schema": {
  529. "type": "boolean",
  530. "default": false
  531. }
  532. }
  533. ]
  534. }
  535. }
  536. ],
  537. "$ref": [
  538. "normalize/acl"
  539. ]
  540. }
  541. },
  542. {
  543. "variable": "hostPath",
  544. "label": "Host Path",
  545. "description": "The host path to use for storage.",
  546. "schema": {
  547. "type": "hostpath",
  548. "show_if": [
  549. [
  550. "aclEnable",
  551. "=",
  552. false
  553. ]
  554. ],
  555. "required": true
  556. }
  557. }
  558. ]
  559. }
  560. }
  561. ]
  562. }
  563. },
  564. {
  565. "variable": "additionalStorages",
  566. "label": "Additional Storage",
  567. "description": "Additional storage for Autobrr.",
  568. "schema": {
  569. "type": "list",
  570. "default": [],
  571. "items": [
  572. {
  573. "variable": "storageEntry",
  574. "label": "Storage Entry",
  575. "schema": {
  576. "type": "dict",
  577. "attrs": [
  578. {
  579. "variable": "type",
  580. "label": "Type",
  581. "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 a persistent volume claim.\n",
  582. "schema": {
  583. "type": "string",
  584. "required": true,
  585. "default": "ixVolume",
  586. "immutable": true,
  587. "enum": [
  588. {
  589. "value": "hostPath",
  590. "description": "Host Path (Path that already exists on the system)"
  591. },
  592. {
  593. "value": "ixVolume",
  594. "description": "ixVolume (Dataset created automatically by the system)"
  595. },
  596. {
  597. "value": "smb-pv-pvc",
  598. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  599. }
  600. ]
  601. }
  602. },
  603. {
  604. "variable": "readOnly",
  605. "label": "Read Only",
  606. "description": "Mount the volume as read only.",
  607. "schema": {
  608. "type": "boolean",
  609. "default": false
  610. }
  611. },
  612. {
  613. "variable": "mountPath",
  614. "label": "Mount Path",
  615. "description": "The path inside the container to mount the storage.",
  616. "schema": {
  617. "type": "path",
  618. "required": true
  619. }
  620. },
  621. {
  622. "variable": "hostPathConfig",
  623. "label": "Host Path Configuration",
  624. "schema": {
  625. "type": "dict",
  626. "show_if": [
  627. [
  628. "type",
  629. "=",
  630. "hostPath"
  631. ]
  632. ],
  633. "attrs": [
  634. {
  635. "variable": "aclEnable",
  636. "label": "Enable ACL",
  637. "description": "Enable ACL for the dataset.",
  638. "schema": {
  639. "type": "boolean",
  640. "default": false
  641. }
  642. },
  643. {
  644. "variable": "acl",
  645. "label": "ACL Configuration",
  646. "schema": {
  647. "type": "dict",
  648. "show_if": [
  649. [
  650. "aclEnable",
  651. "=",
  652. true
  653. ]
  654. ],
  655. "attrs": [
  656. {
  657. "variable": "path",
  658. "label": "Host Path",
  659. "description": "Host Path to perform ACL",
  660. "schema": {
  661. "type": "hostpath",
  662. "required": true,
  663. "empty": false
  664. }
  665. },
  666. {
  667. "variable": "entries",
  668. "label": "ACL Entries",
  669. "description": "ACL Entries",
  670. "schema": {
  671. "type": "list",
  672. "items": [
  673. {
  674. "variable": "aclEntry",
  675. "label": "ACL Entry",
  676. "schema": {
  677. "type": "dict",
  678. "attrs": [
  679. {
  680. "variable": "id_type",
  681. "label": "ID Type",
  682. "schema": {
  683. "type": "string",
  684. "enum": [
  685. {
  686. "value": "USER",
  687. "description": "Entry is for a USER"
  688. },
  689. {
  690. "value": "GROUP",
  691. "description": "Entry is for a GROUP"
  692. }
  693. ],
  694. "default": "USER"
  695. }
  696. },
  697. {
  698. "variable": "id",
  699. "label": "ID",
  700. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  701. "schema": {
  702. "type": "int",
  703. "required": true,
  704. "min": 0
  705. }
  706. },
  707. {
  708. "variable": "access",
  709. "label": "Access",
  710. "schema": {
  711. "type": "string",
  712. "enum": [
  713. {
  714. "value": "READ",
  715. "description": "Read Access"
  716. },
  717. {
  718. "value": "MODIFY",
  719. "description": "Modify Access"
  720. },
  721. {
  722. "value": "FULL_CONTROL",
  723. "description": "FULL_CONTROL Access"
  724. }
  725. ]
  726. }
  727. }
  728. ]
  729. }
  730. }
  731. ]
  732. }
  733. },
  734. {
  735. "variable": "options",
  736. "label": "ACL Options",
  737. "schema": {
  738. "type": "dict",
  739. "attrs": [
  740. {
  741. "variable": "force",
  742. "label": "Force Flag",
  743. "description": "Enabling `Force` applies ACL even if the path has existing data",
  744. "schema": {
  745. "type": "boolean",
  746. "default": false
  747. }
  748. }
  749. ]
  750. }
  751. }
  752. ],
  753. "$ref": [
  754. "normalize/acl"
  755. ]
  756. }
  757. },
  758. {
  759. "variable": "hostPath",
  760. "label": "Host Path",
  761. "description": "The host path to use for storage.",
  762. "schema": {
  763. "type": "hostpath",
  764. "show_if": [
  765. [
  766. "aclEnable",
  767. "=",
  768. false
  769. ]
  770. ],
  771. "required": true
  772. }
  773. }
  774. ]
  775. }
  776. },
  777. {
  778. "variable": "ixVolumeConfig",
  779. "label": "ixVolume Configuration",
  780. "description": "The configuration for the ixVolume dataset.",
  781. "schema": {
  782. "type": "dict",
  783. "show_if": [
  784. [
  785. "type",
  786. "=",
  787. "ixVolume"
  788. ]
  789. ],
  790. "$ref": [
  791. "normalize/ixVolume"
  792. ],
  793. "attrs": [
  794. {
  795. "variable": "aclEnable",
  796. "label": "Enable ACL",
  797. "description": "Enable ACL for the dataset.",
  798. "schema": {
  799. "type": "boolean",
  800. "default": false
  801. }
  802. },
  803. {
  804. "variable": "datasetName",
  805. "label": "Dataset Name",
  806. "description": "The name of the dataset to use for storage.",
  807. "schema": {
  808. "type": "string",
  809. "required": true,
  810. "immutable": true,
  811. "default": "storage_entry"
  812. }
  813. },
  814. {
  815. "variable": "aclEntries",
  816. "label": "ACL Configuration",
  817. "schema": {
  818. "type": "dict",
  819. "show_if": [
  820. [
  821. "aclEnable",
  822. "=",
  823. true
  824. ]
  825. ],
  826. "attrs": [
  827. {
  828. "variable": "path",
  829. "label": "Path",
  830. "description": "Path to perform ACL",
  831. "schema": {
  832. "type": "string",
  833. "hidden": true
  834. }
  835. },
  836. {
  837. "variable": "entries",
  838. "label": "ACL Entries",
  839. "description": "ACL Entries",
  840. "schema": {
  841. "type": "list",
  842. "items": [
  843. {
  844. "variable": "aclEntry",
  845. "label": "ACL Entry",
  846. "schema": {
  847. "type": "dict",
  848. "attrs": [
  849. {
  850. "variable": "id_type",
  851. "label": "ID Type",
  852. "schema": {
  853. "type": "string",
  854. "enum": [
  855. {
  856. "value": "USER",
  857. "description": "Entry is for a USER"
  858. },
  859. {
  860. "value": "GROUP",
  861. "description": "Entry is for a GROUP"
  862. }
  863. ],
  864. "default": "USER"
  865. }
  866. },
  867. {
  868. "variable": "id",
  869. "label": "ID",
  870. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  871. "schema": {
  872. "type": "int",
  873. "required": true,
  874. "min": 0
  875. }
  876. },
  877. {
  878. "variable": "access",
  879. "label": "Access",
  880. "schema": {
  881. "type": "string",
  882. "enum": [
  883. {
  884. "value": "READ",
  885. "description": "Read Access"
  886. },
  887. {
  888. "value": "MODIFY",
  889. "description": "Modify Access"
  890. },
  891. {
  892. "value": "FULL_CONTROL",
  893. "description": "FULL_CONTROL Access"
  894. }
  895. ]
  896. }
  897. }
  898. ]
  899. }
  900. }
  901. ]
  902. }
  903. }
  904. ]
  905. }
  906. }
  907. ]
  908. }
  909. },
  910. {
  911. "variable": "smbConfig",
  912. "label": "SMB Share Configuration",
  913. "description": "The configuration for the SMB Share.",
  914. "schema": {
  915. "type": "dict",
  916. "show_if": [
  917. [
  918. "type",
  919. "=",
  920. "smb-pv-pvc"
  921. ]
  922. ],
  923. "attrs": [
  924. {
  925. "variable": "server",
  926. "label": "Server",
  927. "description": "The server for the SMB share.",
  928. "schema": {
  929. "type": "string",
  930. "required": true
  931. }
  932. },
  933. {
  934. "variable": "share",
  935. "label": "Share",
  936. "description": "The share name for the SMB share.",
  937. "schema": {
  938. "type": "string",
  939. "required": true
  940. }
  941. },
  942. {
  943. "variable": "domain",
  944. "label": "Domain (Optional)",
  945. "description": "The domain for the SMB share.",
  946. "schema": {
  947. "type": "string"
  948. }
  949. },
  950. {
  951. "variable": "username",
  952. "label": "Username",
  953. "description": "The username for the SMB share.",
  954. "schema": {
  955. "type": "string",
  956. "required": true
  957. }
  958. },
  959. {
  960. "variable": "password",
  961. "label": "Password",
  962. "description": "The password for the SMB share.",
  963. "schema": {
  964. "type": "string",
  965. "required": true,
  966. "private": true
  967. }
  968. },
  969. {
  970. "variable": "size",
  971. "label": "Size (in Gi)",
  972. "description": "The size of the volume quota.",
  973. "schema": {
  974. "type": "int",
  975. "required": true,
  976. "min": 1,
  977. "default": 1
  978. }
  979. }
  980. ]
  981. }
  982. }
  983. ]
  984. }
  985. }
  986. ]
  987. }
  988. }
  989. ]
  990. }
  991. },
  992. {
  993. "variable": "resources",
  994. "group": "Resources Configuration",
  995. "label": "",
  996. "schema": {
  997. "type": "dict",
  998. "attrs": [
  999. {
  1000. "variable": "limits",
  1001. "label": "Limits",
  1002. "schema": {
  1003. "type": "dict",
  1004. "attrs": [
  1005. {
  1006. "variable": "cpu",
  1007. "label": "CPU",
  1008. "description": "CPU limit for Autobrr.",
  1009. "schema": {
  1010. "type": "string",
  1011. "max_length": 6,
  1012. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  1013. "valid_chars_error": "Valid CPU limit formats are</br>\n- Plain Integer - eg. 1</br>\n- Float - eg. 0.5</br>\n- Milicpu - eg. 500m\n",
  1014. "default": "4000m",
  1015. "required": true
  1016. }
  1017. },
  1018. {
  1019. "variable": "memory",
  1020. "label": "Memory",
  1021. "description": "Memory limit for Autobrr.",
  1022. "schema": {
  1023. "type": "string",
  1024. "max_length": 12,
  1025. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  1026. "valid_chars_error": "Valid Memory limit formats are</br>\n- Suffixed with E/P/T/G/M/K - eg. 1G</br>\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>\n- Plain Integer in bytes - eg. 1024</br>\n- Exponent - eg. 134e6\n",
  1027. "default": "8Gi",
  1028. "required": true
  1029. }
  1030. }
  1031. ]
  1032. }
  1033. }
  1034. ]
  1035. }
  1036. }
  1037. ]
  1038. },
  1039. "app_readme": "<h1>Autobrr</h1>\n<p><a href=\"https://github.com/autobrr/autobrr\">Autobrr</a> is the modern download automation tool for torrents and usenet.</p>",
  1040. "detailed_readme": "<h1>Autobrr</h1>\n<p><a href=\"https://github.com/autobrr/autobrr\">Autobrr</a> is the modern download automation tool for torrents and usenet.</p>",
  1041. "changelog": null
  1042. }
  1043. }