questions.yaml 52 KB

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