app_versions.json 65 KB

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