app_versions.json 77 KB

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