questions.yaml 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363
  1. groups:
  2. - name: DDNS Updater Configuration
  3. description: Configure DDNS Updater
  4. - name: User and Group Configuration
  5. description: Configure User and Group for DDNS Updater
  6. - name: Network Configuration
  7. description: Configure Network for DDNS Updater
  8. - name: Storage Configuration
  9. description: Configure Storage for DDNS Updater
  10. - name: Resources Configuration
  11. description: Configure Resources for DDNS Updater
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "$kubernetes-resource_configmap_portal_protocol"
  16. host:
  17. - "$kubernetes-resource_configmap_portal_host"
  18. ports:
  19. - "$kubernetes-resource_configmap_portal_port"
  20. path: "$kubernetes-resource_configmap_portal_path"
  21. questions:
  22. - variable: TZ
  23. group: DDNS Updater Configuration
  24. label: Timezone
  25. schema:
  26. type: string
  27. default: Etc/UTC
  28. required: true
  29. $ref:
  30. - definitions/timezone
  31. - variable: ddnsConfig
  32. label: ""
  33. group: DDNS Updater Configuration
  34. schema:
  35. type: dict
  36. attrs:
  37. - variable: config
  38. label: DNS Provider Configuration
  39. description: |
  40. Configuration for DDNS Updater.</br>
  41. Choose your provider in the following link for more information </br>
  42. https://github.com/qdm12/ddns-updater#configuration
  43. schema:
  44. type: list
  45. min: 1
  46. required: true
  47. empty: false
  48. default: []
  49. items:
  50. - variable: configEntry
  51. label: Configuration Entry
  52. schema:
  53. type: dict
  54. attrs:
  55. - variable: provider
  56. label: Provider
  57. schema:
  58. type: string
  59. required: true
  60. enum:
  61. - value: aliyun
  62. description: Aliyun
  63. - value: allinkl
  64. description: All-Inkl
  65. - value: cloudflare
  66. description: Cloudflare
  67. - value: dd24
  68. description: DD24
  69. - value: ddnss
  70. description: DDNSS
  71. - value: digitalocean
  72. description: Digital Ocean
  73. - value: dnsomatic
  74. description: DNS O Matic
  75. - value: dnspod
  76. description: DNS Pod
  77. - value: dondominio
  78. description: Don Dominio
  79. - value: dreamhost
  80. description: Dreamhost
  81. - value: duckdns
  82. description: Duck DNS
  83. - value: dyn
  84. description: DynDNS
  85. - value: dynu
  86. description: Dynu
  87. - value: dynv6
  88. description: DynV6
  89. - value: freedns
  90. description: FreeDNS
  91. - value: gandi
  92. description: Gandi
  93. - value: gcp
  94. description: GCP
  95. - value: godaddy
  96. description: GoDaddy
  97. - value: google
  98. description: Google
  99. - value: he
  100. description: He.net
  101. - value: infomaniak
  102. description: Infomaniak
  103. - value: inwx
  104. description: INWX
  105. - value: linode
  106. description: Linode
  107. - value: luadns
  108. description: LuaDNS
  109. - value: namecheap
  110. description: Namecheap
  111. - value: njalla
  112. description: Njalla
  113. - value: noip
  114. description: NoIP
  115. - value: opendns
  116. description: OpenDNS
  117. - value: ovh
  118. description: OVH
  119. - value: porkbun
  120. description: Porkbun
  121. - value: selfhost.de
  122. description: Selfhost.de
  123. - value: servercow
  124. description: Servercow
  125. - value: spdyn
  126. description: Spdyn.de
  127. - value: strato
  128. description: Strato
  129. - value: variomedia
  130. description: Variomedia
  131. # Common to all providers
  132. - variable: domain
  133. label: Domain
  134. description: |
  135. Domain </br>
  136. For example: example.com
  137. schema:
  138. type: string
  139. required: true
  140. empty: false
  141. - variable: ipVersion
  142. label: IP Version
  143. description: |
  144. IP Version. </br>
  145. For example: IPv4
  146. schema:
  147. type: string
  148. default: ""
  149. enum:
  150. - value: ipv4
  151. description: IPv4
  152. - value: ipv6
  153. description: IPv6
  154. - value: ""
  155. description: IPv4 and IPv6
  156. - variable: host
  157. label: Host
  158. description: |
  159. Host. </br>
  160. For example: "@"
  161. schema:
  162. type: string
  163. default: "@"
  164. required: true
  165. empty: false
  166. # Aliyun
  167. - variable: aliyunAccessKey
  168. label: Aliyun Access Key
  169. description: Aliyun Access Key.
  170. schema:
  171. type: string
  172. show_if: [["provider", "=", "aliyun"]]
  173. required: true
  174. empty: false
  175. - variable: aliyunSecret
  176. label: Aliyun Secret
  177. description: Aliyun Secret.
  178. schema:
  179. type: string
  180. show_if: [["provider", "=", "aliyun"]]
  181. required: true
  182. empty: false
  183. # All-Inkl
  184. - variable: allinklUsername
  185. label: All-Inkl Username
  186. description: All-Inkl Username.
  187. schema:
  188. type: string
  189. show_if: [["provider", "=", "allinkl"]]
  190. required: true
  191. empty: false
  192. - variable: allinklPassword
  193. label: All-Inkl Password
  194. description: All-Inkl Password.
  195. schema:
  196. type: string
  197. show_if: [["provider", "=", "allinkl"]]
  198. required: true
  199. empty: false
  200. # Cloudflare
  201. - variable: cloudflareZoneID
  202. label: Cloudflare Zone ID
  203. description: |
  204. Cloudflare Zone ID. </br>
  205. You can find it in the Overview tab of your domain.
  206. schema:
  207. type: string
  208. required: true
  209. show_if: [["provider", "=", "cloudflare"]]
  210. - variable: cloudflareTtl
  211. label: Cloudflare TTL
  212. description: |
  213. Cloudflare TTL. </br>
  214. 1 = Automatic </br>
  215. 600 = 10 minutes
  216. schema:
  217. type: int
  218. min: 1
  219. required: true
  220. show_if: [["provider", "=", "cloudflare"]]
  221. default: 1
  222. - variable: cloudflareProxied
  223. label: Cloudflare Proxied
  224. description: |
  225. Cloudflare Proxied. </br>
  226. True = Proxied </br>
  227. False = DNS Only
  228. schema:
  229. type: boolean
  230. show_if: [["provider", "=", "cloudflare"]]
  231. default: false
  232. - variable: cloudflareToken
  233. label: Cloudflare Token
  234. description: Cloudflare Token.
  235. schema:
  236. type: string
  237. show_if: [["provider", "=", "cloudflare"]]
  238. - variable: cloudflareUserServiceKey
  239. label: Cloudflare User Service Key
  240. description: Cloudflare User Service Key.
  241. schema:
  242. type: string
  243. show_if: [["provider", "=", "cloudflare"]]
  244. - variable: cloudflareEmail
  245. label: Cloudflare Email
  246. description: Cloudflare Email.
  247. schema:
  248. type: string
  249. show_if: [["provider", "=", "cloudflare"]]
  250. - variable: cloudflareApiKey
  251. label: Cloudflare API Key
  252. description: Cloudflare API Key.
  253. schema:
  254. type: string
  255. show_if: [["provider", "=", "cloudflare"]]
  256. # DD24
  257. - variable: dd24Password
  258. label: DD24 Password
  259. description: DD24 Password.
  260. schema:
  261. type: string
  262. show_if: [["provider", "=", "dd24"]]
  263. required: true
  264. empty: false
  265. # DDNSS
  266. - variable: ddnssUsername
  267. label: DDNSS Username
  268. description: DDNSS Username.
  269. schema:
  270. type: string
  271. show_if: [["provider", "=", "ddnss"]]
  272. required: true
  273. empty: false
  274. - variable: ddnssPassword
  275. label: DDNSS Password
  276. description: DDNSS Password.
  277. schema:
  278. type: string
  279. show_if: [["provider", "=", "ddnss"]]
  280. required: true
  281. empty: false
  282. - variable: ddnssProviderIP
  283. label: DDNSS Provider IP
  284. description: DDNSS Provider IP.
  285. schema:
  286. type: boolean
  287. show_if: [["provider", "=", "ddnss"]]
  288. default: false
  289. - variable: ddnssDualStack
  290. label: DDNSS Dual Stack
  291. description: DDNSS Dual Stack.
  292. schema:
  293. type: boolean
  294. show_if: [["provider", "=", "ddnss"]]
  295. default: false
  296. # Digital Ocean
  297. - variable: digitalOceanToken
  298. label: Digital Ocean Token
  299. description: Digital Ocean Token
  300. schema:
  301. type: string
  302. show_if: [["provider", "=", "digitalocean"]]
  303. required: true
  304. empty: false
  305. # DNS O Matic
  306. - variable: dnsOMaticUsername
  307. label: DNS O Matic Username
  308. description: DNS O Matic Username.
  309. schema:
  310. type: string
  311. show_if: [["provider", "=", "dnsomatic"]]
  312. required: true
  313. empty: false
  314. - variable: dnsOMaticPassword
  315. label: DNS O Matic Password
  316. description: DNS O Matic Password.
  317. schema:
  318. type: string
  319. show_if: [["provider", "=", "dnsomatic"]]
  320. required: true
  321. empty: false
  322. - variable: dnsOMaticProviderIP
  323. label: DNS O Matic Provider IP
  324. description: DNS O Matic Provider IP.
  325. schema:
  326. type: boolean
  327. show_if: [["provider", "=", "dnsomatic"]]
  328. default: false
  329. # DNS Pod
  330. - variable: dnsPodToken
  331. label: DNS Pod Token
  332. description: DNS Pod Token.
  333. schema:
  334. type: string
  335. show_if: [["provider", "=", "dnspod"]]
  336. required: true
  337. empty: false
  338. # Don Dominio
  339. - variable: donDominioUsername
  340. label: Don Dominio Username
  341. description: Don Dominio Username.
  342. schema:
  343. type: string
  344. show_if: [["provider", "=", "dondominio"]]
  345. required: true
  346. empty: false
  347. - variable: donDominioPassword
  348. label: Don Dominio Password
  349. description: Don Dominio Password.
  350. schema:
  351. type: string
  352. show_if: [["provider", "=", "dondominio"]]
  353. required: true
  354. empty: false
  355. - variable: donDominioName
  356. label: Don Dominio Name
  357. description: Don Dominio Name.
  358. schema:
  359. type: string
  360. show_if: [["provider", "=", "dondominio"]]
  361. required: true
  362. empty: false
  363. # Dreamhost
  364. - variable: dreamHostKey
  365. label: Dreamhost Key
  366. description: Dreamhost Key.
  367. schema:
  368. type: string
  369. show_if: [["provider", "=", "dreamhost"]]
  370. required: true
  371. empty: false
  372. # Duck DNS
  373. - variable: duckdnsToken
  374. label: Duck DNS Token
  375. description: Duck DNS Token.
  376. schema:
  377. type: string
  378. show_if: [["provider", "=", "duckdns"]]
  379. required: true
  380. empty: false
  381. - variable: duckdnsProviderIP
  382. label: Duck DNS Provider IP
  383. description: Duck DNS Provider IP.
  384. schema:
  385. type: boolean
  386. show_if: [["provider", "=", "duckdns"]]
  387. default: false
  388. # DynDNS
  389. - variable: dynClientKey
  390. label: DynDNS Client Key
  391. description: DynDNS Client Key.
  392. schema:
  393. type: string
  394. show_if: [["provider", "=", "dyn"]]
  395. required: true
  396. empty: false
  397. - variable: dynUsername
  398. label: DynDNS Username
  399. description: DynDNS Username.
  400. schema:
  401. type: string
  402. show_if: [["provider", "=", "dyn"]]
  403. required: true
  404. empty: false
  405. - variable: dynProviderIP
  406. label: DynDNS Provider IP
  407. description: DynDNS Provider IP.
  408. schema:
  409. type: boolean
  410. show_if: [["provider", "=", "dyn"]]
  411. default: false
  412. # Dynu
  413. - variable: dynuUsername
  414. label: Dynu Username
  415. description: Dynu Username.
  416. schema:
  417. type: string
  418. show_if: [["provider", "=", "dynu"]]
  419. required: true
  420. empty: false
  421. - variable: dynuPassword
  422. label: Dynu Password
  423. description: Dynu Password.
  424. schema:
  425. type: string
  426. show_if: [["provider", "=", "dynu"]]
  427. required: true
  428. empty: false
  429. - variable: dynuGroup
  430. label: Dynu Group
  431. description: Dynu Group.
  432. schema:
  433. type: string
  434. show_if: [["provider", "=", "dynu"]]
  435. - variable: dynuProviderIP
  436. label: Dynu Provider IP
  437. description: Dynu Provider IP.
  438. schema:
  439. type: boolean
  440. show_if: [["provider", "=", "dynu"]]
  441. default: false
  442. # DynV6
  443. - variable: dynv6Token
  444. label: DynV6 Token
  445. description: DynV6 Token
  446. schema:
  447. type: string
  448. show_if: [["provider", "=", "dynv6"]]
  449. required: true
  450. empty: false
  451. - variable: dynv6ProviderIP
  452. label: DynV6 Provider IP
  453. description: DynV6 Provider IP.
  454. schema:
  455. type: boolean
  456. show_if: [["provider", "=", "dynv6"]]
  457. default: false
  458. # FreeDNS
  459. - variable: freeDnsToken
  460. label: FreeDNS Token
  461. description: FreeDNS Token.
  462. schema:
  463. type: string
  464. show_if: [["provider", "=", "freedns"]]
  465. required: true
  466. empty: false
  467. # Gandi
  468. - variable: gandiKey
  469. label: Gandi Key
  470. description: Gandi Key.
  471. schema:
  472. type: string
  473. show_if: [["provider", "=", "gandi"]]
  474. required: true
  475. empty: false
  476. - variable: gandiTtl
  477. label: Gandi TTL
  478. description: Gandi TTL.
  479. schema:
  480. type: int
  481. show_if: [["provider", "=", "gandi"]]
  482. default: 3600
  483. required: true
  484. # GCP
  485. - variable: gcpProject
  486. label: GCP Project
  487. description: GCP Project.
  488. schema:
  489. type: string
  490. show_if: [["provider", "=", "gcp"]]
  491. required: true
  492. empty: false
  493. - variable: gcpZone
  494. label: GCP Zone
  495. description: GCP Zone.
  496. schema:
  497. type: string
  498. show_if: [["provider", "=", "gcp"]]
  499. required: true
  500. empty: false
  501. - variable: gcpCredentials
  502. label: GCP Credentials
  503. description: |
  504. GCP Credentials.</br>
  505. Paste the JSON content in this field
  506. schema:
  507. type: string
  508. show_if: [["provider", "=", "gcp"]]
  509. required: true
  510. empty: false
  511. # GoDaddy
  512. - variable: godaddyKey
  513. label: GoDaddy Key
  514. description: GoDaddy Key.
  515. schema:
  516. type: string
  517. show_if: [["provider", "=", "godaddy"]]
  518. required: true
  519. empty: false
  520. - variable: godaddySecret
  521. label: GoDaddy Secret
  522. description: GoDaddy Secret.
  523. schema:
  524. type: string
  525. show_if: [["provider", "=", "godaddy"]]
  526. required: true
  527. empty: false
  528. # Google
  529. - variable: googleUsername
  530. label: Google Username
  531. description: Google Username.
  532. schema:
  533. type: string
  534. show_if: [["provider", "=", "google"]]
  535. required: true
  536. empty: false
  537. - variable: googlePassword
  538. label: Google Password
  539. description: Google Password.
  540. schema:
  541. type: string
  542. show_if: [["provider", "=", "google"]]
  543. required: true
  544. empty: false
  545. # He.net
  546. - variable: hePassword
  547. label: He.net Password
  548. description: He.net Password.
  549. schema:
  550. type: string
  551. show_if: [["provider", "=", "he"]]
  552. required: true
  553. empty: false
  554. - variable: heProviderIP
  555. label: He.net Provider IP
  556. description: He.net Provider IP.
  557. schema:
  558. type: boolean
  559. show_if: [["provider", "=", "he"]]
  560. default: false
  561. # Infomaniak
  562. - variable: infomaniakUsername
  563. label: Infomaniak Username
  564. description: Infomaniak Username.
  565. schema:
  566. type: string
  567. show_if: [["provider", "=", "infomaniak"]]
  568. required: true
  569. empty: false
  570. - variable: infomaniakPassword
  571. label: Infomaniak Password
  572. description: Infomaniak Password.
  573. schema:
  574. type: string
  575. show_if: [["provider", "=", "infomaniak"]]
  576. required: true
  577. empty: false
  578. - variable: infomaniakProviderIP
  579. label: Infomaniak Provider IP
  580. description: Infomaniak Provider IP.
  581. schema:
  582. type: boolean
  583. show_if: [["provider", "=", "infomaniak"]]
  584. default: false
  585. # INWX
  586. - variable: inwxUsername
  587. label: INWX Username
  588. description: INWX Username.
  589. schema:
  590. type: string
  591. show_if: [["provider", "=", "inwx"]]
  592. required: true
  593. empty: false
  594. - variable: inwxPassword
  595. label: INWX Password
  596. description: INWX Password.
  597. schema:
  598. type: string
  599. show_if: [["provider", "=", "inwx"]]
  600. required: true
  601. empty: false
  602. # Linode
  603. - variable: linodeToken
  604. label: Linode Token
  605. description: Linode Token.
  606. schema:
  607. type: string
  608. show_if: [["provider", "=", "linode"]]
  609. required: true
  610. empty: false
  611. # LuaDNS
  612. - variable: luadnsToken
  613. label: LuaDNS Token
  614. description: LuaDNS Token.
  615. schema:
  616. type: string
  617. show_if: [["provider", "=", "luadns"]]
  618. required: true
  619. empty: false
  620. - variable: luadnsEmail
  621. label: LuaDNS Email
  622. description: LuaDNS Email.
  623. schema:
  624. type: string
  625. show_if: [["provider", "=", "luadns"]]
  626. required: true
  627. empty: false
  628. # Namecheap
  629. - variable: namecheapPassword
  630. label: Namecheap Password
  631. description: Namecheap Password.
  632. schema:
  633. type: string
  634. show_if: [["provider", "=", "namecheap"]]
  635. required: true
  636. empty: false
  637. - variable: namecheapProviderIP
  638. label: Namecheap Provider IP
  639. description: Namecheap Provider IP.
  640. schema:
  641. type: boolean
  642. show_if: [["provider", "=", "namecheap"]]
  643. default: false
  644. # Njalla
  645. - variable: njallaKey
  646. label: Njalla Key
  647. description: Njalla Key.
  648. schema:
  649. type: string
  650. show_if: [["provider", "=", "njalla"]]
  651. required: true
  652. empty: false
  653. - variable: njallaProviderIP
  654. label: Njalla Provider IP
  655. description: Njalla Provider IP.
  656. schema:
  657. type: boolean
  658. show_if: [["provider", "=", "njalla"]]
  659. default: false
  660. # NoIP
  661. - variable: noipUsername
  662. label: NoIP Username
  663. description: NoIP Username.
  664. schema:
  665. type: string
  666. show_if: [["provider", "=", "noip"]]
  667. required: true
  668. empty: false
  669. - variable: noipPassword
  670. label: NoIP Password
  671. description: NoIP Password.
  672. schema:
  673. type: string
  674. show_if: [["provider", "=", "noip"]]
  675. required: true
  676. empty: false
  677. - variable: noipProviderIP
  678. label: NoIP Provider IP
  679. description: NoIP Provider IP.
  680. schema:
  681. type: boolean
  682. show_if: [["provider", "=", "noip"]]
  683. default: false
  684. # OpenDNS
  685. - variable: opendnsUsername
  686. label: OpenDNS Username
  687. description: OpenDNS Username.
  688. schema:
  689. type: string
  690. show_if: [["provider", "=", "opendns"]]
  691. required: true
  692. empty: false
  693. - variable: opendnsPassword
  694. label: OpenDNS Password
  695. description: OpenDNS Password.
  696. schema:
  697. type: string
  698. show_if: [["provider", "=", "opendns"]]
  699. required: true
  700. empty: false
  701. - variable: opendnsProviderIP
  702. label: OpenDNS Provider IP
  703. description: OpenDNS Provider IP.
  704. schema:
  705. type: boolean
  706. show_if: [["provider", "=", "opendns"]]
  707. default: false
  708. # OVH
  709. - variable: ovhMode
  710. label: OVH Mode
  711. description: OVH Mode.
  712. schema:
  713. type: string
  714. show_if: [["provider", "=", "ovh"]]
  715. default: dynamic
  716. required: true
  717. enum:
  718. - value: dynamic
  719. description: Dynamic
  720. - value: api
  721. description: API
  722. - variable: ovhUsername
  723. label: OVH Username
  724. description: OVH Username.
  725. schema:
  726. type: string
  727. show_if: [["provider", "=", "ovh"]]
  728. - variable: ovhPassword
  729. label: OVH Password
  730. description: OVH Password.
  731. schema:
  732. type: string
  733. show_if: [["provider", "=", "ovh"]]
  734. - variable: ovhApiEndpoint
  735. label: OVH API Endpoint
  736. description: OVH API Endpoint.
  737. schema:
  738. type: string
  739. show_if: [["provider", "=", "ovh"]]
  740. default: ovh-eu
  741. - variable: ovhAppKey
  742. label: OVH Application Key
  743. description: OVH Application Key.
  744. schema:
  745. type: string
  746. show_if: [["provider", "=", "ovh"]]
  747. - variable: ovhAppSecret
  748. label: OVH Application Secret
  749. description: OVH Application Secret.
  750. schema:
  751. type: string
  752. show_if: [["provider", "=", "ovh"]]
  753. - variable: ovhConsumerKey
  754. label: OVH Consumer Key
  755. description: OVH Consumer Key.
  756. schema:
  757. type: string
  758. show_if: [["provider", "=", "ovh"]]
  759. # Porkbun
  760. - variable: porkbunApiKey
  761. label: Porkbun API Key
  762. description: Porkbun API Key.
  763. schema:
  764. type: string
  765. show_if: [["provider", "=", "porkbun"]]
  766. required: true
  767. empty: false
  768. - variable: porkbunSecretApiKey
  769. label: Porkbun Secret API Key
  770. description: Porkbun Secret API Key.
  771. schema:
  772. type: string
  773. show_if: [["provider", "=", "porkbun"]]
  774. required: true
  775. empty: false
  776. - variable: porkbunTtl
  777. label: Porkbun TTL
  778. description: Porkbun TTL.
  779. schema:
  780. type: int
  781. show_if: [["provider", "=", "porkbun"]]
  782. default: 3600
  783. # Selfhost.de
  784. - variable: selfhostdeUsername
  785. label: Selfhost.de Username
  786. description: Selfhost.de Username.
  787. schema:
  788. type: string
  789. show_if: [["provider", "=", "selfhost.de"]]
  790. required: true
  791. empty: false
  792. - variable: selfhostdePassword
  793. label: Selfhost.de Password
  794. description: Selfhost.de Password.
  795. schema:
  796. type: string
  797. show_if: [["provider", "=", "selfhost.de"]]
  798. required: true
  799. empty: false
  800. - variable: selfhostdeProviderIP
  801. label: Selfhost.de Provider IP
  802. description: Selfhost.de Provider IP.
  803. schema:
  804. type: boolean
  805. show_if: [["provider", "=", "selfhost.de"]]
  806. default: false
  807. # Servercow
  808. - variable: servercowUsername
  809. label: Servercow Username
  810. description: Servercow Username.
  811. schema:
  812. type: string
  813. show_if: [["provider", "=", "servercow"]]
  814. required: true
  815. empty: false
  816. - variable: servercowPassword
  817. label: Servercow Password
  818. description: Servercow Password.
  819. schema:
  820. type: string
  821. show_if: [["provider", "=", "servercow"]]
  822. required: true
  823. empty: false
  824. - variable: servercowTtl
  825. label: Servercow TTL
  826. description: Servercow TTL.
  827. schema:
  828. type: int
  829. show_if: [["provider", "=", "servercow"]]
  830. default: 120
  831. - variable: servercowProviderIP
  832. label: Servercow Provider IP
  833. description: Servercow Provider IP.
  834. schema:
  835. type: boolean
  836. show_if: [["provider", "=", "servercow"]]
  837. default: false
  838. # Spdyn.de
  839. - variable: spdynToken
  840. label: Spdyn.de Token
  841. description: Spdyn.de Token.
  842. schema:
  843. type: string
  844. show_if: [["provider", "=", "spdyn"]]
  845. required: true
  846. empty: false
  847. - variable: spdynUsername
  848. label: Spdyn.de Username
  849. description: Spdyn.de Username.
  850. schema:
  851. type: string
  852. show_if: [["provider", "=", "spdyn"]]
  853. required: true
  854. empty: false
  855. - variable: spdynPassword
  856. label: Spdyn.de Password
  857. description: Spdyn.de Password.
  858. schema:
  859. type: string
  860. show_if: [["provider", "=", "spdyn"]]
  861. required: true
  862. empty: false
  863. - variable: spdynProviderIP
  864. label: Spdyn.de Provider IP
  865. description: Spdyn.de Provider IP.
  866. schema:
  867. type: boolean
  868. show_if: [["provider", "=", "spdyn"]]
  869. default: false
  870. # Strato
  871. - variable: stratoPassword
  872. label: Strato Password
  873. description: Strato Password.
  874. schema:
  875. type: string
  876. show_if: [["provider", "=", "strato"]]
  877. required: true
  878. empty: false
  879. - variable: stratoProviderIP
  880. label: Strato Provider IP
  881. description: Strato Provider IP.
  882. schema:
  883. type: boolean
  884. show_if: [["provider", "=", "strato"]]
  885. default: false
  886. # Variomedia
  887. - variable: variomediaPassword
  888. label: Variomedia Password
  889. description: Variomedia Password.
  890. schema:
  891. type: string
  892. show_if: [["provider", "=", "variomedia"]]
  893. required: true
  894. empty: false
  895. - variable: variomediaEmail
  896. label: Variomedia Email
  897. description: Variomedia Email.
  898. schema:
  899. type: string
  900. show_if: [["provider", "=", "variomedia"]]
  901. required: true
  902. empty: false
  903. - variable: variomediaProviderIP
  904. label: Variomedia Provider IP
  905. description: Variomedia Provider IP.
  906. schema:
  907. type: boolean
  908. show_if: [["provider", "=", "variomedia"]]
  909. default: false
  910. - variable: period
  911. label: Update Period
  912. description: |
  913. Default period of IP address check, following this format:</br>
  914. 5m = 5 minutes</br>
  915. 1h = 1 hour</br>
  916. 1h30m = 1 hour 30 minutes
  917. schema:
  918. type: string
  919. default: 5m
  920. required: true
  921. - variable: updateCooldownPeriod
  922. label: Update Cooldown Period
  923. description: |
  924. Duration to cooldown between updates for each record.
  925. This is useful to avoid being rate limited or banned,
  926. following this format:</br>
  927. 5m = 5 minutes</br>
  928. 1h = 1 hour</br>
  929. 1h30m = 1 hour 30 minutes
  930. schema:
  931. type: string
  932. default: 5m
  933. required: true
  934. - variable: backupPeriod
  935. label: Backup Period
  936. description: |
  937. Set to a period to enable zip backups of data/config.json and
  938. data/updates.json in a zip file following this format:</br>
  939. 0 = disabled</br>
  940. 10h = 10 hours</br>
  941. 20h30m = 20 hours 30 minutes
  942. schema:
  943. type: string
  944. default: 24h
  945. required: true
  946. - variable: httpTimeout
  947. label: HTTP Timeout
  948. description: |
  949. Default timeout for HTTP requests, following this format:</br>
  950. 10s = 10 seconds</br>
  951. 1m = 1 minute</br>
  952. 1m30s = 1 minute 30 seconds
  953. schema:
  954. type: string
  955. default: 10s
  956. required: true
  957. - variable: publicIpDnsTimeout
  958. label: Public IP DNS Timeout
  959. description: |
  960. Public IP DNS query timeout, following this format:</br>
  961. 3s = 3 seconds</br>
  962. 1m = 1 minute</br>
  963. 1m30s = 1 minute 30 seconds
  964. schema:
  965. type: string
  966. default: 3s
  967. required: true
  968. - variable: shoutrrrAddresses
  969. label: Shoutrrr Addresses
  970. description: |
  971. List of Shoutrrr addresses to send notifications to. </br>
  972. See https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.
  973. schema:
  974. type: list
  975. default: []
  976. items:
  977. - variable: address
  978. label: Address
  979. schema:
  980. type: string
  981. required: true
  982. empty: false
  983. - variable: publicIpDnsProviders
  984. label: Public IP DNS Providers
  985. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  986. schema:
  987. type: list
  988. min: 1
  989. required: true
  990. empty: false
  991. default: [{"provider": "all", "placeholder": "placeholder"}]
  992. items:
  993. - variable: publicIpDnsProviderEntry
  994. label: Public IP DNS Provider Entry
  995. schema:
  996. type: dict
  997. attrs:
  998. - variable: provider
  999. label: Provider
  1000. schema:
  1001. type: string
  1002. required: true
  1003. enum:
  1004. - value: all
  1005. description: All providers
  1006. - value: google
  1007. description: Google
  1008. - value: cloudflare
  1009. description: Cloudflare
  1010. # Workaround for a UI bug that is fixed in the next release
  1011. # (Single items in a dict inside a list was getting converted to a list of strings)
  1012. - variable: placeholder
  1013. label: placeholder
  1014. schema:
  1015. type: string
  1016. default: placeholder
  1017. required: true
  1018. hidden: true
  1019. - variable: publicIpHttpProviders
  1020. label: Public IP HTTP Providers
  1021. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  1022. schema:
  1023. type: list
  1024. min: 1
  1025. required: true
  1026. empty: false
  1027. default: [{"provider": "all", "custom": ""}]
  1028. items:
  1029. - variable: publicIpHttpProviderEntry
  1030. label: Public IP HTTP Provider Entry
  1031. schema:
  1032. type: dict
  1033. attrs:
  1034. - variable: provider
  1035. label: Provider
  1036. schema:
  1037. type: string
  1038. required: true
  1039. enum:
  1040. - value: all
  1041. description: All providers
  1042. - value: opendns
  1043. description: opendns
  1044. - value: ifconfig
  1045. description: ifconfig
  1046. - value: ipinfo
  1047. description: ipinfo
  1048. - value: ddnss
  1049. description: ddnss
  1050. - value: google
  1051. description: google
  1052. - value: custom
  1053. description: Custom Provider
  1054. - variable: custom
  1055. label: Custom Value
  1056. schema:
  1057. type: string
  1058. show_if: [["provider", "=", "custom"]]
  1059. default: ""
  1060. required: true
  1061. - variable: publicIpv4HttpProviders
  1062. label: Public IPv4 HTTP Providers
  1063. description: Providers to obtain the public IPv4 address
  1064. schema:
  1065. type: list
  1066. min: 1
  1067. required: true
  1068. empty: false
  1069. default: [{"provider": "all", "custom": ""}]
  1070. items:
  1071. - variable: publicIpv4HttpProviderEntry
  1072. label: Public IPv4 HTTP Provider Entry
  1073. schema:
  1074. type: dict
  1075. attrs:
  1076. - variable: provider
  1077. label: Provider
  1078. schema:
  1079. type: string
  1080. required: true
  1081. enum:
  1082. - value: all
  1083. description: All providers
  1084. - value: ipify
  1085. description: ipify
  1086. - value: noip
  1087. description: noip
  1088. - value: custom
  1089. description: Custom Provider
  1090. - variable: custom
  1091. label: Custom Value
  1092. schema:
  1093. type: string
  1094. show_if: [["provider", "=", "custom"]]
  1095. default: ""
  1096. required: true
  1097. - variable: publicIpv6HttpProviders
  1098. label: Public IPv6 HTTP Providers
  1099. description: Providers to obtain the public IPv6 address
  1100. schema:
  1101. type: list
  1102. min: 1
  1103. required: true
  1104. empty: false
  1105. default: [{"provider": "all", "custom": ""}]
  1106. items:
  1107. - variable: publicIpv6HttpProviderEntry
  1108. label: Public IPv6 HTTP Provider Entry
  1109. schema:
  1110. type: dict
  1111. attrs:
  1112. - variable: provider
  1113. label: Provider
  1114. schema:
  1115. type: string
  1116. required: true
  1117. enum:
  1118. - value: all
  1119. description: All providers
  1120. - value: ipify
  1121. description: ipify
  1122. - value: noip
  1123. description: noip
  1124. - value: custom
  1125. description: Custom Provider
  1126. - variable: custom
  1127. label: Custom Value
  1128. schema:
  1129. type: string
  1130. show_if: [["provider", "=", "custom"]]
  1131. default: ""
  1132. required: true
  1133. - variable: publicIpFetchers
  1134. label: Public IP Fetchers
  1135. description: Fetcher types to obtain the public IP address
  1136. schema:
  1137. type: list
  1138. min: 1
  1139. required: true
  1140. empty: false
  1141. default: [{"provider": "all", "placeholder": "placeholder"}]
  1142. items:
  1143. - variable: publicIpFetcherEntry
  1144. label: Public IP Fetcher Entry
  1145. schema:
  1146. type: dict
  1147. attrs:
  1148. - variable: provider
  1149. label: Fetcher
  1150. schema:
  1151. type: string
  1152. required: true
  1153. enum:
  1154. - value: all
  1155. description: All providers
  1156. - value: http
  1157. description: HTTP
  1158. - value: dns
  1159. description: DNS
  1160. # Workaround for a UI bug that is fixed in the next release
  1161. # (Single items in a dict inside a list was getting converted to a list of strings)
  1162. - variable: placeholder
  1163. label: placeholder
  1164. schema:
  1165. type: string
  1166. default: placeholder
  1167. required: true
  1168. hidden: true
  1169. - variable: additionalEnvs
  1170. label: Additional Environment Variables
  1171. description: Configure additional environment variables for DDNS Updater.
  1172. schema:
  1173. type: list
  1174. default: []
  1175. items:
  1176. - variable: env
  1177. label: Environment Variable
  1178. schema:
  1179. type: dict
  1180. attrs:
  1181. - variable: name
  1182. label: Name
  1183. schema:
  1184. type: string
  1185. required: true
  1186. - variable: value
  1187. label: Value
  1188. schema:
  1189. type: string
  1190. required: true
  1191. - variable: ddnsRunAs
  1192. label: ""
  1193. group: User and Group Configuration
  1194. schema:
  1195. type: dict
  1196. attrs:
  1197. - variable: user
  1198. label: User ID
  1199. description: The user id that DDNS Updater will run as.
  1200. schema:
  1201. type: int
  1202. min: 2
  1203. default: 568
  1204. required: true
  1205. - variable: group
  1206. label: Group ID
  1207. description: The group id that DDNS Updater will run as.
  1208. schema:
  1209. type: int
  1210. min: 2
  1211. default: 568
  1212. required: true
  1213. - variable: ddnsNetwork
  1214. label: ""
  1215. group: Network Configuration
  1216. schema:
  1217. type: dict
  1218. attrs:
  1219. - variable: webPort
  1220. label: Web Port
  1221. description: The port for the DDNS Updater Web UI.
  1222. schema:
  1223. type: int
  1224. default: 30007
  1225. min: 9000
  1226. max: 65535
  1227. required: true
  1228. - variable: hostNetwork
  1229. label: Host Network
  1230. description: |
  1231. Bind to the host network. It's recommended to keep this disabled.</br>
  1232. schema:
  1233. type: boolean
  1234. default: false
  1235. - variable: ddnsStorage
  1236. label: ""
  1237. group: Storage Configuration
  1238. schema:
  1239. type: dict
  1240. attrs:
  1241. - variable: data
  1242. label: DDNS Updater Data Storage
  1243. description: The path to store DDNS Updater Data.
  1244. schema:
  1245. type: dict
  1246. attrs:
  1247. - variable: type
  1248. label: Type
  1249. description: |
  1250. ixVolume: Is dataset created automatically by the system.</br>
  1251. Host Path: Is a path that already exists on the system.
  1252. schema:
  1253. type: string
  1254. required: true
  1255. default: "ixVolume"
  1256. enum:
  1257. - value: "hostPath"
  1258. description: Host Path (Path that already exists on the system)
  1259. - value: "ixVolume"
  1260. description: ixVolume (Dataset created automatically by the system)
  1261. - variable: datasetName
  1262. label: Dataset Name
  1263. schema:
  1264. type: string
  1265. show_if: [["type", "=", "ixVolume"]]
  1266. required: true
  1267. hidden: true
  1268. immutable: true
  1269. default: "data"
  1270. $ref:
  1271. - "normalize/ixVolume"
  1272. - variable: hostPath
  1273. label: Host Path
  1274. schema:
  1275. type: hostpath
  1276. show_if: [["type", "=", "hostPath"]]
  1277. immutable: true
  1278. required: true
  1279. - variable: resources
  1280. group: Resources Configuration
  1281. label: ""
  1282. schema:
  1283. type: dict
  1284. attrs:
  1285. - variable: limits
  1286. label: Limits
  1287. schema:
  1288. type: dict
  1289. attrs:
  1290. - variable: cpu
  1291. label: CPU
  1292. description: CPU limit for DDNS Updater.
  1293. schema:
  1294. type: string
  1295. max_length: 6
  1296. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  1297. valid_chars_error: |
  1298. Valid CPU limit formats are</br>
  1299. - Plain Integer - eg. 1</br>
  1300. - Float - eg. 0.5</br>
  1301. - Milicpu - eg. 500m
  1302. default: "4000m"
  1303. required: true
  1304. - variable: memory
  1305. label: Memory
  1306. description: Memory limit for DDNS Updater.
  1307. schema:
  1308. type: string
  1309. max_length: 12
  1310. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  1311. valid_chars_error: |
  1312. Valid Memory limit formats are</br>
  1313. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  1314. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  1315. - Plain Integer in bytes - eg. 1024</br>
  1316. - Exponent - eg. 134e6
  1317. default: "8Gi"
  1318. required: true