app_versions.json 66 KB

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