app_versions.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. {
  2. "1.0.22": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/tailscale/1.0.22",
  7. "last_update": "2023-11-14 10:11:57",
  8. "required_features": [],
  9. "human_version": "1.52.0_1.0.22",
  10. "version": "1.0.22",
  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.22",
  19. "apiVersion": "v2",
  20. "appVersion": "1.52.0",
  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.2"
  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": "extraArgs",
  167. "label": "Extra Arguments",
  168. "description": "Extra arguments for Tailscale.",
  169. "schema": {
  170. "type": "list",
  171. "default": [],
  172. "items": [
  173. {
  174. "variable": "argEntry",
  175. "label": "Argument",
  176. "schema": {
  177. "type": "string",
  178. "required": true
  179. }
  180. }
  181. ]
  182. }
  183. },
  184. {
  185. "variable": "extraDaemonArgs",
  186. "label": "Extra Daemon Arguments",
  187. "description": "Extra arguments for Tailscale daemon.",
  188. "schema": {
  189. "type": "list",
  190. "default": [],
  191. "items": [
  192. {
  193. "variable": "DaemonArgEntry",
  194. "label": "Daemon Argument",
  195. "schema": {
  196. "type": "string",
  197. "required": true
  198. }
  199. }
  200. ]
  201. }
  202. },
  203. {
  204. "variable": "additionalEnvs",
  205. "label": "Additional Environment Variables",
  206. "description": "Configure additional environment variables for Tailscale.",
  207. "schema": {
  208. "type": "list",
  209. "default": [],
  210. "items": [
  211. {
  212. "variable": "env",
  213. "label": "Environment Variable",
  214. "schema": {
  215. "type": "dict",
  216. "attrs": [
  217. {
  218. "variable": "name",
  219. "label": "Name",
  220. "schema": {
  221. "type": "string",
  222. "required": true
  223. }
  224. },
  225. {
  226. "variable": "value",
  227. "label": "Value",
  228. "schema": {
  229. "type": "string",
  230. "required": true
  231. }
  232. }
  233. ]
  234. }
  235. }
  236. ]
  237. }
  238. }
  239. ]
  240. }
  241. },
  242. {
  243. "variable": "tailscaleNetwork",
  244. "label": "",
  245. "group": "Network Configuration",
  246. "schema": {
  247. "type": "dict",
  248. "attrs": [
  249. {
  250. "variable": "hostNetwork",
  251. "label": "Host Network",
  252. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  253. "schema": {
  254. "type": "boolean",
  255. "default": false
  256. }
  257. }
  258. ]
  259. }
  260. },
  261. {
  262. "variable": "resources",
  263. "group": "Resources Configuration",
  264. "label": "",
  265. "schema": {
  266. "type": "dict",
  267. "attrs": [
  268. {
  269. "variable": "limits",
  270. "label": "Limits",
  271. "schema": {
  272. "type": "dict",
  273. "attrs": [
  274. {
  275. "variable": "cpu",
  276. "label": "CPU",
  277. "description": "CPU limit for Tailscale.",
  278. "schema": {
  279. "type": "string",
  280. "max_length": 6,
  281. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  282. "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",
  283. "default": "4000m",
  284. "required": true
  285. }
  286. },
  287. {
  288. "variable": "memory",
  289. "label": "Memory",
  290. "description": "Memory limit for Tailscale.",
  291. "schema": {
  292. "type": "string",
  293. "max_length": 12,
  294. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  295. "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",
  296. "default": "8Gi",
  297. "required": true
  298. }
  299. }
  300. ]
  301. }
  302. }
  303. ]
  304. }
  305. }
  306. ]
  307. },
  308. "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>",
  309. "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>",
  310. "changelog": null
  311. }
  312. }