questions.yaml 54 KB

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