questions.yaml 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413
  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. - variable: ovhProviderIP
  795. label: OVH Provider IP
  796. description: OVH Provider IP.
  797. schema:
  798. type: boolean
  799. show_if: [["provider", "=", "ovh"]]
  800. default: false
  801. # Porkbun
  802. - variable: porkbunApiKey
  803. label: Porkbun API Key
  804. description: Porkbun API Key.
  805. schema:
  806. type: string
  807. show_if: [["provider", "=", "porkbun"]]
  808. required: true
  809. private: true
  810. empty: false
  811. - variable: porkbunSecretApiKey
  812. label: Porkbun Secret API Key
  813. description: Porkbun Secret API Key.
  814. schema:
  815. type: string
  816. show_if: [["provider", "=", "porkbun"]]
  817. required: true
  818. private: true
  819. empty: false
  820. - variable: porkbunTtl
  821. label: Porkbun TTL
  822. description: Porkbun TTL.
  823. schema:
  824. type: int
  825. show_if: [["provider", "=", "porkbun"]]
  826. default: 3600
  827. # Selfhost.de
  828. - variable: selfhostdeUsername
  829. label: Selfhost.de Username
  830. description: Selfhost.de Username.
  831. schema:
  832. type: string
  833. show_if: [["provider", "=", "selfhost.de"]]
  834. required: true
  835. empty: false
  836. - variable: selfhostdePassword
  837. label: Selfhost.de Password
  838. description: Selfhost.de Password.
  839. schema:
  840. type: string
  841. show_if: [["provider", "=", "selfhost.de"]]
  842. required: true
  843. private: true
  844. empty: false
  845. - variable: selfhostdeProviderIP
  846. label: Selfhost.de Provider IP
  847. description: Selfhost.de Provider IP.
  848. schema:
  849. type: boolean
  850. show_if: [["provider", "=", "selfhost.de"]]
  851. default: false
  852. # Servercow
  853. - variable: servercowUsername
  854. label: Servercow Username
  855. description: Servercow Username.
  856. schema:
  857. type: string
  858. show_if: [["provider", "=", "servercow"]]
  859. required: true
  860. empty: false
  861. - variable: servercowPassword
  862. label: Servercow Password
  863. description: Servercow Password.
  864. schema:
  865. type: string
  866. show_if: [["provider", "=", "servercow"]]
  867. required: true
  868. private: true
  869. empty: false
  870. - variable: servercowTtl
  871. label: Servercow TTL
  872. description: Servercow TTL.
  873. schema:
  874. type: int
  875. show_if: [["provider", "=", "servercow"]]
  876. default: 120
  877. - variable: servercowProviderIP
  878. label: Servercow Provider IP
  879. description: Servercow Provider IP.
  880. schema:
  881. type: boolean
  882. show_if: [["provider", "=", "servercow"]]
  883. default: false
  884. # Spdyn.de
  885. - variable: spdynToken
  886. label: Spdyn.de Token
  887. description: Spdyn.de Token.
  888. schema:
  889. type: string
  890. show_if: [["provider", "=", "spdyn"]]
  891. required: true
  892. private: true
  893. empty: false
  894. - variable: spdynUsername
  895. label: Spdyn.de Username
  896. description: Spdyn.de Username.
  897. schema:
  898. type: string
  899. show_if: [["provider", "=", "spdyn"]]
  900. required: true
  901. empty: false
  902. - variable: spdynPassword
  903. label: Spdyn.de Password
  904. description: Spdyn.de Password.
  905. schema:
  906. type: string
  907. show_if: [["provider", "=", "spdyn"]]
  908. required: true
  909. private: true
  910. empty: false
  911. - variable: spdynProviderIP
  912. label: Spdyn.de Provider IP
  913. description: Spdyn.de Provider IP.
  914. schema:
  915. type: boolean
  916. show_if: [["provider", "=", "spdyn"]]
  917. default: false
  918. # Strato
  919. - variable: stratoPassword
  920. label: Strato Password
  921. description: Strato Password.
  922. schema:
  923. type: string
  924. show_if: [["provider", "=", "strato"]]
  925. required: true
  926. private: true
  927. empty: false
  928. - variable: stratoProviderIP
  929. label: Strato Provider IP
  930. description: Strato Provider IP.
  931. schema:
  932. type: boolean
  933. show_if: [["provider", "=", "strato"]]
  934. default: false
  935. # Variomedia
  936. - variable: variomediaPassword
  937. label: Variomedia Password
  938. description: Variomedia Password.
  939. schema:
  940. type: string
  941. show_if: [["provider", "=", "variomedia"]]
  942. required: true
  943. private: true
  944. empty: false
  945. - variable: variomediaEmail
  946. label: Variomedia Email
  947. description: Variomedia Email.
  948. schema:
  949. type: string
  950. show_if: [["provider", "=", "variomedia"]]
  951. required: true
  952. empty: false
  953. - variable: variomediaProviderIP
  954. label: Variomedia Provider IP
  955. description: Variomedia Provider IP.
  956. schema:
  957. type: boolean
  958. show_if: [["provider", "=", "variomedia"]]
  959. default: false
  960. - variable: period
  961. label: Update Period
  962. description: |
  963. Default period of IP address check, following this format:</br>
  964. 5m = 5 minutes</br>
  965. 1h = 1 hour</br>
  966. 1h30m = 1 hour 30 minutes
  967. schema:
  968. type: string
  969. default: 5m
  970. required: true
  971. - variable: updateCooldownPeriod
  972. label: Update Cooldown Period
  973. description: |
  974. Duration to cooldown between updates for each record.
  975. This is useful to avoid being rate limited or banned,
  976. following this format:</br>
  977. 5m = 5 minutes</br>
  978. 1h = 1 hour</br>
  979. 1h30m = 1 hour 30 minutes
  980. schema:
  981. type: string
  982. default: 5m
  983. required: true
  984. - variable: backupPeriod
  985. label: Backup Period
  986. description: |
  987. Set to a period to enable zip backups of data/config.json and
  988. data/updates.json in a zip file following this format:</br>
  989. 0 = disabled</br>
  990. 10h = 10 hours</br>
  991. 20h30m = 20 hours 30 minutes
  992. schema:
  993. type: string
  994. default: 24h
  995. required: true
  996. - variable: httpTimeout
  997. label: HTTP Timeout
  998. description: |
  999. Default timeout for HTTP requests, following this format:</br>
  1000. 10s = 10 seconds</br>
  1001. 1m = 1 minute</br>
  1002. 1m30s = 1 minute 30 seconds
  1003. schema:
  1004. type: string
  1005. default: 10s
  1006. required: true
  1007. - variable: publicIpDnsTimeout
  1008. label: Public IP DNS Timeout
  1009. description: |
  1010. Public IP DNS query timeout, following this format:</br>
  1011. 3s = 3 seconds</br>
  1012. 1m = 1 minute</br>
  1013. 1m30s = 1 minute 30 seconds
  1014. schema:
  1015. type: string
  1016. default: 3s
  1017. required: true
  1018. - variable: shoutrrrAddresses
  1019. label: Shoutrrr Addresses
  1020. description: |
  1021. List of Shoutrrr addresses to send notifications to. </br>
  1022. See https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.
  1023. schema:
  1024. type: list
  1025. default: []
  1026. items:
  1027. - variable: address
  1028. label: Address
  1029. schema:
  1030. type: string
  1031. required: true
  1032. empty: false
  1033. - variable: publicIpDnsProviders
  1034. label: Public IP DNS Providers
  1035. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  1036. schema:
  1037. type: list
  1038. min: 1
  1039. required: true
  1040. empty: false
  1041. default: [{"provider": "all", "placeholder": "placeholder"}]
  1042. items:
  1043. - variable: publicIpDnsProviderEntry
  1044. label: Public IP DNS Provider Entry
  1045. schema:
  1046. type: dict
  1047. attrs:
  1048. - variable: provider
  1049. label: Provider
  1050. schema:
  1051. type: string
  1052. required: true
  1053. enum:
  1054. - value: all
  1055. description: All providers
  1056. - value: google
  1057. description: Google
  1058. - value: cloudflare
  1059. description: Cloudflare
  1060. # Workaround for a UI bug that is fixed in the next release
  1061. # (Single items in a dict inside a list was getting converted to a list of strings)
  1062. - variable: placeholder
  1063. label: placeholder
  1064. schema:
  1065. type: string
  1066. default: placeholder
  1067. required: true
  1068. hidden: true
  1069. - variable: publicIpHttpProviders
  1070. label: Public IP HTTP Providers
  1071. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  1072. schema:
  1073. type: list
  1074. min: 1
  1075. required: true
  1076. empty: false
  1077. default: [{"provider": "all", "custom": ""}]
  1078. items:
  1079. - variable: publicIpHttpProviderEntry
  1080. label: Public IP HTTP Provider Entry
  1081. schema:
  1082. type: dict
  1083. attrs:
  1084. - variable: provider
  1085. label: Provider
  1086. schema:
  1087. type: string
  1088. required: true
  1089. enum:
  1090. - value: all
  1091. description: All providers
  1092. - value: opendns
  1093. description: opendns
  1094. - value: ifconfig
  1095. description: ifconfig
  1096. - value: ipinfo
  1097. description: ipinfo
  1098. - value: ddnss
  1099. description: ddnss
  1100. - value: google
  1101. description: google
  1102. - value: custom
  1103. description: Custom Provider
  1104. - variable: custom
  1105. label: Custom Value
  1106. schema:
  1107. type: string
  1108. show_if: [["provider", "=", "custom"]]
  1109. default: ""
  1110. required: true
  1111. - variable: publicIpv4HttpProviders
  1112. label: Public IPv4 HTTP Providers
  1113. description: Providers to obtain the public IPv4 address
  1114. schema:
  1115. type: list
  1116. min: 1
  1117. required: true
  1118. empty: false
  1119. default: [{"provider": "all", "custom": ""}]
  1120. items:
  1121. - variable: publicIpv4HttpProviderEntry
  1122. label: Public IPv4 HTTP Provider Entry
  1123. schema:
  1124. type: dict
  1125. attrs:
  1126. - variable: provider
  1127. label: Provider
  1128. schema:
  1129. type: string
  1130. required: true
  1131. enum:
  1132. - value: all
  1133. description: All providers
  1134. - value: ipify
  1135. description: ipify
  1136. - value: noip
  1137. description: noip
  1138. - value: custom
  1139. description: Custom Provider
  1140. - variable: custom
  1141. label: Custom Value
  1142. schema:
  1143. type: string
  1144. show_if: [["provider", "=", "custom"]]
  1145. default: ""
  1146. required: true
  1147. - variable: publicIpv6HttpProviders
  1148. label: Public IPv6 HTTP Providers
  1149. description: Providers to obtain the public IPv6 address
  1150. schema:
  1151. type: list
  1152. min: 1
  1153. required: true
  1154. empty: false
  1155. default: [{"provider": "all", "custom": ""}]
  1156. items:
  1157. - variable: publicIpv6HttpProviderEntry
  1158. label: Public IPv6 HTTP Provider Entry
  1159. schema:
  1160. type: dict
  1161. attrs:
  1162. - variable: provider
  1163. label: Provider
  1164. schema:
  1165. type: string
  1166. required: true
  1167. enum:
  1168. - value: all
  1169. description: All providers
  1170. - value: ipify
  1171. description: ipify
  1172. - value: noip
  1173. description: noip
  1174. - value: custom
  1175. description: Custom Provider
  1176. - variable: custom
  1177. label: Custom Value
  1178. schema:
  1179. type: string
  1180. show_if: [["provider", "=", "custom"]]
  1181. default: ""
  1182. required: true
  1183. - variable: publicIpFetchers
  1184. label: Public IP Fetchers
  1185. description: Fetcher types to obtain the public IP address
  1186. schema:
  1187. type: list
  1188. min: 1
  1189. required: true
  1190. empty: false
  1191. default: [{"provider": "all", "placeholder": "placeholder"}]
  1192. items:
  1193. - variable: publicIpFetcherEntry
  1194. label: Public IP Fetcher Entry
  1195. schema:
  1196. type: dict
  1197. attrs:
  1198. - variable: provider
  1199. label: Fetcher
  1200. schema:
  1201. type: string
  1202. required: true
  1203. enum:
  1204. - value: all
  1205. description: All providers
  1206. - value: http
  1207. description: HTTP
  1208. - value: dns
  1209. description: DNS
  1210. # Workaround for a UI bug that is fixed in the next release
  1211. # (Single items in a dict inside a list was getting converted to a list of strings)
  1212. - variable: placeholder
  1213. label: placeholder
  1214. schema:
  1215. type: string
  1216. default: placeholder
  1217. required: true
  1218. hidden: true
  1219. - variable: additionalEnvs
  1220. label: Additional Environment Variables
  1221. description: Configure additional environment variables for DDNS Updater.
  1222. schema:
  1223. type: list
  1224. default: []
  1225. items:
  1226. - variable: env
  1227. label: Environment Variable
  1228. schema:
  1229. type: dict
  1230. attrs:
  1231. - variable: name
  1232. label: Name
  1233. schema:
  1234. type: string
  1235. required: true
  1236. - variable: value
  1237. label: Value
  1238. schema:
  1239. type: string
  1240. required: true
  1241. - variable: ddnsRunAs
  1242. label: ""
  1243. group: User and Group Configuration
  1244. schema:
  1245. type: dict
  1246. attrs:
  1247. - variable: user
  1248. label: User ID
  1249. description: The user id that DDNS Updater will run as.
  1250. schema:
  1251. type: int
  1252. min: 2
  1253. default: 568
  1254. required: true
  1255. - variable: group
  1256. label: Group ID
  1257. description: The group id that DDNS Updater will run as.
  1258. schema:
  1259. type: int
  1260. min: 2
  1261. default: 568
  1262. required: true
  1263. - variable: ddnsNetwork
  1264. label: ""
  1265. group: Network Configuration
  1266. schema:
  1267. type: dict
  1268. attrs:
  1269. - variable: webPort
  1270. label: Web Port
  1271. description: The port for the DDNS Updater Web UI.
  1272. schema:
  1273. type: int
  1274. default: 30007
  1275. min: 9000
  1276. max: 65535
  1277. required: true
  1278. - variable: hostNetwork
  1279. label: Host Network
  1280. description: |
  1281. Bind to the host network. It's recommended to keep this disabled.</br>
  1282. schema:
  1283. type: boolean
  1284. default: false
  1285. - variable: ddnsStorage
  1286. label: ""
  1287. group: Storage Configuration
  1288. schema:
  1289. type: dict
  1290. attrs:
  1291. - variable: data
  1292. label: DDNS Updater Data Storage
  1293. description: The path to store DDNS Updater Data.
  1294. schema:
  1295. type: dict
  1296. attrs:
  1297. - variable: type
  1298. label: Type
  1299. description: |
  1300. ixVolume: Is dataset created automatically by the system.</br>
  1301. Host Path: Is a path that already exists on the system.
  1302. schema:
  1303. type: string
  1304. required: true
  1305. default: "ixVolume"
  1306. enum:
  1307. - value: "hostPath"
  1308. description: Host Path (Path that already exists on the system)
  1309. - value: "ixVolume"
  1310. description: ixVolume (Dataset created automatically by the system)
  1311. - variable: datasetName
  1312. label: Dataset Name
  1313. schema:
  1314. type: string
  1315. show_if: [["type", "=", "ixVolume"]]
  1316. required: true
  1317. hidden: true
  1318. immutable: true
  1319. default: "data"
  1320. $ref:
  1321. - "normalize/ixVolume"
  1322. - variable: hostPath
  1323. label: Host Path
  1324. schema:
  1325. type: hostpath
  1326. show_if: [["type", "=", "hostPath"]]
  1327. immutable: true
  1328. required: true
  1329. - variable: resources
  1330. group: Resources Configuration
  1331. label: ""
  1332. schema:
  1333. type: dict
  1334. attrs:
  1335. - variable: limits
  1336. label: Limits
  1337. schema:
  1338. type: dict
  1339. attrs:
  1340. - variable: cpu
  1341. label: CPU
  1342. description: CPU limit for DDNS Updater.
  1343. schema:
  1344. type: string
  1345. max_length: 6
  1346. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  1347. valid_chars_error: |
  1348. Valid CPU limit formats are</br>
  1349. - Plain Integer - eg. 1</br>
  1350. - Float - eg. 0.5</br>
  1351. - Milicpu - eg. 500m
  1352. default: "4000m"
  1353. required: true
  1354. - variable: memory
  1355. label: Memory
  1356. description: Memory limit for DDNS Updater.
  1357. schema:
  1358. type: string
  1359. max_length: 12
  1360. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  1361. valid_chars_error: |
  1362. Valid Memory limit formats are</br>
  1363. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  1364. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  1365. - Plain Integer in bytes - eg. 1024</br>
  1366. - Exponent - eg. 134e6
  1367. default: "8Gi"
  1368. required: true