123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583 |
- {
- "1.0.17": {
- "healthy": true,
- "supported": true,
- "healthy_error": null,
- "location": "/__w/charts/charts/community/ddns-updater/1.0.17",
- "last_update": "2023-11-14 10:11:57",
- "required_features": [
- "definitions/timezone",
- "normalize/ixVolume"
- ],
- "human_version": "v2.5.0_1.0.17",
- "version": "1.0.17",
- "chart_metadata": {
- "name": "ddns-updater",
- "description": "Lightweight universal DDNS Updater with web UI",
- "annotations": {
- "title": "DDNS Updater"
- },
- "type": "application",
- "version": "1.0.17",
- "apiVersion": "v2",
- "appVersion": "v2.5.0",
- "kubeVersion": ">=1.16.0-0",
- "maintainers": [
- {
- "name": "truenas",
- "url": "https://www.truenas.com/",
- "email": "dev@ixsystems.com"
- }
- ],
- "dependencies": [
- {
- "name": "common",
- "repository": "file://../../../common",
- "version": "1.2.2"
- }
- ],
- "home": "https://github.com/qdm12/ddns-updater",
- "icon": "https://media.sys.truenas.net/apps/ddns-updater/icons/icon.svg",
- "sources": [
- "https://github.com/qdm12/ddns-updater",
- "https://github.com/truenas/charts/tree/master/community/ddns-updater",
- "https://hub.docker.com/r/qmcgaw/ddns-updater"
- ],
- "keywords": [
- "ddns-updater",
- "ddns"
- ]
- },
- "app_metadata": {
- "runAsContext": [
- {
- "userName": "ddns-updater",
- "groupName": "ddns-updater",
- "gid": 568,
- "uid": 568,
- "description": "DDNS Updater runs as any non-root user."
- }
- ],
- "capabilities": [],
- "hostMounts": []
- },
- "schema": {
- "groups": [
- {
- "name": "DDNS Updater Configuration",
- "description": "Configure DDNS Updater"
- },
- {
- "name": "User and Group Configuration",
- "description": "Configure User and Group for DDNS Updater"
- },
- {
- "name": "Network Configuration",
- "description": "Configure Network for DDNS Updater"
- },
- {
- "name": "Storage Configuration",
- "description": "Configure Storage for DDNS Updater"
- },
- {
- "name": "Resources Configuration",
- "description": "Configure Resources for DDNS Updater"
- }
- ],
- "portals": {
- "web_portal": {
- "protocols": [
- "$kubernetes-resource_configmap_portal_protocol"
- ],
- "host": [
- "$kubernetes-resource_configmap_portal_host"
- ],
- "ports": [
- "$kubernetes-resource_configmap_portal_port"
- ],
- "path": "$kubernetes-resource_configmap_portal_path"
- }
- },
- "questions": [
- {
- "variable": "TZ",
- "group": "DDNS Updater Configuration",
- "label": "Timezone",
- "schema": {
- "type": "string",
- "default": "America/Los_Angeles",
- "required": true,
- "$ref": [
- "definitions/timezone"
- ],
- "enum": [
- {
- "value": "Asia/Damascus",
- "description": "'Asia/Damascus' timezone"
- },
- {
- "value": "Asia/Saigon",
- "description": "'Asia/Saigon' timezone"
- }
- ]
- }
- },
- {
- "variable": "ddnsConfig",
- "label": "",
- "group": "DDNS Updater Configuration",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "config",
- "label": "DNS Provider Configuration",
- "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",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [],
- "items": [
- {
- "variable": "configEntry",
- "label": "Configuration Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Provider",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "aliyun",
- "description": "Aliyun"
- },
- {
- "value": "allinkl",
- "description": "All-Inkl"
- },
- {
- "value": "cloudflare",
- "description": "Cloudflare"
- },
- {
- "value": "dd24",
- "description": "DD24"
- },
- {
- "value": "ddnss",
- "description": "DDNSS"
- },
- {
- "value": "digitalocean",
- "description": "Digital Ocean"
- },
- {
- "value": "dnsomatic",
- "description": "DNS O Matic"
- },
- {
- "value": "dnspod",
- "description": "DNS Pod"
- },
- {
- "value": "dondominio",
- "description": "Don Dominio"
- },
- {
- "value": "dreamhost",
- "description": "Dreamhost"
- },
- {
- "value": "duckdns",
- "description": "Duck DNS"
- },
- {
- "value": "dyn",
- "description": "DynDNS"
- },
- {
- "value": "dynu",
- "description": "Dynu"
- },
- {
- "value": "dynv6",
- "description": "DynV6"
- },
- {
- "value": "freedns",
- "description": "FreeDNS"
- },
- {
- "value": "gandi",
- "description": "Gandi"
- },
- {
- "value": "gcp",
- "description": "GCP"
- },
- {
- "value": "godaddy",
- "description": "GoDaddy"
- },
- {
- "value": "google",
- "description": "Google"
- },
- {
- "value": "he",
- "description": "He.net"
- },
- {
- "value": "infomaniak",
- "description": "Infomaniak"
- },
- {
- "value": "inwx",
- "description": "INWX"
- },
- {
- "value": "linode",
- "description": "Linode"
- },
- {
- "value": "luadns",
- "description": "LuaDNS"
- },
- {
- "value": "namecheap",
- "description": "Namecheap"
- },
- {
- "value": "njalla",
- "description": "Njalla"
- },
- {
- "value": "noip",
- "description": "NoIP"
- },
- {
- "value": "opendns",
- "description": "OpenDNS"
- },
- {
- "value": "ovh",
- "description": "OVH"
- },
- {
- "value": "porkbun",
- "description": "Porkbun"
- },
- {
- "value": "selfhost.de",
- "description": "Selfhost.de"
- },
- {
- "value": "servercow",
- "description": "Servercow"
- },
- {
- "value": "spdyn",
- "description": "Spdyn.de"
- },
- {
- "value": "strato",
- "description": "Strato"
- },
- {
- "value": "variomedia",
- "description": "Variomedia"
- }
- ]
- }
- },
- {
- "variable": "domain",
- "label": "Domain",
- "description": "Domain </br>\nFor example: example.com\n",
- "schema": {
- "type": "string",
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "ipVersion",
- "label": "IP Version",
- "description": "IP Version. </br>\nFor example: IPv4\n",
- "schema": {
- "type": "string",
- "default": "",
- "enum": [
- {
- "value": "ipv4",
- "description": "IPv4"
- },
- {
- "value": "ipv6",
- "description": "IPv6"
- },
- {
- "value": "",
- "description": "IPv4 and IPv6"
- }
- ]
- }
- },
- {
- "variable": "host",
- "label": "Host",
- "description": "Host. </br>\nFor example: \"@\"\n",
- "schema": {
- "type": "string",
- "default": "@",
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "aliyunAccessKey",
- "label": "Aliyun Access Key",
- "description": "Aliyun Access Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "aliyun"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "aliyunSecret",
- "label": "Aliyun Secret",
- "description": "Aliyun Secret.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "aliyun"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "allinklUsername",
- "label": "All-Inkl Username",
- "description": "All-Inkl Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "allinkl"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "allinklPassword",
- "label": "All-Inkl Password",
- "description": "All-Inkl Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "allinkl"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "cloudflareZoneID",
- "label": "Cloudflare Zone ID",
- "description": "Cloudflare Zone ID. </br>\nYou can find it in the Overview tab of your domain.\n",
- "schema": {
- "type": "string",
- "required": true,
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ]
- }
- },
- {
- "variable": "cloudflareTtl",
- "label": "Cloudflare TTL",
- "description": "Cloudflare TTL. </br>\n1 = Automatic </br>\n600 = 10 minutes\n",
- "schema": {
- "type": "int",
- "min": 1,
- "required": true,
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ],
- "default": 1
- }
- },
- {
- "variable": "cloudflareProxied",
- "label": "Cloudflare Proxied",
- "description": "Cloudflare Proxied. </br>\nTrue = Proxied </br>\nFalse = DNS Only\n",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "cloudflareToken",
- "label": "Cloudflare Token",
- "description": "Cloudflare Token.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ]
- }
- },
- {
- "variable": "cloudflareUserServiceKey",
- "label": "Cloudflare User Service Key",
- "description": "Cloudflare User Service Key.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ]
- }
- },
- {
- "variable": "cloudflareEmail",
- "label": "Cloudflare Email",
- "description": "Cloudflare Email.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ]
- }
- },
- {
- "variable": "cloudflareApiKey",
- "label": "Cloudflare API Key",
- "description": "Cloudflare API Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "cloudflare"
- ]
- ]
- }
- },
- {
- "variable": "dd24Password",
- "label": "DD24 Password",
- "description": "DD24 Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dd24"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "ddnssUsername",
- "label": "DDNSS Username",
- "description": "DDNSS Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "ddnss"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "ddnssPassword",
- "label": "DDNSS Password",
- "description": "DDNSS Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "ddnss"
- ]
- ],
- "private": true,
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "ddnssProviderIP",
- "label": "DDNSS Provider IP",
- "description": "DDNSS Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "ddnss"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "ddnssDualStack",
- "label": "DDNSS Dual Stack",
- "description": "DDNSS Dual Stack.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "ddnss"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "digitalOceanToken",
- "label": "Digital Ocean Token",
- "description": "Digital Ocean Token",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "digitalocean"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "dnsOMaticUsername",
- "label": "DNS O Matic Username",
- "description": "DNS O Matic Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dnsomatic"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "dnsOMaticPassword",
- "label": "DNS O Matic Password",
- "description": "DNS O Matic Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dnsomatic"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "dnsOMaticProviderIP",
- "label": "DNS O Matic Provider IP",
- "description": "DNS O Matic Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "dnsomatic"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "dnsPodToken",
- "label": "DNS Pod Token",
- "description": "DNS Pod Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dnspod"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "donDominioUsername",
- "label": "Don Dominio Username",
- "description": "Don Dominio Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dondominio"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "donDominioPassword",
- "label": "Don Dominio Password",
- "description": "Don Dominio Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dondominio"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "donDominioName",
- "label": "Don Dominio Name",
- "description": "Don Dominio Name.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dondominio"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "dreamHostKey",
- "label": "Dreamhost Key",
- "description": "Dreamhost Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dreamhost"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "duckdnsToken",
- "label": "Duck DNS Token",
- "description": "Duck DNS Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "duckdns"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "duckdnsProviderIP",
- "label": "Duck DNS Provider IP",
- "description": "Duck DNS Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "duckdns"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "dynClientKey",
- "label": "DynDNS Client Key",
- "description": "DynDNS Client Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dyn"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "dynUsername",
- "label": "DynDNS Username",
- "description": "DynDNS Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dyn"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "dynProviderIP",
- "label": "DynDNS Provider IP",
- "description": "DynDNS Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "dyn"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "dynuUsername",
- "label": "Dynu Username",
- "description": "Dynu Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dynu"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "dynuPassword",
- "label": "Dynu Password",
- "description": "Dynu Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dynu"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "dynuGroup",
- "label": "Dynu Group",
- "description": "Dynu Group.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dynu"
- ]
- ]
- }
- },
- {
- "variable": "dynuProviderIP",
- "label": "Dynu Provider IP",
- "description": "Dynu Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "dynu"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "dynv6Token",
- "label": "DynV6 Token",
- "description": "DynV6 Token",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "dynv6"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "dynv6ProviderIP",
- "label": "DynV6 Provider IP",
- "description": "DynV6 Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "dynv6"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "freeDnsToken",
- "label": "FreeDNS Token",
- "description": "FreeDNS Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "freedns"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "gandiKey",
- "label": "Gandi Key",
- "description": "Gandi Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "gandi"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "gandiTtl",
- "label": "Gandi TTL",
- "description": "Gandi TTL.",
- "schema": {
- "type": "int",
- "show_if": [
- [
- "provider",
- "=",
- "gandi"
- ]
- ],
- "default": 3600,
- "required": true
- }
- },
- {
- "variable": "gcpProject",
- "label": "GCP Project",
- "description": "GCP Project.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "gcp"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "gcpZone",
- "label": "GCP Zone",
- "description": "GCP Zone.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "gcp"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "gcpCredentials",
- "label": "GCP Credentials",
- "description": "GCP Credentials.</br>\nPaste the JSON content in this field\n",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "gcp"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "godaddyKey",
- "label": "GoDaddy Key",
- "description": "GoDaddy Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "godaddy"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "godaddySecret",
- "label": "GoDaddy Secret",
- "description": "GoDaddy Secret.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "godaddy"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "googleUsername",
- "label": "Google Username",
- "description": "Google Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "google"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "googlePassword",
- "label": "Google Password",
- "description": "Google Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "google"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "hePassword",
- "label": "He.net Password",
- "description": "He.net Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "he"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "heProviderIP",
- "label": "He.net Provider IP",
- "description": "He.net Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "he"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "infomaniakUsername",
- "label": "Infomaniak Username",
- "description": "Infomaniak Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "infomaniak"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "infomaniakPassword",
- "label": "Infomaniak Password",
- "description": "Infomaniak Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "infomaniak"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "infomaniakProviderIP",
- "label": "Infomaniak Provider IP",
- "description": "Infomaniak Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "infomaniak"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "inwxUsername",
- "label": "INWX Username",
- "description": "INWX Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "inwx"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "inwxPassword",
- "label": "INWX Password",
- "description": "INWX Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "inwx"
- ]
- ],
- "private": true,
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "linodeToken",
- "label": "Linode Token",
- "description": "Linode Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "linode"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "luadnsToken",
- "label": "LuaDNS Token",
- "description": "LuaDNS Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "luadns"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "luadnsEmail",
- "label": "LuaDNS Email",
- "description": "LuaDNS Email.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "luadns"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "namecheapPassword",
- "label": "Namecheap Password",
- "description": "Namecheap Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "namecheap"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "namecheapProviderIP",
- "label": "Namecheap Provider IP",
- "description": "Namecheap Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "namecheap"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "njallaKey",
- "label": "Njalla Key",
- "description": "Njalla Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "njalla"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "njallaProviderIP",
- "label": "Njalla Provider IP",
- "description": "Njalla Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "njalla"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "noipUsername",
- "label": "NoIP Username",
- "description": "NoIP Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "noip"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "noipPassword",
- "label": "NoIP Password",
- "description": "NoIP Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "noip"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "noipProviderIP",
- "label": "NoIP Provider IP",
- "description": "NoIP Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "noip"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "opendnsUsername",
- "label": "OpenDNS Username",
- "description": "OpenDNS Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "opendns"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "opendnsPassword",
- "label": "OpenDNS Password",
- "description": "OpenDNS Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "opendns"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "opendnsProviderIP",
- "label": "OpenDNS Provider IP",
- "description": "OpenDNS Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "opendns"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "ovhMode",
- "label": "OVH Mode",
- "description": "OVH Mode.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ],
- "default": "dynamic",
- "required": true,
- "enum": [
- {
- "value": "dynamic",
- "description": "Dynamic"
- },
- {
- "value": "api",
- "description": "API"
- }
- ]
- }
- },
- {
- "variable": "ovhUsername",
- "label": "OVH Username",
- "description": "OVH Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ]
- }
- },
- {
- "variable": "ovhPassword",
- "label": "OVH Password",
- "description": "OVH Password.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ]
- }
- },
- {
- "variable": "ovhApiEndpoint",
- "label": "OVH API Endpoint",
- "description": "OVH API Endpoint.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ],
- "default": "ovh-eu"
- }
- },
- {
- "variable": "ovhAppKey",
- "label": "OVH Application Key",
- "description": "OVH Application Key.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ]
- }
- },
- {
- "variable": "ovhAppSecret",
- "label": "OVH Application Secret",
- "description": "OVH Application Secret.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ]
- }
- },
- {
- "variable": "ovhConsumerKey",
- "label": "OVH Consumer Key",
- "description": "OVH Consumer Key.",
- "schema": {
- "type": "string",
- "private": true,
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ]
- }
- },
- {
- "variable": "ovhProviderIP",
- "label": "OVH Provider IP",
- "description": "OVH Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "ovh"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "porkbunApiKey",
- "label": "Porkbun API Key",
- "description": "Porkbun API Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "porkbun"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "porkbunSecretApiKey",
- "label": "Porkbun Secret API Key",
- "description": "Porkbun Secret API Key.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "porkbun"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "porkbunTtl",
- "label": "Porkbun TTL",
- "description": "Porkbun TTL.",
- "schema": {
- "type": "int",
- "show_if": [
- [
- "provider",
- "=",
- "porkbun"
- ]
- ],
- "default": 3600
- }
- },
- {
- "variable": "selfhostdeUsername",
- "label": "Selfhost.de Username",
- "description": "Selfhost.de Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "selfhost.de"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "selfhostdePassword",
- "label": "Selfhost.de Password",
- "description": "Selfhost.de Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "selfhost.de"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "selfhostdeProviderIP",
- "label": "Selfhost.de Provider IP",
- "description": "Selfhost.de Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "selfhost.de"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "servercowUsername",
- "label": "Servercow Username",
- "description": "Servercow Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "servercow"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "servercowPassword",
- "label": "Servercow Password",
- "description": "Servercow Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "servercow"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "servercowTtl",
- "label": "Servercow TTL",
- "description": "Servercow TTL.",
- "schema": {
- "type": "int",
- "show_if": [
- [
- "provider",
- "=",
- "servercow"
- ]
- ],
- "default": 120
- }
- },
- {
- "variable": "servercowProviderIP",
- "label": "Servercow Provider IP",
- "description": "Servercow Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "servercow"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "spdynToken",
- "label": "Spdyn.de Token",
- "description": "Spdyn.de Token.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "spdyn"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "spdynUsername",
- "label": "Spdyn.de Username",
- "description": "Spdyn.de Username.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "spdyn"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "spdynPassword",
- "label": "Spdyn.de Password",
- "description": "Spdyn.de Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "spdyn"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "spdynProviderIP",
- "label": "Spdyn.de Provider IP",
- "description": "Spdyn.de Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "spdyn"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "stratoPassword",
- "label": "Strato Password",
- "description": "Strato Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "strato"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "stratoProviderIP",
- "label": "Strato Provider IP",
- "description": "Strato Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "strato"
- ]
- ],
- "default": false
- }
- },
- {
- "variable": "variomediaPassword",
- "label": "Variomedia Password",
- "description": "Variomedia Password.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "variomedia"
- ]
- ],
- "required": true,
- "private": true,
- "empty": false
- }
- },
- {
- "variable": "variomediaEmail",
- "label": "Variomedia Email",
- "description": "Variomedia Email.",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "variomedia"
- ]
- ],
- "required": true,
- "empty": false
- }
- },
- {
- "variable": "variomediaProviderIP",
- "label": "Variomedia Provider IP",
- "description": "Variomedia Provider IP.",
- "schema": {
- "type": "boolean",
- "show_if": [
- [
- "provider",
- "=",
- "variomedia"
- ]
- ],
- "default": false
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "period",
- "label": "Update Period",
- "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",
- "schema": {
- "type": "string",
- "default": "5m",
- "required": true
- }
- },
- {
- "variable": "updateCooldownPeriod",
- "label": "Update Cooldown Period",
- "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",
- "schema": {
- "type": "string",
- "default": "5m",
- "required": true
- }
- },
- {
- "variable": "backupPeriod",
- "label": "Backup Period",
- "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",
- "schema": {
- "type": "string",
- "default": "24h",
- "required": true
- }
- },
- {
- "variable": "httpTimeout",
- "label": "HTTP Timeout",
- "description": "Default timeout for HTTP requests, following this format:</br>\n10s = 10 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
- "schema": {
- "type": "string",
- "default": "10s",
- "required": true
- }
- },
- {
- "variable": "publicIpDnsTimeout",
- "label": "Public IP DNS Timeout",
- "description": "Public IP DNS query timeout, following this format:</br>\n3s = 3 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
- "schema": {
- "type": "string",
- "default": "3s",
- "required": true
- }
- },
- {
- "variable": "shoutrrrAddresses",
- "label": "Shoutrrr Addresses",
- "description": "List of Shoutrrr addresses to send notifications to. </br>\nSee https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.\n",
- "schema": {
- "type": "list",
- "default": [],
- "items": [
- {
- "variable": "address",
- "label": "Address",
- "schema": {
- "type": "string",
- "required": true,
- "empty": false
- }
- }
- ]
- }
- },
- {
- "variable": "publicIpDnsProviders",
- "label": "Public IP DNS Providers",
- "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [
- {
- "provider": "all",
- "placeholder": "placeholder"
- }
- ],
- "items": [
- {
- "variable": "publicIpDnsProviderEntry",
- "label": "Public IP DNS Provider Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Provider",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "all",
- "description": "All providers"
- },
- {
- "value": "google",
- "description": "Google"
- },
- {
- "value": "cloudflare",
- "description": "Cloudflare"
- }
- ]
- }
- },
- {
- "variable": "placeholder",
- "label": "placeholder",
- "schema": {
- "type": "string",
- "default": "placeholder",
- "required": true,
- "hidden": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "publicIpHttpProviders",
- "label": "Public IP HTTP Providers",
- "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [
- {
- "provider": "all",
- "custom": ""
- }
- ],
- "items": [
- {
- "variable": "publicIpHttpProviderEntry",
- "label": "Public IP HTTP Provider Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Provider",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "all",
- "description": "All providers"
- },
- {
- "value": "opendns",
- "description": "opendns"
- },
- {
- "value": "ifconfig",
- "description": "ifconfig"
- },
- {
- "value": "ipinfo",
- "description": "ipinfo"
- },
- {
- "value": "ddnss",
- "description": "ddnss"
- },
- {
- "value": "google",
- "description": "google"
- },
- {
- "value": "custom",
- "description": "Custom Provider"
- }
- ]
- }
- },
- {
- "variable": "custom",
- "label": "Custom Value",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "custom"
- ]
- ],
- "default": "",
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "publicIpv4HttpProviders",
- "label": "Public IPv4 HTTP Providers",
- "description": "Providers to obtain the public IPv4 address",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [
- {
- "provider": "all",
- "custom": ""
- }
- ],
- "items": [
- {
- "variable": "publicIpv4HttpProviderEntry",
- "label": "Public IPv4 HTTP Provider Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Provider",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "all",
- "description": "All providers"
- },
- {
- "value": "ipify",
- "description": "ipify"
- },
- {
- "value": "noip",
- "description": "noip"
- },
- {
- "value": "custom",
- "description": "Custom Provider"
- }
- ]
- }
- },
- {
- "variable": "custom",
- "label": "Custom Value",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "custom"
- ]
- ],
- "default": "",
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "publicIpv6HttpProviders",
- "label": "Public IPv6 HTTP Providers",
- "description": "Providers to obtain the public IPv6 address",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [
- {
- "provider": "all",
- "custom": ""
- }
- ],
- "items": [
- {
- "variable": "publicIpv6HttpProviderEntry",
- "label": "Public IPv6 HTTP Provider Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Provider",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "all",
- "description": "All providers"
- },
- {
- "value": "ipify",
- "description": "ipify"
- },
- {
- "value": "noip",
- "description": "noip"
- },
- {
- "value": "custom",
- "description": "Custom Provider"
- }
- ]
- }
- },
- {
- "variable": "custom",
- "label": "Custom Value",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "provider",
- "=",
- "custom"
- ]
- ],
- "default": "",
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "publicIpFetchers",
- "label": "Public IP Fetchers",
- "description": "Fetcher types to obtain the public IP address",
- "schema": {
- "type": "list",
- "min": 1,
- "required": true,
- "empty": false,
- "default": [
- {
- "provider": "all",
- "placeholder": "placeholder"
- }
- ],
- "items": [
- {
- "variable": "publicIpFetcherEntry",
- "label": "Public IP Fetcher Entry",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "provider",
- "label": "Fetcher",
- "schema": {
- "type": "string",
- "required": true,
- "enum": [
- {
- "value": "all",
- "description": "All providers"
- },
- {
- "value": "http",
- "description": "HTTP"
- },
- {
- "value": "dns",
- "description": "DNS"
- }
- ]
- }
- },
- {
- "variable": "placeholder",
- "label": "placeholder",
- "schema": {
- "type": "string",
- "default": "placeholder",
- "required": true,
- "hidden": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "additionalEnvs",
- "label": "Additional Environment Variables",
- "description": "Configure additional environment variables for DDNS Updater.",
- "schema": {
- "type": "list",
- "default": [],
- "items": [
- {
- "variable": "env",
- "label": "Environment Variable",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "name",
- "label": "Name",
- "schema": {
- "type": "string",
- "required": true
- }
- },
- {
- "variable": "value",
- "label": "Value",
- "schema": {
- "type": "string",
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "ddnsRunAs",
- "label": "",
- "group": "User and Group Configuration",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "user",
- "label": "User ID",
- "description": "The user id that DDNS Updater will run as.",
- "schema": {
- "type": "int",
- "min": 2,
- "default": 568,
- "required": true
- }
- },
- {
- "variable": "group",
- "label": "Group ID",
- "description": "The group id that DDNS Updater will run as.",
- "schema": {
- "type": "int",
- "min": 2,
- "default": 568,
- "required": true
- }
- }
- ]
- }
- },
- {
- "variable": "ddnsNetwork",
- "label": "",
- "group": "Network Configuration",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "webPort",
- "label": "Web Port",
- "description": "The port for the DDNS Updater Web UI.",
- "schema": {
- "type": "int",
- "default": 30007,
- "min": 9000,
- "max": 65535,
- "required": true
- }
- },
- {
- "variable": "hostNetwork",
- "label": "Host Network",
- "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
- "schema": {
- "type": "boolean",
- "default": false
- }
- }
- ]
- }
- },
- {
- "variable": "ddnsStorage",
- "label": "",
- "group": "Storage Configuration",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "data",
- "label": "DDNS Updater Data Storage",
- "description": "The path to store DDNS Updater Data.",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "type",
- "label": "Type",
- "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
- "schema": {
- "type": "string",
- "required": true,
- "immutable": true,
- "default": "ixVolume",
- "enum": [
- {
- "value": "hostPath",
- "description": "Host Path (Path that already exists on the system)"
- },
- {
- "value": "ixVolume",
- "description": "ixVolume (Dataset created automatically by the system)"
- }
- ]
- }
- },
- {
- "variable": "datasetName",
- "label": "Dataset Name",
- "schema": {
- "type": "string",
- "show_if": [
- [
- "type",
- "=",
- "ixVolume"
- ]
- ],
- "required": true,
- "hidden": true,
- "immutable": true,
- "default": "data",
- "$ref": [
- "normalize/ixVolume"
- ]
- }
- },
- {
- "variable": "hostPath",
- "label": "Host Path",
- "schema": {
- "type": "hostpath",
- "show_if": [
- [
- "type",
- "=",
- "hostPath"
- ]
- ],
- "immutable": true,
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- },
- {
- "variable": "resources",
- "group": "Resources Configuration",
- "label": "",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "limits",
- "label": "Limits",
- "schema": {
- "type": "dict",
- "attrs": [
- {
- "variable": "cpu",
- "label": "CPU",
- "description": "CPU limit for DDNS Updater.",
- "schema": {
- "type": "string",
- "max_length": 6,
- "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
- "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",
- "default": "4000m",
- "required": true
- }
- },
- {
- "variable": "memory",
- "label": "Memory",
- "description": "Memory limit for DDNS Updater.",
- "schema": {
- "type": "string",
- "max_length": 12,
- "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
- "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",
- "default": "8Gi",
- "required": true
- }
- }
- ]
- }
- }
- ]
- }
- }
- ]
- },
- "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>",
- "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>",
- "changelog": null
- }
- }
|