app_versions.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. {
  2. "1.0.51": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/tailscale/1.0.51",
  7. "last_update": "2025-03-06 08:26:26",
  8. "required_features": [],
  9. "human_version": "1.80.3_1.0.51",
  10. "version": "1.0.51",
  11. "chart_metadata": {
  12. "name": "tailscale",
  13. "description": "Secure remote access to shared resources",
  14. "annotations": {
  15. "title": "Tailscale"
  16. },
  17. "type": "application",
  18. "version": "1.0.51",
  19. "apiVersion": "v2",
  20. "appVersion": "1.80.3",
  21. "kubeVersion": ">=1.16.0-0",
  22. "maintainers": [
  23. {
  24. "name": "truenas",
  25. "url": "https://www.truenas.com/",
  26. "email": "dev@ixsystems.com"
  27. }
  28. ],
  29. "dependencies": [
  30. {
  31. "name": "common",
  32. "repository": "file://../../../common",
  33. "version": "1.2.9"
  34. }
  35. ],
  36. "home": "https://tailscale.com/",
  37. "icon": "https://media.sys.truenas.net/apps/tailscale/icons/icon.png",
  38. "sources": [
  39. "https://tailscale.com/",
  40. "https://github.com/truenas/charts/tree/master/community/tailscale",
  41. "https://hub.docker.com/r/tailscale/tailscale"
  42. ],
  43. "keywords": [
  44. "vpn",
  45. "tailscale"
  46. ]
  47. },
  48. "app_metadata": {
  49. "runAsContext": [
  50. {
  51. "userName": "root",
  52. "groupName": "root",
  53. "gid": 0,
  54. "uid": 0,
  55. "description": "Tailscale requires root privileges to start the tailscaled process (Only when userspace is disabled)"
  56. }
  57. ],
  58. "capabilities": [
  59. {
  60. "name": "NET_ADMIN",
  61. "description": "Tailscale requires NET_ADMIN to configure the VPN interface, modify routes, etc."
  62. },
  63. {
  64. "name": "NET_RAW",
  65. "description": "Tailscale requires NET_RAW to use raw sockets and proxying"
  66. }
  67. ],
  68. "hostMounts": [
  69. {
  70. "hostPath": "/dev/tun",
  71. "description": "Required to access the TUN device (Only when userspace is disabled)"
  72. }
  73. ]
  74. },
  75. "schema": {
  76. "groups": [
  77. {
  78. "name": "Tailscale Configuration",
  79. "description": "Configure Tailscale"
  80. },
  81. {
  82. "name": "Network Configuration",
  83. "description": "Configure Network for Tailscale"
  84. },
  85. {
  86. "name": "Resources Configuration",
  87. "description": "Configure Resources for Tailscale"
  88. }
  89. ],
  90. "questions": [
  91. {
  92. "variable": "tailscaleConfig",
  93. "label": "",
  94. "group": "Tailscale Configuration",
  95. "schema": {
  96. "type": "dict",
  97. "attrs": [
  98. {
  99. "variable": "authkey",
  100. "label": "Auth Key",
  101. "description": "The auth key for Tailscale.</br>\nSame as `--authkey` flag.\n",
  102. "schema": {
  103. "type": "string",
  104. "default": "",
  105. "required": true,
  106. "private": true
  107. }
  108. },
  109. {
  110. "variable": "hostname",
  111. "label": "Hostname",
  112. "description": "The hostname for Tailscale Node.</br>\nOnly lowercase letters, numbers, and hyphens are allowed.</br>\nSame as `--hostname` flag.\n",
  113. "schema": {
  114. "type": "string",
  115. "default": "truenas-scale",
  116. "required": true
  117. }
  118. },
  119. {
  120. "variable": "advertiseRoutes",
  121. "label": "Advertise Routes",
  122. "description": "The routes to advertise.</br>\nSame as `--advertise-routes` flag.\n",
  123. "schema": {
  124. "type": "list",
  125. "default": [],
  126. "items": [
  127. {
  128. "variable": "routeEntry",
  129. "label": "Route",
  130. "schema": {
  131. "type": "string",
  132. "required": true
  133. }
  134. }
  135. ]
  136. }
  137. },
  138. {
  139. "variable": "advertiseExitNode",
  140. "label": "Advertise Exit Node",
  141. "description": "Advertise as Exit Node.</br>\nSame as `--advertise-exit-node` flag.\n",
  142. "schema": {
  143. "type": "boolean",
  144. "default": false
  145. }
  146. },
  147. {
  148. "variable": "userspace",
  149. "label": "Userspace",
  150. "description": "Userspace for Tailscale.",
  151. "schema": {
  152. "type": "boolean",
  153. "default": true
  154. }
  155. },
  156. {
  157. "variable": "acceptDns",
  158. "label": "Accept DNS",
  159. "description": "Accept DNS.</br>\nSame as `--accept-dns` flag.\n",
  160. "schema": {
  161. "type": "boolean",
  162. "default": false
  163. }
  164. },
  165. {
  166. "variable": "authOnce",
  167. "label": "Auth Once",
  168. "description": "Attempt to log in only if not already logged in.</br>\n",
  169. "schema": {
  170. "type": "boolean",
  171. "default": false
  172. }
  173. },
  174. {
  175. "variable": "extraArgs",
  176. "label": "Extra Arguments",
  177. "description": "Extra arguments for Tailscale.",
  178. "schema": {
  179. "type": "list",
  180. "default": [],
  181. "items": [
  182. {
  183. "variable": "argEntry",
  184. "label": "Argument",
  185. "schema": {
  186. "type": "string",
  187. "required": true
  188. }
  189. }
  190. ]
  191. }
  192. },
  193. {
  194. "variable": "extraDaemonArgs",
  195. "label": "Extra Daemon Arguments",
  196. "description": "Extra arguments for Tailscale daemon.",
  197. "schema": {
  198. "type": "list",
  199. "default": [],
  200. "items": [
  201. {
  202. "variable": "DaemonArgEntry",
  203. "label": "Daemon Argument",
  204. "schema": {
  205. "type": "string",
  206. "required": true
  207. }
  208. }
  209. ]
  210. }
  211. },
  212. {
  213. "variable": "additionalEnvs",
  214. "label": "Additional Environment Variables",
  215. "description": "Configure additional environment variables for Tailscale.",
  216. "schema": {
  217. "type": "list",
  218. "default": [],
  219. "items": [
  220. {
  221. "variable": "env",
  222. "label": "Environment Variable",
  223. "schema": {
  224. "type": "dict",
  225. "attrs": [
  226. {
  227. "variable": "name",
  228. "label": "Name",
  229. "schema": {
  230. "type": "string",
  231. "required": true
  232. }
  233. },
  234. {
  235. "variable": "value",
  236. "label": "Value",
  237. "schema": {
  238. "type": "string",
  239. "required": true
  240. }
  241. }
  242. ]
  243. }
  244. }
  245. ]
  246. }
  247. }
  248. ]
  249. }
  250. },
  251. {
  252. "variable": "tailscaleNetwork",
  253. "label": "",
  254. "group": "Network Configuration",
  255. "schema": {
  256. "type": "dict",
  257. "attrs": [
  258. {
  259. "variable": "hostNetwork",
  260. "label": "Host Network",
  261. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  262. "schema": {
  263. "type": "boolean",
  264. "default": false
  265. }
  266. }
  267. ]
  268. }
  269. },
  270. {
  271. "variable": "resources",
  272. "group": "Resources Configuration",
  273. "label": "",
  274. "schema": {
  275. "type": "dict",
  276. "attrs": [
  277. {
  278. "variable": "limits",
  279. "label": "Limits",
  280. "schema": {
  281. "type": "dict",
  282. "attrs": [
  283. {
  284. "variable": "cpu",
  285. "label": "CPU",
  286. "description": "CPU limit for Tailscale.",
  287. "schema": {
  288. "type": "string",
  289. "max_length": 6,
  290. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  291. "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",
  292. "default": "4000m",
  293. "required": true
  294. }
  295. },
  296. {
  297. "variable": "memory",
  298. "label": "Memory",
  299. "description": "Memory limit for Tailscale.",
  300. "schema": {
  301. "type": "string",
  302. "max_length": 12,
  303. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  304. "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",
  305. "default": "8Gi",
  306. "required": true
  307. }
  308. }
  309. ]
  310. }
  311. }
  312. ]
  313. }
  314. }
  315. ]
  316. },
  317. "app_readme": "<h1>Tailscale</h1>\n<p><a href=\"https://tailscale.com\">Tailscale</a> Secure remote access to shared resources</p>\n<ul>\n<li>When <code>Userspace</code> is <strong>disabled</strong>, <code>Tailscale</code> will run as root, with <code>/dev/net/tun</code> device mounted from the host.</li>\n<li>When <code>Userspace</code> is <strong>enabled</strong>, <code>Tailscale</code> will run as a non-root user.</li>\n</ul>",
  318. "detailed_readme": "<h1>Tailscale</h1>\n<p><a href=\"https://tailscale.com\">Tailscale</a> Secure remote access to shared resources</p>\n<ul>\n<li>When <code>Userspace</code> is <strong>disabled</strong>, <code>Tailscale</code> will run as root, with <code>/dev/net/tun</code> device mounted from the host.</li>\n<li>When <code>Userspace</code> is <strong>enabled</strong>, <code>Tailscale</code> will run as a non-root user.</li>\n</ul>",
  319. "changelog": null
  320. }
  321. }