questions.yaml 57 KB

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