app_versions.json 172 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583
  1. {
  2. "1.0.17": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/ddns-updater/1.0.17",
  7. "last_update": "2023-11-14 10:11:57",
  8. "required_features": [
  9. "definitions/timezone",
  10. "normalize/ixVolume"
  11. ],
  12. "human_version": "v2.5.0_1.0.17",
  13. "version": "1.0.17",
  14. "chart_metadata": {
  15. "name": "ddns-updater",
  16. "description": "Lightweight universal DDNS Updater with web UI",
  17. "annotations": {
  18. "title": "DDNS Updater"
  19. },
  20. "type": "application",
  21. "version": "1.0.17",
  22. "apiVersion": "v2",
  23. "appVersion": "v2.5.0",
  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.2"
  37. }
  38. ],
  39. "home": "https://github.com/qdm12/ddns-updater",
  40. "icon": "https://media.sys.truenas.net/apps/ddns-updater/icons/icon.svg",
  41. "sources": [
  42. "https://github.com/qdm12/ddns-updater",
  43. "https://github.com/truenas/charts/tree/master/community/ddns-updater",
  44. "https://hub.docker.com/r/qmcgaw/ddns-updater"
  45. ],
  46. "keywords": [
  47. "ddns-updater",
  48. "ddns"
  49. ]
  50. },
  51. "app_metadata": {
  52. "runAsContext": [
  53. {
  54. "userName": "ddns-updater",
  55. "groupName": "ddns-updater",
  56. "gid": 568,
  57. "uid": 568,
  58. "description": "DDNS Updater runs as any non-root user."
  59. }
  60. ],
  61. "capabilities": [],
  62. "hostMounts": []
  63. },
  64. "schema": {
  65. "groups": [
  66. {
  67. "name": "DDNS Updater Configuration",
  68. "description": "Configure DDNS Updater"
  69. },
  70. {
  71. "name": "User and Group Configuration",
  72. "description": "Configure User and Group for DDNS Updater"
  73. },
  74. {
  75. "name": "Network Configuration",
  76. "description": "Configure Network for DDNS Updater"
  77. },
  78. {
  79. "name": "Storage Configuration",
  80. "description": "Configure Storage for DDNS Updater"
  81. },
  82. {
  83. "name": "Resources Configuration",
  84. "description": "Configure Resources for DDNS Updater"
  85. }
  86. ],
  87. "portals": {
  88. "web_portal": {
  89. "protocols": [
  90. "$kubernetes-resource_configmap_portal_protocol"
  91. ],
  92. "host": [
  93. "$kubernetes-resource_configmap_portal_host"
  94. ],
  95. "ports": [
  96. "$kubernetes-resource_configmap_portal_port"
  97. ],
  98. "path": "$kubernetes-resource_configmap_portal_path"
  99. }
  100. },
  101. "questions": [
  102. {
  103. "variable": "TZ",
  104. "group": "DDNS Updater Configuration",
  105. "label": "Timezone",
  106. "schema": {
  107. "type": "string",
  108. "default": "America/Los_Angeles",
  109. "required": true,
  110. "$ref": [
  111. "definitions/timezone"
  112. ],
  113. "enum": [
  114. {
  115. "value": "Asia/Damascus",
  116. "description": "'Asia/Damascus' timezone"
  117. },
  118. {
  119. "value": "Asia/Saigon",
  120. "description": "'Asia/Saigon' timezone"
  121. }
  122. ]
  123. }
  124. },
  125. {
  126. "variable": "ddnsConfig",
  127. "label": "",
  128. "group": "DDNS Updater Configuration",
  129. "schema": {
  130. "type": "dict",
  131. "attrs": [
  132. {
  133. "variable": "config",
  134. "label": "DNS Provider Configuration",
  135. "description": "Configuration for DDNS Updater.</br>\nChoose your provider in the following link for more information </br>\nhttps://github.com/qdm12/ddns-updater#configuration\n",
  136. "schema": {
  137. "type": "list",
  138. "min": 1,
  139. "required": true,
  140. "empty": false,
  141. "default": [],
  142. "items": [
  143. {
  144. "variable": "configEntry",
  145. "label": "Configuration Entry",
  146. "schema": {
  147. "type": "dict",
  148. "attrs": [
  149. {
  150. "variable": "provider",
  151. "label": "Provider",
  152. "schema": {
  153. "type": "string",
  154. "required": true,
  155. "enum": [
  156. {
  157. "value": "aliyun",
  158. "description": "Aliyun"
  159. },
  160. {
  161. "value": "allinkl",
  162. "description": "All-Inkl"
  163. },
  164. {
  165. "value": "cloudflare",
  166. "description": "Cloudflare"
  167. },
  168. {
  169. "value": "dd24",
  170. "description": "DD24"
  171. },
  172. {
  173. "value": "ddnss",
  174. "description": "DDNSS"
  175. },
  176. {
  177. "value": "digitalocean",
  178. "description": "Digital Ocean"
  179. },
  180. {
  181. "value": "dnsomatic",
  182. "description": "DNS O Matic"
  183. },
  184. {
  185. "value": "dnspod",
  186. "description": "DNS Pod"
  187. },
  188. {
  189. "value": "dondominio",
  190. "description": "Don Dominio"
  191. },
  192. {
  193. "value": "dreamhost",
  194. "description": "Dreamhost"
  195. },
  196. {
  197. "value": "duckdns",
  198. "description": "Duck DNS"
  199. },
  200. {
  201. "value": "dyn",
  202. "description": "DynDNS"
  203. },
  204. {
  205. "value": "dynu",
  206. "description": "Dynu"
  207. },
  208. {
  209. "value": "dynv6",
  210. "description": "DynV6"
  211. },
  212. {
  213. "value": "freedns",
  214. "description": "FreeDNS"
  215. },
  216. {
  217. "value": "gandi",
  218. "description": "Gandi"
  219. },
  220. {
  221. "value": "gcp",
  222. "description": "GCP"
  223. },
  224. {
  225. "value": "godaddy",
  226. "description": "GoDaddy"
  227. },
  228. {
  229. "value": "google",
  230. "description": "Google"
  231. },
  232. {
  233. "value": "he",
  234. "description": "He.net"
  235. },
  236. {
  237. "value": "infomaniak",
  238. "description": "Infomaniak"
  239. },
  240. {
  241. "value": "inwx",
  242. "description": "INWX"
  243. },
  244. {
  245. "value": "linode",
  246. "description": "Linode"
  247. },
  248. {
  249. "value": "luadns",
  250. "description": "LuaDNS"
  251. },
  252. {
  253. "value": "namecheap",
  254. "description": "Namecheap"
  255. },
  256. {
  257. "value": "njalla",
  258. "description": "Njalla"
  259. },
  260. {
  261. "value": "noip",
  262. "description": "NoIP"
  263. },
  264. {
  265. "value": "opendns",
  266. "description": "OpenDNS"
  267. },
  268. {
  269. "value": "ovh",
  270. "description": "OVH"
  271. },
  272. {
  273. "value": "porkbun",
  274. "description": "Porkbun"
  275. },
  276. {
  277. "value": "selfhost.de",
  278. "description": "Selfhost.de"
  279. },
  280. {
  281. "value": "servercow",
  282. "description": "Servercow"
  283. },
  284. {
  285. "value": "spdyn",
  286. "description": "Spdyn.de"
  287. },
  288. {
  289. "value": "strato",
  290. "description": "Strato"
  291. },
  292. {
  293. "value": "variomedia",
  294. "description": "Variomedia"
  295. }
  296. ]
  297. }
  298. },
  299. {
  300. "variable": "domain",
  301. "label": "Domain",
  302. "description": "Domain </br>\nFor example: example.com\n",
  303. "schema": {
  304. "type": "string",
  305. "required": true,
  306. "empty": false
  307. }
  308. },
  309. {
  310. "variable": "ipVersion",
  311. "label": "IP Version",
  312. "description": "IP Version. </br>\nFor example: IPv4\n",
  313. "schema": {
  314. "type": "string",
  315. "default": "",
  316. "enum": [
  317. {
  318. "value": "ipv4",
  319. "description": "IPv4"
  320. },
  321. {
  322. "value": "ipv6",
  323. "description": "IPv6"
  324. },
  325. {
  326. "value": "",
  327. "description": "IPv4 and IPv6"
  328. }
  329. ]
  330. }
  331. },
  332. {
  333. "variable": "host",
  334. "label": "Host",
  335. "description": "Host. </br>\nFor example: \"@\"\n",
  336. "schema": {
  337. "type": "string",
  338. "default": "@",
  339. "required": true,
  340. "empty": false
  341. }
  342. },
  343. {
  344. "variable": "aliyunAccessKey",
  345. "label": "Aliyun Access Key",
  346. "description": "Aliyun Access Key.",
  347. "schema": {
  348. "type": "string",
  349. "show_if": [
  350. [
  351. "provider",
  352. "=",
  353. "aliyun"
  354. ]
  355. ],
  356. "required": true,
  357. "private": true,
  358. "empty": false
  359. }
  360. },
  361. {
  362. "variable": "aliyunSecret",
  363. "label": "Aliyun Secret",
  364. "description": "Aliyun Secret.",
  365. "schema": {
  366. "type": "string",
  367. "show_if": [
  368. [
  369. "provider",
  370. "=",
  371. "aliyun"
  372. ]
  373. ],
  374. "required": true,
  375. "private": true,
  376. "empty": false
  377. }
  378. },
  379. {
  380. "variable": "allinklUsername",
  381. "label": "All-Inkl Username",
  382. "description": "All-Inkl Username.",
  383. "schema": {
  384. "type": "string",
  385. "show_if": [
  386. [
  387. "provider",
  388. "=",
  389. "allinkl"
  390. ]
  391. ],
  392. "required": true,
  393. "empty": false
  394. }
  395. },
  396. {
  397. "variable": "allinklPassword",
  398. "label": "All-Inkl Password",
  399. "description": "All-Inkl Password.",
  400. "schema": {
  401. "type": "string",
  402. "show_if": [
  403. [
  404. "provider",
  405. "=",
  406. "allinkl"
  407. ]
  408. ],
  409. "required": true,
  410. "private": true,
  411. "empty": false
  412. }
  413. },
  414. {
  415. "variable": "cloudflareZoneID",
  416. "label": "Cloudflare Zone ID",
  417. "description": "Cloudflare Zone ID. </br>\nYou can find it in the Overview tab of your domain.\n",
  418. "schema": {
  419. "type": "string",
  420. "required": true,
  421. "private": true,
  422. "show_if": [
  423. [
  424. "provider",
  425. "=",
  426. "cloudflare"
  427. ]
  428. ]
  429. }
  430. },
  431. {
  432. "variable": "cloudflareTtl",
  433. "label": "Cloudflare TTL",
  434. "description": "Cloudflare TTL. </br>\n1 = Automatic </br>\n600 = 10 minutes\n",
  435. "schema": {
  436. "type": "int",
  437. "min": 1,
  438. "required": true,
  439. "show_if": [
  440. [
  441. "provider",
  442. "=",
  443. "cloudflare"
  444. ]
  445. ],
  446. "default": 1
  447. }
  448. },
  449. {
  450. "variable": "cloudflareProxied",
  451. "label": "Cloudflare Proxied",
  452. "description": "Cloudflare Proxied. </br>\nTrue = Proxied </br>\nFalse = DNS Only\n",
  453. "schema": {
  454. "type": "boolean",
  455. "show_if": [
  456. [
  457. "provider",
  458. "=",
  459. "cloudflare"
  460. ]
  461. ],
  462. "default": false
  463. }
  464. },
  465. {
  466. "variable": "cloudflareToken",
  467. "label": "Cloudflare Token",
  468. "description": "Cloudflare Token.",
  469. "schema": {
  470. "type": "string",
  471. "private": true,
  472. "show_if": [
  473. [
  474. "provider",
  475. "=",
  476. "cloudflare"
  477. ]
  478. ]
  479. }
  480. },
  481. {
  482. "variable": "cloudflareUserServiceKey",
  483. "label": "Cloudflare User Service Key",
  484. "description": "Cloudflare User Service Key.",
  485. "schema": {
  486. "type": "string",
  487. "private": true,
  488. "show_if": [
  489. [
  490. "provider",
  491. "=",
  492. "cloudflare"
  493. ]
  494. ]
  495. }
  496. },
  497. {
  498. "variable": "cloudflareEmail",
  499. "label": "Cloudflare Email",
  500. "description": "Cloudflare Email.",
  501. "schema": {
  502. "type": "string",
  503. "show_if": [
  504. [
  505. "provider",
  506. "=",
  507. "cloudflare"
  508. ]
  509. ]
  510. }
  511. },
  512. {
  513. "variable": "cloudflareApiKey",
  514. "label": "Cloudflare API Key",
  515. "description": "Cloudflare API Key.",
  516. "schema": {
  517. "type": "string",
  518. "show_if": [
  519. [
  520. "provider",
  521. "=",
  522. "cloudflare"
  523. ]
  524. ]
  525. }
  526. },
  527. {
  528. "variable": "dd24Password",
  529. "label": "DD24 Password",
  530. "description": "DD24 Password.",
  531. "schema": {
  532. "type": "string",
  533. "show_if": [
  534. [
  535. "provider",
  536. "=",
  537. "dd24"
  538. ]
  539. ],
  540. "required": true,
  541. "private": true,
  542. "empty": false
  543. }
  544. },
  545. {
  546. "variable": "ddnssUsername",
  547. "label": "DDNSS Username",
  548. "description": "DDNSS Username.",
  549. "schema": {
  550. "type": "string",
  551. "show_if": [
  552. [
  553. "provider",
  554. "=",
  555. "ddnss"
  556. ]
  557. ],
  558. "required": true,
  559. "empty": false
  560. }
  561. },
  562. {
  563. "variable": "ddnssPassword",
  564. "label": "DDNSS Password",
  565. "description": "DDNSS Password.",
  566. "schema": {
  567. "type": "string",
  568. "show_if": [
  569. [
  570. "provider",
  571. "=",
  572. "ddnss"
  573. ]
  574. ],
  575. "private": true,
  576. "required": true,
  577. "empty": false
  578. }
  579. },
  580. {
  581. "variable": "ddnssProviderIP",
  582. "label": "DDNSS Provider IP",
  583. "description": "DDNSS Provider IP.",
  584. "schema": {
  585. "type": "boolean",
  586. "show_if": [
  587. [
  588. "provider",
  589. "=",
  590. "ddnss"
  591. ]
  592. ],
  593. "default": false
  594. }
  595. },
  596. {
  597. "variable": "ddnssDualStack",
  598. "label": "DDNSS Dual Stack",
  599. "description": "DDNSS Dual Stack.",
  600. "schema": {
  601. "type": "boolean",
  602. "show_if": [
  603. [
  604. "provider",
  605. "=",
  606. "ddnss"
  607. ]
  608. ],
  609. "default": false
  610. }
  611. },
  612. {
  613. "variable": "digitalOceanToken",
  614. "label": "Digital Ocean Token",
  615. "description": "Digital Ocean Token",
  616. "schema": {
  617. "type": "string",
  618. "show_if": [
  619. [
  620. "provider",
  621. "=",
  622. "digitalocean"
  623. ]
  624. ],
  625. "required": true,
  626. "private": true,
  627. "empty": false
  628. }
  629. },
  630. {
  631. "variable": "dnsOMaticUsername",
  632. "label": "DNS O Matic Username",
  633. "description": "DNS O Matic Username.",
  634. "schema": {
  635. "type": "string",
  636. "show_if": [
  637. [
  638. "provider",
  639. "=",
  640. "dnsomatic"
  641. ]
  642. ],
  643. "required": true,
  644. "empty": false
  645. }
  646. },
  647. {
  648. "variable": "dnsOMaticPassword",
  649. "label": "DNS O Matic Password",
  650. "description": "DNS O Matic Password.",
  651. "schema": {
  652. "type": "string",
  653. "show_if": [
  654. [
  655. "provider",
  656. "=",
  657. "dnsomatic"
  658. ]
  659. ],
  660. "required": true,
  661. "private": true,
  662. "empty": false
  663. }
  664. },
  665. {
  666. "variable": "dnsOMaticProviderIP",
  667. "label": "DNS O Matic Provider IP",
  668. "description": "DNS O Matic Provider IP.",
  669. "schema": {
  670. "type": "boolean",
  671. "show_if": [
  672. [
  673. "provider",
  674. "=",
  675. "dnsomatic"
  676. ]
  677. ],
  678. "default": false
  679. }
  680. },
  681. {
  682. "variable": "dnsPodToken",
  683. "label": "DNS Pod Token",
  684. "description": "DNS Pod Token.",
  685. "schema": {
  686. "type": "string",
  687. "show_if": [
  688. [
  689. "provider",
  690. "=",
  691. "dnspod"
  692. ]
  693. ],
  694. "required": true,
  695. "private": true,
  696. "empty": false
  697. }
  698. },
  699. {
  700. "variable": "donDominioUsername",
  701. "label": "Don Dominio Username",
  702. "description": "Don Dominio Username.",
  703. "schema": {
  704. "type": "string",
  705. "show_if": [
  706. [
  707. "provider",
  708. "=",
  709. "dondominio"
  710. ]
  711. ],
  712. "required": true,
  713. "empty": false
  714. }
  715. },
  716. {
  717. "variable": "donDominioPassword",
  718. "label": "Don Dominio Password",
  719. "description": "Don Dominio Password.",
  720. "schema": {
  721. "type": "string",
  722. "show_if": [
  723. [
  724. "provider",
  725. "=",
  726. "dondominio"
  727. ]
  728. ],
  729. "required": true,
  730. "private": true,
  731. "empty": false
  732. }
  733. },
  734. {
  735. "variable": "donDominioName",
  736. "label": "Don Dominio Name",
  737. "description": "Don Dominio Name.",
  738. "schema": {
  739. "type": "string",
  740. "show_if": [
  741. [
  742. "provider",
  743. "=",
  744. "dondominio"
  745. ]
  746. ],
  747. "required": true,
  748. "empty": false
  749. }
  750. },
  751. {
  752. "variable": "dreamHostKey",
  753. "label": "Dreamhost Key",
  754. "description": "Dreamhost Key.",
  755. "schema": {
  756. "type": "string",
  757. "show_if": [
  758. [
  759. "provider",
  760. "=",
  761. "dreamhost"
  762. ]
  763. ],
  764. "required": true,
  765. "private": true,
  766. "empty": false
  767. }
  768. },
  769. {
  770. "variable": "duckdnsToken",
  771. "label": "Duck DNS Token",
  772. "description": "Duck DNS Token.",
  773. "schema": {
  774. "type": "string",
  775. "show_if": [
  776. [
  777. "provider",
  778. "=",
  779. "duckdns"
  780. ]
  781. ],
  782. "required": true,
  783. "private": true,
  784. "empty": false
  785. }
  786. },
  787. {
  788. "variable": "duckdnsProviderIP",
  789. "label": "Duck DNS Provider IP",
  790. "description": "Duck DNS Provider IP.",
  791. "schema": {
  792. "type": "boolean",
  793. "show_if": [
  794. [
  795. "provider",
  796. "=",
  797. "duckdns"
  798. ]
  799. ],
  800. "default": false
  801. }
  802. },
  803. {
  804. "variable": "dynClientKey",
  805. "label": "DynDNS Client Key",
  806. "description": "DynDNS Client Key.",
  807. "schema": {
  808. "type": "string",
  809. "show_if": [
  810. [
  811. "provider",
  812. "=",
  813. "dyn"
  814. ]
  815. ],
  816. "required": true,
  817. "private": true,
  818. "empty": false
  819. }
  820. },
  821. {
  822. "variable": "dynUsername",
  823. "label": "DynDNS Username",
  824. "description": "DynDNS Username.",
  825. "schema": {
  826. "type": "string",
  827. "show_if": [
  828. [
  829. "provider",
  830. "=",
  831. "dyn"
  832. ]
  833. ],
  834. "required": true,
  835. "empty": false
  836. }
  837. },
  838. {
  839. "variable": "dynProviderIP",
  840. "label": "DynDNS Provider IP",
  841. "description": "DynDNS Provider IP.",
  842. "schema": {
  843. "type": "boolean",
  844. "show_if": [
  845. [
  846. "provider",
  847. "=",
  848. "dyn"
  849. ]
  850. ],
  851. "default": false
  852. }
  853. },
  854. {
  855. "variable": "dynuUsername",
  856. "label": "Dynu Username",
  857. "description": "Dynu Username.",
  858. "schema": {
  859. "type": "string",
  860. "show_if": [
  861. [
  862. "provider",
  863. "=",
  864. "dynu"
  865. ]
  866. ],
  867. "required": true,
  868. "empty": false
  869. }
  870. },
  871. {
  872. "variable": "dynuPassword",
  873. "label": "Dynu Password",
  874. "description": "Dynu Password.",
  875. "schema": {
  876. "type": "string",
  877. "show_if": [
  878. [
  879. "provider",
  880. "=",
  881. "dynu"
  882. ]
  883. ],
  884. "required": true,
  885. "private": true,
  886. "empty": false
  887. }
  888. },
  889. {
  890. "variable": "dynuGroup",
  891. "label": "Dynu Group",
  892. "description": "Dynu Group.",
  893. "schema": {
  894. "type": "string",
  895. "show_if": [
  896. [
  897. "provider",
  898. "=",
  899. "dynu"
  900. ]
  901. ]
  902. }
  903. },
  904. {
  905. "variable": "dynuProviderIP",
  906. "label": "Dynu Provider IP",
  907. "description": "Dynu Provider IP.",
  908. "schema": {
  909. "type": "boolean",
  910. "show_if": [
  911. [
  912. "provider",
  913. "=",
  914. "dynu"
  915. ]
  916. ],
  917. "default": false
  918. }
  919. },
  920. {
  921. "variable": "dynv6Token",
  922. "label": "DynV6 Token",
  923. "description": "DynV6 Token",
  924. "schema": {
  925. "type": "string",
  926. "show_if": [
  927. [
  928. "provider",
  929. "=",
  930. "dynv6"
  931. ]
  932. ],
  933. "required": true,
  934. "private": true,
  935. "empty": false
  936. }
  937. },
  938. {
  939. "variable": "dynv6ProviderIP",
  940. "label": "DynV6 Provider IP",
  941. "description": "DynV6 Provider IP.",
  942. "schema": {
  943. "type": "boolean",
  944. "show_if": [
  945. [
  946. "provider",
  947. "=",
  948. "dynv6"
  949. ]
  950. ],
  951. "default": false
  952. }
  953. },
  954. {
  955. "variable": "freeDnsToken",
  956. "label": "FreeDNS Token",
  957. "description": "FreeDNS Token.",
  958. "schema": {
  959. "type": "string",
  960. "show_if": [
  961. [
  962. "provider",
  963. "=",
  964. "freedns"
  965. ]
  966. ],
  967. "required": true,
  968. "empty": false
  969. }
  970. },
  971. {
  972. "variable": "gandiKey",
  973. "label": "Gandi Key",
  974. "description": "Gandi Key.",
  975. "schema": {
  976. "type": "string",
  977. "show_if": [
  978. [
  979. "provider",
  980. "=",
  981. "gandi"
  982. ]
  983. ],
  984. "required": true,
  985. "private": true,
  986. "empty": false
  987. }
  988. },
  989. {
  990. "variable": "gandiTtl",
  991. "label": "Gandi TTL",
  992. "description": "Gandi TTL.",
  993. "schema": {
  994. "type": "int",
  995. "show_if": [
  996. [
  997. "provider",
  998. "=",
  999. "gandi"
  1000. ]
  1001. ],
  1002. "default": 3600,
  1003. "required": true
  1004. }
  1005. },
  1006. {
  1007. "variable": "gcpProject",
  1008. "label": "GCP Project",
  1009. "description": "GCP Project.",
  1010. "schema": {
  1011. "type": "string",
  1012. "show_if": [
  1013. [
  1014. "provider",
  1015. "=",
  1016. "gcp"
  1017. ]
  1018. ],
  1019. "required": true,
  1020. "empty": false
  1021. }
  1022. },
  1023. {
  1024. "variable": "gcpZone",
  1025. "label": "GCP Zone",
  1026. "description": "GCP Zone.",
  1027. "schema": {
  1028. "type": "string",
  1029. "show_if": [
  1030. [
  1031. "provider",
  1032. "=",
  1033. "gcp"
  1034. ]
  1035. ],
  1036. "required": true,
  1037. "empty": false
  1038. }
  1039. },
  1040. {
  1041. "variable": "gcpCredentials",
  1042. "label": "GCP Credentials",
  1043. "description": "GCP Credentials.</br>\nPaste the JSON content in this field\n",
  1044. "schema": {
  1045. "type": "string",
  1046. "show_if": [
  1047. [
  1048. "provider",
  1049. "=",
  1050. "gcp"
  1051. ]
  1052. ],
  1053. "required": true,
  1054. "private": true,
  1055. "empty": false
  1056. }
  1057. },
  1058. {
  1059. "variable": "godaddyKey",
  1060. "label": "GoDaddy Key",
  1061. "description": "GoDaddy Key.",
  1062. "schema": {
  1063. "type": "string",
  1064. "show_if": [
  1065. [
  1066. "provider",
  1067. "=",
  1068. "godaddy"
  1069. ]
  1070. ],
  1071. "required": true,
  1072. "private": true,
  1073. "empty": false
  1074. }
  1075. },
  1076. {
  1077. "variable": "godaddySecret",
  1078. "label": "GoDaddy Secret",
  1079. "description": "GoDaddy Secret.",
  1080. "schema": {
  1081. "type": "string",
  1082. "show_if": [
  1083. [
  1084. "provider",
  1085. "=",
  1086. "godaddy"
  1087. ]
  1088. ],
  1089. "required": true,
  1090. "private": true,
  1091. "empty": false
  1092. }
  1093. },
  1094. {
  1095. "variable": "googleUsername",
  1096. "label": "Google Username",
  1097. "description": "Google Username.",
  1098. "schema": {
  1099. "type": "string",
  1100. "show_if": [
  1101. [
  1102. "provider",
  1103. "=",
  1104. "google"
  1105. ]
  1106. ],
  1107. "required": true,
  1108. "empty": false
  1109. }
  1110. },
  1111. {
  1112. "variable": "googlePassword",
  1113. "label": "Google Password",
  1114. "description": "Google Password.",
  1115. "schema": {
  1116. "type": "string",
  1117. "show_if": [
  1118. [
  1119. "provider",
  1120. "=",
  1121. "google"
  1122. ]
  1123. ],
  1124. "required": true,
  1125. "private": true,
  1126. "empty": false
  1127. }
  1128. },
  1129. {
  1130. "variable": "hePassword",
  1131. "label": "He.net Password",
  1132. "description": "He.net Password.",
  1133. "schema": {
  1134. "type": "string",
  1135. "show_if": [
  1136. [
  1137. "provider",
  1138. "=",
  1139. "he"
  1140. ]
  1141. ],
  1142. "required": true,
  1143. "private": true,
  1144. "empty": false
  1145. }
  1146. },
  1147. {
  1148. "variable": "heProviderIP",
  1149. "label": "He.net Provider IP",
  1150. "description": "He.net Provider IP.",
  1151. "schema": {
  1152. "type": "boolean",
  1153. "show_if": [
  1154. [
  1155. "provider",
  1156. "=",
  1157. "he"
  1158. ]
  1159. ],
  1160. "default": false
  1161. }
  1162. },
  1163. {
  1164. "variable": "infomaniakUsername",
  1165. "label": "Infomaniak Username",
  1166. "description": "Infomaniak Username.",
  1167. "schema": {
  1168. "type": "string",
  1169. "show_if": [
  1170. [
  1171. "provider",
  1172. "=",
  1173. "infomaniak"
  1174. ]
  1175. ],
  1176. "required": true,
  1177. "empty": false
  1178. }
  1179. },
  1180. {
  1181. "variable": "infomaniakPassword",
  1182. "label": "Infomaniak Password",
  1183. "description": "Infomaniak Password.",
  1184. "schema": {
  1185. "type": "string",
  1186. "show_if": [
  1187. [
  1188. "provider",
  1189. "=",
  1190. "infomaniak"
  1191. ]
  1192. ],
  1193. "required": true,
  1194. "private": true,
  1195. "empty": false
  1196. }
  1197. },
  1198. {
  1199. "variable": "infomaniakProviderIP",
  1200. "label": "Infomaniak Provider IP",
  1201. "description": "Infomaniak Provider IP.",
  1202. "schema": {
  1203. "type": "boolean",
  1204. "show_if": [
  1205. [
  1206. "provider",
  1207. "=",
  1208. "infomaniak"
  1209. ]
  1210. ],
  1211. "default": false
  1212. }
  1213. },
  1214. {
  1215. "variable": "inwxUsername",
  1216. "label": "INWX Username",
  1217. "description": "INWX Username.",
  1218. "schema": {
  1219. "type": "string",
  1220. "show_if": [
  1221. [
  1222. "provider",
  1223. "=",
  1224. "inwx"
  1225. ]
  1226. ],
  1227. "required": true,
  1228. "empty": false
  1229. }
  1230. },
  1231. {
  1232. "variable": "inwxPassword",
  1233. "label": "INWX Password",
  1234. "description": "INWX Password.",
  1235. "schema": {
  1236. "type": "string",
  1237. "show_if": [
  1238. [
  1239. "provider",
  1240. "=",
  1241. "inwx"
  1242. ]
  1243. ],
  1244. "private": true,
  1245. "required": true,
  1246. "empty": false
  1247. }
  1248. },
  1249. {
  1250. "variable": "linodeToken",
  1251. "label": "Linode Token",
  1252. "description": "Linode Token.",
  1253. "schema": {
  1254. "type": "string",
  1255. "show_if": [
  1256. [
  1257. "provider",
  1258. "=",
  1259. "linode"
  1260. ]
  1261. ],
  1262. "required": true,
  1263. "private": true,
  1264. "empty": false
  1265. }
  1266. },
  1267. {
  1268. "variable": "luadnsToken",
  1269. "label": "LuaDNS Token",
  1270. "description": "LuaDNS Token.",
  1271. "schema": {
  1272. "type": "string",
  1273. "show_if": [
  1274. [
  1275. "provider",
  1276. "=",
  1277. "luadns"
  1278. ]
  1279. ],
  1280. "required": true,
  1281. "private": true,
  1282. "empty": false
  1283. }
  1284. },
  1285. {
  1286. "variable": "luadnsEmail",
  1287. "label": "LuaDNS Email",
  1288. "description": "LuaDNS Email.",
  1289. "schema": {
  1290. "type": "string",
  1291. "show_if": [
  1292. [
  1293. "provider",
  1294. "=",
  1295. "luadns"
  1296. ]
  1297. ],
  1298. "required": true,
  1299. "empty": false
  1300. }
  1301. },
  1302. {
  1303. "variable": "namecheapPassword",
  1304. "label": "Namecheap Password",
  1305. "description": "Namecheap Password.",
  1306. "schema": {
  1307. "type": "string",
  1308. "show_if": [
  1309. [
  1310. "provider",
  1311. "=",
  1312. "namecheap"
  1313. ]
  1314. ],
  1315. "required": true,
  1316. "private": true,
  1317. "empty": false
  1318. }
  1319. },
  1320. {
  1321. "variable": "namecheapProviderIP",
  1322. "label": "Namecheap Provider IP",
  1323. "description": "Namecheap Provider IP.",
  1324. "schema": {
  1325. "type": "boolean",
  1326. "show_if": [
  1327. [
  1328. "provider",
  1329. "=",
  1330. "namecheap"
  1331. ]
  1332. ],
  1333. "default": false
  1334. }
  1335. },
  1336. {
  1337. "variable": "njallaKey",
  1338. "label": "Njalla Key",
  1339. "description": "Njalla Key.",
  1340. "schema": {
  1341. "type": "string",
  1342. "show_if": [
  1343. [
  1344. "provider",
  1345. "=",
  1346. "njalla"
  1347. ]
  1348. ],
  1349. "required": true,
  1350. "private": true,
  1351. "empty": false
  1352. }
  1353. },
  1354. {
  1355. "variable": "njallaProviderIP",
  1356. "label": "Njalla Provider IP",
  1357. "description": "Njalla Provider IP.",
  1358. "schema": {
  1359. "type": "boolean",
  1360. "show_if": [
  1361. [
  1362. "provider",
  1363. "=",
  1364. "njalla"
  1365. ]
  1366. ],
  1367. "default": false
  1368. }
  1369. },
  1370. {
  1371. "variable": "noipUsername",
  1372. "label": "NoIP Username",
  1373. "description": "NoIP Username.",
  1374. "schema": {
  1375. "type": "string",
  1376. "show_if": [
  1377. [
  1378. "provider",
  1379. "=",
  1380. "noip"
  1381. ]
  1382. ],
  1383. "required": true,
  1384. "empty": false
  1385. }
  1386. },
  1387. {
  1388. "variable": "noipPassword",
  1389. "label": "NoIP Password",
  1390. "description": "NoIP Password.",
  1391. "schema": {
  1392. "type": "string",
  1393. "show_if": [
  1394. [
  1395. "provider",
  1396. "=",
  1397. "noip"
  1398. ]
  1399. ],
  1400. "required": true,
  1401. "private": true,
  1402. "empty": false
  1403. }
  1404. },
  1405. {
  1406. "variable": "noipProviderIP",
  1407. "label": "NoIP Provider IP",
  1408. "description": "NoIP Provider IP.",
  1409. "schema": {
  1410. "type": "boolean",
  1411. "show_if": [
  1412. [
  1413. "provider",
  1414. "=",
  1415. "noip"
  1416. ]
  1417. ],
  1418. "default": false
  1419. }
  1420. },
  1421. {
  1422. "variable": "opendnsUsername",
  1423. "label": "OpenDNS Username",
  1424. "description": "OpenDNS Username.",
  1425. "schema": {
  1426. "type": "string",
  1427. "show_if": [
  1428. [
  1429. "provider",
  1430. "=",
  1431. "opendns"
  1432. ]
  1433. ],
  1434. "required": true,
  1435. "empty": false
  1436. }
  1437. },
  1438. {
  1439. "variable": "opendnsPassword",
  1440. "label": "OpenDNS Password",
  1441. "description": "OpenDNS Password.",
  1442. "schema": {
  1443. "type": "string",
  1444. "show_if": [
  1445. [
  1446. "provider",
  1447. "=",
  1448. "opendns"
  1449. ]
  1450. ],
  1451. "required": true,
  1452. "private": true,
  1453. "empty": false
  1454. }
  1455. },
  1456. {
  1457. "variable": "opendnsProviderIP",
  1458. "label": "OpenDNS Provider IP",
  1459. "description": "OpenDNS Provider IP.",
  1460. "schema": {
  1461. "type": "boolean",
  1462. "show_if": [
  1463. [
  1464. "provider",
  1465. "=",
  1466. "opendns"
  1467. ]
  1468. ],
  1469. "default": false
  1470. }
  1471. },
  1472. {
  1473. "variable": "ovhMode",
  1474. "label": "OVH Mode",
  1475. "description": "OVH Mode.",
  1476. "schema": {
  1477. "type": "string",
  1478. "show_if": [
  1479. [
  1480. "provider",
  1481. "=",
  1482. "ovh"
  1483. ]
  1484. ],
  1485. "default": "dynamic",
  1486. "required": true,
  1487. "enum": [
  1488. {
  1489. "value": "dynamic",
  1490. "description": "Dynamic"
  1491. },
  1492. {
  1493. "value": "api",
  1494. "description": "API"
  1495. }
  1496. ]
  1497. }
  1498. },
  1499. {
  1500. "variable": "ovhUsername",
  1501. "label": "OVH Username",
  1502. "description": "OVH Username.",
  1503. "schema": {
  1504. "type": "string",
  1505. "show_if": [
  1506. [
  1507. "provider",
  1508. "=",
  1509. "ovh"
  1510. ]
  1511. ]
  1512. }
  1513. },
  1514. {
  1515. "variable": "ovhPassword",
  1516. "label": "OVH Password",
  1517. "description": "OVH Password.",
  1518. "schema": {
  1519. "type": "string",
  1520. "private": true,
  1521. "show_if": [
  1522. [
  1523. "provider",
  1524. "=",
  1525. "ovh"
  1526. ]
  1527. ]
  1528. }
  1529. },
  1530. {
  1531. "variable": "ovhApiEndpoint",
  1532. "label": "OVH API Endpoint",
  1533. "description": "OVH API Endpoint.",
  1534. "schema": {
  1535. "type": "string",
  1536. "show_if": [
  1537. [
  1538. "provider",
  1539. "=",
  1540. "ovh"
  1541. ]
  1542. ],
  1543. "default": "ovh-eu"
  1544. }
  1545. },
  1546. {
  1547. "variable": "ovhAppKey",
  1548. "label": "OVH Application Key",
  1549. "description": "OVH Application Key.",
  1550. "schema": {
  1551. "type": "string",
  1552. "private": true,
  1553. "show_if": [
  1554. [
  1555. "provider",
  1556. "=",
  1557. "ovh"
  1558. ]
  1559. ]
  1560. }
  1561. },
  1562. {
  1563. "variable": "ovhAppSecret",
  1564. "label": "OVH Application Secret",
  1565. "description": "OVH Application Secret.",
  1566. "schema": {
  1567. "type": "string",
  1568. "private": true,
  1569. "show_if": [
  1570. [
  1571. "provider",
  1572. "=",
  1573. "ovh"
  1574. ]
  1575. ]
  1576. }
  1577. },
  1578. {
  1579. "variable": "ovhConsumerKey",
  1580. "label": "OVH Consumer Key",
  1581. "description": "OVH Consumer Key.",
  1582. "schema": {
  1583. "type": "string",
  1584. "private": true,
  1585. "show_if": [
  1586. [
  1587. "provider",
  1588. "=",
  1589. "ovh"
  1590. ]
  1591. ]
  1592. }
  1593. },
  1594. {
  1595. "variable": "ovhProviderIP",
  1596. "label": "OVH Provider IP",
  1597. "description": "OVH Provider IP.",
  1598. "schema": {
  1599. "type": "boolean",
  1600. "show_if": [
  1601. [
  1602. "provider",
  1603. "=",
  1604. "ovh"
  1605. ]
  1606. ],
  1607. "default": false
  1608. }
  1609. },
  1610. {
  1611. "variable": "porkbunApiKey",
  1612. "label": "Porkbun API Key",
  1613. "description": "Porkbun API Key.",
  1614. "schema": {
  1615. "type": "string",
  1616. "show_if": [
  1617. [
  1618. "provider",
  1619. "=",
  1620. "porkbun"
  1621. ]
  1622. ],
  1623. "required": true,
  1624. "private": true,
  1625. "empty": false
  1626. }
  1627. },
  1628. {
  1629. "variable": "porkbunSecretApiKey",
  1630. "label": "Porkbun Secret API Key",
  1631. "description": "Porkbun Secret API Key.",
  1632. "schema": {
  1633. "type": "string",
  1634. "show_if": [
  1635. [
  1636. "provider",
  1637. "=",
  1638. "porkbun"
  1639. ]
  1640. ],
  1641. "required": true,
  1642. "private": true,
  1643. "empty": false
  1644. }
  1645. },
  1646. {
  1647. "variable": "porkbunTtl",
  1648. "label": "Porkbun TTL",
  1649. "description": "Porkbun TTL.",
  1650. "schema": {
  1651. "type": "int",
  1652. "show_if": [
  1653. [
  1654. "provider",
  1655. "=",
  1656. "porkbun"
  1657. ]
  1658. ],
  1659. "default": 3600
  1660. }
  1661. },
  1662. {
  1663. "variable": "selfhostdeUsername",
  1664. "label": "Selfhost.de Username",
  1665. "description": "Selfhost.de Username.",
  1666. "schema": {
  1667. "type": "string",
  1668. "show_if": [
  1669. [
  1670. "provider",
  1671. "=",
  1672. "selfhost.de"
  1673. ]
  1674. ],
  1675. "required": true,
  1676. "empty": false
  1677. }
  1678. },
  1679. {
  1680. "variable": "selfhostdePassword",
  1681. "label": "Selfhost.de Password",
  1682. "description": "Selfhost.de Password.",
  1683. "schema": {
  1684. "type": "string",
  1685. "show_if": [
  1686. [
  1687. "provider",
  1688. "=",
  1689. "selfhost.de"
  1690. ]
  1691. ],
  1692. "required": true,
  1693. "private": true,
  1694. "empty": false
  1695. }
  1696. },
  1697. {
  1698. "variable": "selfhostdeProviderIP",
  1699. "label": "Selfhost.de Provider IP",
  1700. "description": "Selfhost.de Provider IP.",
  1701. "schema": {
  1702. "type": "boolean",
  1703. "show_if": [
  1704. [
  1705. "provider",
  1706. "=",
  1707. "selfhost.de"
  1708. ]
  1709. ],
  1710. "default": false
  1711. }
  1712. },
  1713. {
  1714. "variable": "servercowUsername",
  1715. "label": "Servercow Username",
  1716. "description": "Servercow Username.",
  1717. "schema": {
  1718. "type": "string",
  1719. "show_if": [
  1720. [
  1721. "provider",
  1722. "=",
  1723. "servercow"
  1724. ]
  1725. ],
  1726. "required": true,
  1727. "empty": false
  1728. }
  1729. },
  1730. {
  1731. "variable": "servercowPassword",
  1732. "label": "Servercow Password",
  1733. "description": "Servercow Password.",
  1734. "schema": {
  1735. "type": "string",
  1736. "show_if": [
  1737. [
  1738. "provider",
  1739. "=",
  1740. "servercow"
  1741. ]
  1742. ],
  1743. "required": true,
  1744. "private": true,
  1745. "empty": false
  1746. }
  1747. },
  1748. {
  1749. "variable": "servercowTtl",
  1750. "label": "Servercow TTL",
  1751. "description": "Servercow TTL.",
  1752. "schema": {
  1753. "type": "int",
  1754. "show_if": [
  1755. [
  1756. "provider",
  1757. "=",
  1758. "servercow"
  1759. ]
  1760. ],
  1761. "default": 120
  1762. }
  1763. },
  1764. {
  1765. "variable": "servercowProviderIP",
  1766. "label": "Servercow Provider IP",
  1767. "description": "Servercow Provider IP.",
  1768. "schema": {
  1769. "type": "boolean",
  1770. "show_if": [
  1771. [
  1772. "provider",
  1773. "=",
  1774. "servercow"
  1775. ]
  1776. ],
  1777. "default": false
  1778. }
  1779. },
  1780. {
  1781. "variable": "spdynToken",
  1782. "label": "Spdyn.de Token",
  1783. "description": "Spdyn.de Token.",
  1784. "schema": {
  1785. "type": "string",
  1786. "show_if": [
  1787. [
  1788. "provider",
  1789. "=",
  1790. "spdyn"
  1791. ]
  1792. ],
  1793. "required": true,
  1794. "private": true,
  1795. "empty": false
  1796. }
  1797. },
  1798. {
  1799. "variable": "spdynUsername",
  1800. "label": "Spdyn.de Username",
  1801. "description": "Spdyn.de Username.",
  1802. "schema": {
  1803. "type": "string",
  1804. "show_if": [
  1805. [
  1806. "provider",
  1807. "=",
  1808. "spdyn"
  1809. ]
  1810. ],
  1811. "required": true,
  1812. "empty": false
  1813. }
  1814. },
  1815. {
  1816. "variable": "spdynPassword",
  1817. "label": "Spdyn.de Password",
  1818. "description": "Spdyn.de Password.",
  1819. "schema": {
  1820. "type": "string",
  1821. "show_if": [
  1822. [
  1823. "provider",
  1824. "=",
  1825. "spdyn"
  1826. ]
  1827. ],
  1828. "required": true,
  1829. "private": true,
  1830. "empty": false
  1831. }
  1832. },
  1833. {
  1834. "variable": "spdynProviderIP",
  1835. "label": "Spdyn.de Provider IP",
  1836. "description": "Spdyn.de Provider IP.",
  1837. "schema": {
  1838. "type": "boolean",
  1839. "show_if": [
  1840. [
  1841. "provider",
  1842. "=",
  1843. "spdyn"
  1844. ]
  1845. ],
  1846. "default": false
  1847. }
  1848. },
  1849. {
  1850. "variable": "stratoPassword",
  1851. "label": "Strato Password",
  1852. "description": "Strato Password.",
  1853. "schema": {
  1854. "type": "string",
  1855. "show_if": [
  1856. [
  1857. "provider",
  1858. "=",
  1859. "strato"
  1860. ]
  1861. ],
  1862. "required": true,
  1863. "private": true,
  1864. "empty": false
  1865. }
  1866. },
  1867. {
  1868. "variable": "stratoProviderIP",
  1869. "label": "Strato Provider IP",
  1870. "description": "Strato Provider IP.",
  1871. "schema": {
  1872. "type": "boolean",
  1873. "show_if": [
  1874. [
  1875. "provider",
  1876. "=",
  1877. "strato"
  1878. ]
  1879. ],
  1880. "default": false
  1881. }
  1882. },
  1883. {
  1884. "variable": "variomediaPassword",
  1885. "label": "Variomedia Password",
  1886. "description": "Variomedia Password.",
  1887. "schema": {
  1888. "type": "string",
  1889. "show_if": [
  1890. [
  1891. "provider",
  1892. "=",
  1893. "variomedia"
  1894. ]
  1895. ],
  1896. "required": true,
  1897. "private": true,
  1898. "empty": false
  1899. }
  1900. },
  1901. {
  1902. "variable": "variomediaEmail",
  1903. "label": "Variomedia Email",
  1904. "description": "Variomedia Email.",
  1905. "schema": {
  1906. "type": "string",
  1907. "show_if": [
  1908. [
  1909. "provider",
  1910. "=",
  1911. "variomedia"
  1912. ]
  1913. ],
  1914. "required": true,
  1915. "empty": false
  1916. }
  1917. },
  1918. {
  1919. "variable": "variomediaProviderIP",
  1920. "label": "Variomedia Provider IP",
  1921. "description": "Variomedia Provider IP.",
  1922. "schema": {
  1923. "type": "boolean",
  1924. "show_if": [
  1925. [
  1926. "provider",
  1927. "=",
  1928. "variomedia"
  1929. ]
  1930. ],
  1931. "default": false
  1932. }
  1933. }
  1934. ]
  1935. }
  1936. }
  1937. ]
  1938. }
  1939. },
  1940. {
  1941. "variable": "period",
  1942. "label": "Update Period",
  1943. "description": "Default period of IP address check, following this format:</br>\n5m = 5 minutes</br>\n1h = 1 hour</br>\n1h30m = 1 hour 30 minutes\n",
  1944. "schema": {
  1945. "type": "string",
  1946. "default": "5m",
  1947. "required": true
  1948. }
  1949. },
  1950. {
  1951. "variable": "updateCooldownPeriod",
  1952. "label": "Update Cooldown Period",
  1953. "description": "Duration to cooldown between updates for each record.\nThis is useful to avoid being rate limited or banned,\nfollowing this format:</br>\n5m = 5 minutes</br>\n1h = 1 hour</br>\n1h30m = 1 hour 30 minutes\n",
  1954. "schema": {
  1955. "type": "string",
  1956. "default": "5m",
  1957. "required": true
  1958. }
  1959. },
  1960. {
  1961. "variable": "backupPeriod",
  1962. "label": "Backup Period",
  1963. "description": "Set to a period to enable zip backups of data/config.json and\ndata/updates.json in a zip file following this format:</br>\n0 = disabled</br>\n10h = 10 hours</br>\n20h30m = 20 hours 30 minutes\n",
  1964. "schema": {
  1965. "type": "string",
  1966. "default": "24h",
  1967. "required": true
  1968. }
  1969. },
  1970. {
  1971. "variable": "httpTimeout",
  1972. "label": "HTTP Timeout",
  1973. "description": "Default timeout for HTTP requests, following this format:</br>\n10s = 10 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
  1974. "schema": {
  1975. "type": "string",
  1976. "default": "10s",
  1977. "required": true
  1978. }
  1979. },
  1980. {
  1981. "variable": "publicIpDnsTimeout",
  1982. "label": "Public IP DNS Timeout",
  1983. "description": "Public IP DNS query timeout, following this format:</br>\n3s = 3 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
  1984. "schema": {
  1985. "type": "string",
  1986. "default": "3s",
  1987. "required": true
  1988. }
  1989. },
  1990. {
  1991. "variable": "shoutrrrAddresses",
  1992. "label": "Shoutrrr Addresses",
  1993. "description": "List of Shoutrrr addresses to send notifications to. </br>\nSee https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.\n",
  1994. "schema": {
  1995. "type": "list",
  1996. "default": [],
  1997. "items": [
  1998. {
  1999. "variable": "address",
  2000. "label": "Address",
  2001. "schema": {
  2002. "type": "string",
  2003. "required": true,
  2004. "empty": false
  2005. }
  2006. }
  2007. ]
  2008. }
  2009. },
  2010. {
  2011. "variable": "publicIpDnsProviders",
  2012. "label": "Public IP DNS Providers",
  2013. "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
  2014. "schema": {
  2015. "type": "list",
  2016. "min": 1,
  2017. "required": true,
  2018. "empty": false,
  2019. "default": [
  2020. {
  2021. "provider": "all",
  2022. "placeholder": "placeholder"
  2023. }
  2024. ],
  2025. "items": [
  2026. {
  2027. "variable": "publicIpDnsProviderEntry",
  2028. "label": "Public IP DNS Provider Entry",
  2029. "schema": {
  2030. "type": "dict",
  2031. "attrs": [
  2032. {
  2033. "variable": "provider",
  2034. "label": "Provider",
  2035. "schema": {
  2036. "type": "string",
  2037. "required": true,
  2038. "enum": [
  2039. {
  2040. "value": "all",
  2041. "description": "All providers"
  2042. },
  2043. {
  2044. "value": "google",
  2045. "description": "Google"
  2046. },
  2047. {
  2048. "value": "cloudflare",
  2049. "description": "Cloudflare"
  2050. }
  2051. ]
  2052. }
  2053. },
  2054. {
  2055. "variable": "placeholder",
  2056. "label": "placeholder",
  2057. "schema": {
  2058. "type": "string",
  2059. "default": "placeholder",
  2060. "required": true,
  2061. "hidden": true
  2062. }
  2063. }
  2064. ]
  2065. }
  2066. }
  2067. ]
  2068. }
  2069. },
  2070. {
  2071. "variable": "publicIpHttpProviders",
  2072. "label": "Public IP HTTP Providers",
  2073. "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
  2074. "schema": {
  2075. "type": "list",
  2076. "min": 1,
  2077. "required": true,
  2078. "empty": false,
  2079. "default": [
  2080. {
  2081. "provider": "all",
  2082. "custom": ""
  2083. }
  2084. ],
  2085. "items": [
  2086. {
  2087. "variable": "publicIpHttpProviderEntry",
  2088. "label": "Public IP HTTP Provider Entry",
  2089. "schema": {
  2090. "type": "dict",
  2091. "attrs": [
  2092. {
  2093. "variable": "provider",
  2094. "label": "Provider",
  2095. "schema": {
  2096. "type": "string",
  2097. "required": true,
  2098. "enum": [
  2099. {
  2100. "value": "all",
  2101. "description": "All providers"
  2102. },
  2103. {
  2104. "value": "opendns",
  2105. "description": "opendns"
  2106. },
  2107. {
  2108. "value": "ifconfig",
  2109. "description": "ifconfig"
  2110. },
  2111. {
  2112. "value": "ipinfo",
  2113. "description": "ipinfo"
  2114. },
  2115. {
  2116. "value": "ddnss",
  2117. "description": "ddnss"
  2118. },
  2119. {
  2120. "value": "google",
  2121. "description": "google"
  2122. },
  2123. {
  2124. "value": "custom",
  2125. "description": "Custom Provider"
  2126. }
  2127. ]
  2128. }
  2129. },
  2130. {
  2131. "variable": "custom",
  2132. "label": "Custom Value",
  2133. "schema": {
  2134. "type": "string",
  2135. "show_if": [
  2136. [
  2137. "provider",
  2138. "=",
  2139. "custom"
  2140. ]
  2141. ],
  2142. "default": "",
  2143. "required": true
  2144. }
  2145. }
  2146. ]
  2147. }
  2148. }
  2149. ]
  2150. }
  2151. },
  2152. {
  2153. "variable": "publicIpv4HttpProviders",
  2154. "label": "Public IPv4 HTTP Providers",
  2155. "description": "Providers to obtain the public IPv4 address",
  2156. "schema": {
  2157. "type": "list",
  2158. "min": 1,
  2159. "required": true,
  2160. "empty": false,
  2161. "default": [
  2162. {
  2163. "provider": "all",
  2164. "custom": ""
  2165. }
  2166. ],
  2167. "items": [
  2168. {
  2169. "variable": "publicIpv4HttpProviderEntry",
  2170. "label": "Public IPv4 HTTP Provider Entry",
  2171. "schema": {
  2172. "type": "dict",
  2173. "attrs": [
  2174. {
  2175. "variable": "provider",
  2176. "label": "Provider",
  2177. "schema": {
  2178. "type": "string",
  2179. "required": true,
  2180. "enum": [
  2181. {
  2182. "value": "all",
  2183. "description": "All providers"
  2184. },
  2185. {
  2186. "value": "ipify",
  2187. "description": "ipify"
  2188. },
  2189. {
  2190. "value": "noip",
  2191. "description": "noip"
  2192. },
  2193. {
  2194. "value": "custom",
  2195. "description": "Custom Provider"
  2196. }
  2197. ]
  2198. }
  2199. },
  2200. {
  2201. "variable": "custom",
  2202. "label": "Custom Value",
  2203. "schema": {
  2204. "type": "string",
  2205. "show_if": [
  2206. [
  2207. "provider",
  2208. "=",
  2209. "custom"
  2210. ]
  2211. ],
  2212. "default": "",
  2213. "required": true
  2214. }
  2215. }
  2216. ]
  2217. }
  2218. }
  2219. ]
  2220. }
  2221. },
  2222. {
  2223. "variable": "publicIpv6HttpProviders",
  2224. "label": "Public IPv6 HTTP Providers",
  2225. "description": "Providers to obtain the public IPv6 address",
  2226. "schema": {
  2227. "type": "list",
  2228. "min": 1,
  2229. "required": true,
  2230. "empty": false,
  2231. "default": [
  2232. {
  2233. "provider": "all",
  2234. "custom": ""
  2235. }
  2236. ],
  2237. "items": [
  2238. {
  2239. "variable": "publicIpv6HttpProviderEntry",
  2240. "label": "Public IPv6 HTTP Provider Entry",
  2241. "schema": {
  2242. "type": "dict",
  2243. "attrs": [
  2244. {
  2245. "variable": "provider",
  2246. "label": "Provider",
  2247. "schema": {
  2248. "type": "string",
  2249. "required": true,
  2250. "enum": [
  2251. {
  2252. "value": "all",
  2253. "description": "All providers"
  2254. },
  2255. {
  2256. "value": "ipify",
  2257. "description": "ipify"
  2258. },
  2259. {
  2260. "value": "noip",
  2261. "description": "noip"
  2262. },
  2263. {
  2264. "value": "custom",
  2265. "description": "Custom Provider"
  2266. }
  2267. ]
  2268. }
  2269. },
  2270. {
  2271. "variable": "custom",
  2272. "label": "Custom Value",
  2273. "schema": {
  2274. "type": "string",
  2275. "show_if": [
  2276. [
  2277. "provider",
  2278. "=",
  2279. "custom"
  2280. ]
  2281. ],
  2282. "default": "",
  2283. "required": true
  2284. }
  2285. }
  2286. ]
  2287. }
  2288. }
  2289. ]
  2290. }
  2291. },
  2292. {
  2293. "variable": "publicIpFetchers",
  2294. "label": "Public IP Fetchers",
  2295. "description": "Fetcher types to obtain the public IP address",
  2296. "schema": {
  2297. "type": "list",
  2298. "min": 1,
  2299. "required": true,
  2300. "empty": false,
  2301. "default": [
  2302. {
  2303. "provider": "all",
  2304. "placeholder": "placeholder"
  2305. }
  2306. ],
  2307. "items": [
  2308. {
  2309. "variable": "publicIpFetcherEntry",
  2310. "label": "Public IP Fetcher Entry",
  2311. "schema": {
  2312. "type": "dict",
  2313. "attrs": [
  2314. {
  2315. "variable": "provider",
  2316. "label": "Fetcher",
  2317. "schema": {
  2318. "type": "string",
  2319. "required": true,
  2320. "enum": [
  2321. {
  2322. "value": "all",
  2323. "description": "All providers"
  2324. },
  2325. {
  2326. "value": "http",
  2327. "description": "HTTP"
  2328. },
  2329. {
  2330. "value": "dns",
  2331. "description": "DNS"
  2332. }
  2333. ]
  2334. }
  2335. },
  2336. {
  2337. "variable": "placeholder",
  2338. "label": "placeholder",
  2339. "schema": {
  2340. "type": "string",
  2341. "default": "placeholder",
  2342. "required": true,
  2343. "hidden": true
  2344. }
  2345. }
  2346. ]
  2347. }
  2348. }
  2349. ]
  2350. }
  2351. },
  2352. {
  2353. "variable": "additionalEnvs",
  2354. "label": "Additional Environment Variables",
  2355. "description": "Configure additional environment variables for DDNS Updater.",
  2356. "schema": {
  2357. "type": "list",
  2358. "default": [],
  2359. "items": [
  2360. {
  2361. "variable": "env",
  2362. "label": "Environment Variable",
  2363. "schema": {
  2364. "type": "dict",
  2365. "attrs": [
  2366. {
  2367. "variable": "name",
  2368. "label": "Name",
  2369. "schema": {
  2370. "type": "string",
  2371. "required": true
  2372. }
  2373. },
  2374. {
  2375. "variable": "value",
  2376. "label": "Value",
  2377. "schema": {
  2378. "type": "string",
  2379. "required": true
  2380. }
  2381. }
  2382. ]
  2383. }
  2384. }
  2385. ]
  2386. }
  2387. }
  2388. ]
  2389. }
  2390. },
  2391. {
  2392. "variable": "ddnsRunAs",
  2393. "label": "",
  2394. "group": "User and Group Configuration",
  2395. "schema": {
  2396. "type": "dict",
  2397. "attrs": [
  2398. {
  2399. "variable": "user",
  2400. "label": "User ID",
  2401. "description": "The user id that DDNS Updater will run as.",
  2402. "schema": {
  2403. "type": "int",
  2404. "min": 2,
  2405. "default": 568,
  2406. "required": true
  2407. }
  2408. },
  2409. {
  2410. "variable": "group",
  2411. "label": "Group ID",
  2412. "description": "The group id that DDNS Updater will run as.",
  2413. "schema": {
  2414. "type": "int",
  2415. "min": 2,
  2416. "default": 568,
  2417. "required": true
  2418. }
  2419. }
  2420. ]
  2421. }
  2422. },
  2423. {
  2424. "variable": "ddnsNetwork",
  2425. "label": "",
  2426. "group": "Network Configuration",
  2427. "schema": {
  2428. "type": "dict",
  2429. "attrs": [
  2430. {
  2431. "variable": "webPort",
  2432. "label": "Web Port",
  2433. "description": "The port for the DDNS Updater Web UI.",
  2434. "schema": {
  2435. "type": "int",
  2436. "default": 30007,
  2437. "min": 9000,
  2438. "max": 65535,
  2439. "required": true
  2440. }
  2441. },
  2442. {
  2443. "variable": "hostNetwork",
  2444. "label": "Host Network",
  2445. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  2446. "schema": {
  2447. "type": "boolean",
  2448. "default": false
  2449. }
  2450. }
  2451. ]
  2452. }
  2453. },
  2454. {
  2455. "variable": "ddnsStorage",
  2456. "label": "",
  2457. "group": "Storage Configuration",
  2458. "schema": {
  2459. "type": "dict",
  2460. "attrs": [
  2461. {
  2462. "variable": "data",
  2463. "label": "DDNS Updater Data Storage",
  2464. "description": "The path to store DDNS Updater Data.",
  2465. "schema": {
  2466. "type": "dict",
  2467. "attrs": [
  2468. {
  2469. "variable": "type",
  2470. "label": "Type",
  2471. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  2472. "schema": {
  2473. "type": "string",
  2474. "required": true,
  2475. "immutable": true,
  2476. "default": "ixVolume",
  2477. "enum": [
  2478. {
  2479. "value": "hostPath",
  2480. "description": "Host Path (Path that already exists on the system)"
  2481. },
  2482. {
  2483. "value": "ixVolume",
  2484. "description": "ixVolume (Dataset created automatically by the system)"
  2485. }
  2486. ]
  2487. }
  2488. },
  2489. {
  2490. "variable": "datasetName",
  2491. "label": "Dataset Name",
  2492. "schema": {
  2493. "type": "string",
  2494. "show_if": [
  2495. [
  2496. "type",
  2497. "=",
  2498. "ixVolume"
  2499. ]
  2500. ],
  2501. "required": true,
  2502. "hidden": true,
  2503. "immutable": true,
  2504. "default": "data",
  2505. "$ref": [
  2506. "normalize/ixVolume"
  2507. ]
  2508. }
  2509. },
  2510. {
  2511. "variable": "hostPath",
  2512. "label": "Host Path",
  2513. "schema": {
  2514. "type": "hostpath",
  2515. "show_if": [
  2516. [
  2517. "type",
  2518. "=",
  2519. "hostPath"
  2520. ]
  2521. ],
  2522. "immutable": true,
  2523. "required": true
  2524. }
  2525. }
  2526. ]
  2527. }
  2528. }
  2529. ]
  2530. }
  2531. },
  2532. {
  2533. "variable": "resources",
  2534. "group": "Resources Configuration",
  2535. "label": "",
  2536. "schema": {
  2537. "type": "dict",
  2538. "attrs": [
  2539. {
  2540. "variable": "limits",
  2541. "label": "Limits",
  2542. "schema": {
  2543. "type": "dict",
  2544. "attrs": [
  2545. {
  2546. "variable": "cpu",
  2547. "label": "CPU",
  2548. "description": "CPU limit for DDNS Updater.",
  2549. "schema": {
  2550. "type": "string",
  2551. "max_length": 6,
  2552. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  2553. "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",
  2554. "default": "4000m",
  2555. "required": true
  2556. }
  2557. },
  2558. {
  2559. "variable": "memory",
  2560. "label": "Memory",
  2561. "description": "Memory limit for DDNS Updater.",
  2562. "schema": {
  2563. "type": "string",
  2564. "max_length": 12,
  2565. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  2566. "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",
  2567. "default": "8Gi",
  2568. "required": true
  2569. }
  2570. }
  2571. ]
  2572. }
  2573. }
  2574. ]
  2575. }
  2576. }
  2577. ]
  2578. },
  2579. "app_readme": "<h1>DDNS Updater</h1>\n<p><a href=\"https://github.com/qdm12/ddns-updater\">DDNS Updater</a> is a lightweight universal DDNS Updater with web UI</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>DDNS Updater</code> directories.\nAfterward, the <code>DDNS Updater</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAll mounted storage(s) will be <code>chown</code>ed only if the parent directory does not match the configured user.</p>\n</blockquote>",
  2580. "detailed_readme": "<h1>DDNS Updater</h1>\n<p><a href=\"https://github.com/qdm12/ddns-updater\">DDNS Updater</a> is a lightweight universal DDNS Updater with web UI</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>DDNS Updater</code> directories.\nAfterward, the <code>DDNS Updater</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAll mounted storage(s) will be <code>chown</code>ed only if the parent directory does not match the configured user.</p>\n</blockquote>",
  2581. "changelog": null
  2582. }
  2583. }