mirror of
https://github.com/truenas/charts.git
synced 2026-04-13 16:39:48 +08:00
Update catalog information
This commit is contained in:
40
catalog.json
40
catalog.json
@@ -42,7 +42,7 @@
|
||||
"latest_version": "1.0.89",
|
||||
"latest_app_version": "2023.5.2",
|
||||
"latest_human_version": "2023.5.2_1.0.89",
|
||||
"last_update": "2023-05-07 15:37:00",
|
||||
"last_update": "2023-05-09 11:21:40",
|
||||
"name": "home-assistant",
|
||||
"recommended": false,
|
||||
"title": "Home Assistant",
|
||||
@@ -118,7 +118,7 @@
|
||||
"latest_version": "1.7.45",
|
||||
"latest_app_version": "1.32.1.6999",
|
||||
"latest_human_version": "1.32.1.6999_1.7.45",
|
||||
"last_update": "2023-05-09 11:06:50",
|
||||
"last_update": "2023-05-09 11:21:40",
|
||||
"name": "plex",
|
||||
"recommended": false,
|
||||
"title": "Plex",
|
||||
@@ -201,7 +201,7 @@
|
||||
"latest_version": "1.0.6",
|
||||
"latest_app_version": "7",
|
||||
"latest_human_version": "7_1.0.6",
|
||||
"last_update": "2023-05-03 13:56:14",
|
||||
"last_update": "2023-05-09 11:21:40",
|
||||
"name": "wg-easy",
|
||||
"recommended": false,
|
||||
"title": "WG Easy",
|
||||
@@ -286,7 +286,7 @@
|
||||
"latest_version": "1.0.26",
|
||||
"latest_app_version": "1.23.4",
|
||||
"latest_human_version": "1.23.4_1.0.26",
|
||||
"last_update": "2023-05-03 13:56:14",
|
||||
"last_update": "2023-05-09 11:21:40",
|
||||
"name": "syncthing",
|
||||
"recommended": false,
|
||||
"title": "Syncthing",
|
||||
@@ -313,7 +313,7 @@
|
||||
"latest_version": "1.0.23",
|
||||
"latest_app_version": "4.7.11.0",
|
||||
"latest_human_version": "4.7.11.0_1.0.23",
|
||||
"last_update": "2023-05-03 13:56:14",
|
||||
"last_update": "2023-05-09 11:21:40",
|
||||
"name": "emby",
|
||||
"recommended": false,
|
||||
"title": "Emby Server",
|
||||
@@ -555,6 +555,36 @@
|
||||
"tags": [],
|
||||
"icon_url": "https://static.wikia.nocookie.net/terraria_gamepedia/images/a/a4/NewPromoLogo.png/revision/latest"
|
||||
},
|
||||
"ddns-updater": {
|
||||
"app_readme": "<h1>DDNS Updater</h1>\n<p><a href=\"https://github.com/qdm12/ddns-updater\">DDNS Updater</a> is a lightweight universal DDNS Updater with web UI</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>DDNS Updater</code> directories.\nAfterward, the <code>DDNS Updater</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAll mounted storage(s) will be <code>chown</code>ed only if the parent directory does not match the configured user.</p>\n</blockquote>",
|
||||
"categories": [
|
||||
"network"
|
||||
],
|
||||
"description": "Lightweight universal DDNS Updater with web UI",
|
||||
"healthy": true,
|
||||
"healthy_error": null,
|
||||
"home": "https://github.com/qdm12/ddns-updater",
|
||||
"location": "/__w/charts/charts/community/ddns-updater",
|
||||
"latest_version": "1.0.0",
|
||||
"latest_app_version": "latest",
|
||||
"latest_human_version": "latest_1.0.0",
|
||||
"last_update": null,
|
||||
"name": "ddns-updater",
|
||||
"recommended": false,
|
||||
"title": "DDNS Updater",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "truenas",
|
||||
"url": "https://www.truenas.com/",
|
||||
"email": "dev@ixsystems.com"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"ddns",
|
||||
"ddns-updater"
|
||||
],
|
||||
"icon_url": "https://raw.githubusercontent.com/qdm12/ddns-updater/master/readme/ddnsgopher.svg"
|
||||
},
|
||||
"radarr": {
|
||||
"app_readme": "<h1>Radarr</h1>\n<p><a href=\"https://github.com/Radarr/Radarr\">Radarr</a> is a movie collection manager for Usenet and BitTorrent users.</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>Radarr</code> directories.\nAfterward, the <code>Radarr</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAll mounted storage(s) will be <code>chown</code>ed only if the parent directory does not match the configured user.</p>\n</blockquote>",
|
||||
"categories": [
|
||||
|
||||
6
community/ddns-updater/1.0.0/Chart.lock
Normal file
6
community/ddns-updater/1.0.0/Chart.lock
Normal file
@@ -0,0 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../../../common
|
||||
version: 1.0.7
|
||||
digest: sha256:919bcf42446fc1748a1b77001ec0161bb7a72a198381794b716a6ebb459ac31b
|
||||
generated: "2023-05-09T16:20:15.690681282+03:00"
|
||||
26
community/ddns-updater/1.0.0/Chart.yaml
Normal file
26
community/ddns-updater/1.0.0/Chart.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
name: ddns-updater
|
||||
description: Lightweight universal DDNS Updater with web UI
|
||||
annotations:
|
||||
title: DDNS Updater
|
||||
type: application
|
||||
version: 1.0.0
|
||||
apiVersion: v2
|
||||
appVersion: 'latest'
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- name: truenas
|
||||
url: https://www.truenas.com/
|
||||
email: dev@ixsystems.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../../../common
|
||||
version: 1.0.7
|
||||
home: https://github.com/qdm12/ddns-updater
|
||||
icon: https://raw.githubusercontent.com/qdm12/ddns-updater/master/readme/ddnsgopher.svg
|
||||
sources:
|
||||
- https://github.com/qdm12/ddns-updater
|
||||
- https://github.com/truenas/charts/tree/master/community/ddns-updater
|
||||
- https://hub.docker.com/r/qmcgaw/ddns-updater
|
||||
keywords:
|
||||
- ddns-updater
|
||||
- ddns
|
||||
8
community/ddns-updater/1.0.0/README.md
Normal file
8
community/ddns-updater/1.0.0/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# DDNS Updater
|
||||
|
||||
[DDNS Updater](https://github.com/qdm12/ddns-updater) is a lightweight universal DDNS Updater with web UI
|
||||
|
||||
> When application is installed, a container will be launched with **root** privileges.
|
||||
> This is required in order to apply the correct permissions to the `DDNS Updater` directories.
|
||||
> Afterward, the `DDNS Updater` container will run as a **non**-root user (Default: `568`).
|
||||
> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user.
|
||||
8
community/ddns-updater/1.0.0/app-readme.md
Normal file
8
community/ddns-updater/1.0.0/app-readme.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# DDNS Updater
|
||||
|
||||
[DDNS Updater](https://github.com/qdm12/ddns-updater) is a lightweight universal DDNS Updater with web UI
|
||||
|
||||
> When application is installed, a container will be launched with **root** privileges.
|
||||
> This is required in order to apply the correct permissions to the `DDNS Updater` directories.
|
||||
> Afterward, the `DDNS Updater` container will run as a **non**-root user (Default: `568`).
|
||||
> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user.
|
||||
BIN
community/ddns-updater/1.0.0/charts/common-1.0.7.tgz
Normal file
BIN
community/ddns-updater/1.0.0/charts/common-1.0.7.tgz
Normal file
Binary file not shown.
19
community/ddns-updater/1.0.0/ci/aliyun-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/aliyun-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: aliyun
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
aliyunAccessKey: key
|
||||
aliyunSecret: secret
|
||||
19
community/ddns-updater/1.0.0/ci/allinkl-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/allinkl-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: allinkl
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
allinklUsername: user
|
||||
allinklPassword: pass
|
||||
37
community/ddns-updater/1.0.0/ci/cloudflare-values.yaml
Normal file
37
community/ddns-updater/1.0.0/ci/cloudflare-values.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: cloudflare
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
cloudflareZoneID: zoneid
|
||||
cloudflareTtl: 1
|
||||
cloudflareProxied: false
|
||||
cloudflareToken: token
|
||||
- provider: cloudflare
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
cloudflareZoneID: zoneid
|
||||
cloudflareTtl: 1
|
||||
cloudflareProxied: false
|
||||
cloudflareUserServiceKey: v1.0.0-abcdef
|
||||
- provider: cloudflare
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
cloudflareZoneID: zoneid
|
||||
cloudflareTtl: 1
|
||||
cloudflareEmail: email@example.com
|
||||
cloudflareApiKey: api_key
|
||||
52
community/ddns-updater/1.0.0/ci/config-values.yaml
Normal file
52
community/ddns-updater/1.0.0/ci/config-values.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsRunAs:
|
||||
user: 1000
|
||||
group: 1000
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: allinkl
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
allinklUsername: user
|
||||
allinklPassword: pass
|
||||
|
||||
period: 1m
|
||||
backupPeriod: 1h
|
||||
updateCooldownPeriod: 10m
|
||||
publicIpDnsTimeout: 3s
|
||||
httpTimeout: 15s
|
||||
publicIpFetchers:
|
||||
- provider: all
|
||||
|
||||
shoutrrrAddresses:
|
||||
- discord://token@id
|
||||
- gotify://gotify-host/token
|
||||
publicIpDnsProviders:
|
||||
- provider: all
|
||||
publicIpHttpProviders:
|
||||
- provider: custom
|
||||
custom: https://ifconfig.io/ip
|
||||
publicIpv4HttpProviders:
|
||||
- provider: custom
|
||||
custom: https://api.ipify.org
|
||||
publicIpv6HttpProviders:
|
||||
- provider: custom
|
||||
custom: https://api6.ipify.org
|
||||
|
||||
additionalEnvs:
|
||||
- name: LOG_LEVEL
|
||||
value: debug
|
||||
- name: LOG_CALLER
|
||||
value: short
|
||||
18
community/ddns-updater/1.0.0/ci/dd24-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/dd24-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dd24
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
dd24Password: password
|
||||
28
community/ddns-updater/1.0.0/ci/ddnss-values.yaml
Normal file
28
community/ddns-updater/1.0.0/ci/ddnss-values.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: ddnss
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ddnssUsername: username
|
||||
ddnssPassword: password
|
||||
ddnssProviderIP: false
|
||||
ddnssDualStack: true
|
||||
- provider: ddnss
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ddnssUsername: username
|
||||
ddnssPassword: password
|
||||
ddnssProviderIP: true
|
||||
18
community/ddns-updater/1.0.0/ci/digitalocean-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/digitalocean-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: digitalocean
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
digitalOceanToken: token
|
||||
27
community/ddns-updater/1.0.0/ci/dnsomatic-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/dnsomatic-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dnsomatic
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
dnsOMaticUsername: username
|
||||
dnsOMaticPassword: password
|
||||
dnsOMaticProviderIP: false
|
||||
- provider: dnsomatic
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
dnsOMaticUsername: username
|
||||
dnsOMaticPassword: password
|
||||
dnsOMaticProviderIP: true
|
||||
18
community/ddns-updater/1.0.0/ci/dnspod-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/dnspod-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dnspod
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
dnsPodToken: token
|
||||
20
community/ddns-updater/1.0.0/ci/dondominio-values.yaml
Normal file
20
community/ddns-updater/1.0.0/ci/dondominio-values.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dondominio
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
donDominioUsername: user
|
||||
donDominioPassword: pass
|
||||
donDominioName: name
|
||||
18
community/ddns-updater/1.0.0/ci/dreamhost-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/dreamhost-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dreamhost
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
dreamHostKey: abcdefgh12345678
|
||||
18
community/ddns-updater/1.0.0/ci/duckdns-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/duckdns-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: duckdns
|
||||
host: subdomain
|
||||
domain: example.com
|
||||
duckdnsToken: abcd1234-abcd-1234-abcd-abcd1234abcd
|
||||
duckdnsProviderIP: false
|
||||
19
community/ddns-updater/1.0.0/ci/dyndns-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/dyndns-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dyn
|
||||
host: "@"
|
||||
domain: example.com
|
||||
dynClientKey: key
|
||||
dynUsername: user
|
||||
dynProviderIP: false
|
||||
26
community/ddns-updater/1.0.0/ci/dynu-values.yaml
Normal file
26
community/ddns-updater/1.0.0/ci/dynu-values.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dynu
|
||||
host: "@"
|
||||
domain: example.com
|
||||
dynuUsername: user
|
||||
dynuPassword: password
|
||||
dynuProviderIP: false
|
||||
- provider: dynu
|
||||
host: "@"
|
||||
domain: example.com
|
||||
dynuUsername: user
|
||||
dynuPassword: password
|
||||
dynuGroup: group
|
||||
dynuProviderIP: true
|
||||
18
community/ddns-updater/1.0.0/ci/dynv6-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/dynv6-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dynv6
|
||||
host: "@"
|
||||
domain: example.com
|
||||
dynv6Token: token
|
||||
dynv6ProviderIP: false
|
||||
18
community/ddns-updater/1.0.0/ci/freedns-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/freedns-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: freedns
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
freeDnsToken: token
|
||||
19
community/ddns-updater/1.0.0/ci/gandi-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/gandi-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: gandi
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
gandiKey: key
|
||||
gandiTtl: 3600
|
||||
20
community/ddns-updater/1.0.0/ci/gcp-values.yaml
Normal file
20
community/ddns-updater/1.0.0/ci/gcp-values.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: gcp
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
gcpProject: project
|
||||
gcpZone: zone
|
||||
gcpCredentials: '{"type": "service_account", "project_id": "my-id"}'
|
||||
19
community/ddns-updater/1.0.0/ci/godaddy-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/godaddy-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: godaddy
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
godaddyKey: abcDE12345_abcde12345abcde12345AB
|
||||
godaddySecret: secret
|
||||
18
community/ddns-updater/1.0.0/ci/google-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/google-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: he
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
hePassword: password
|
||||
24
community/ddns-updater/1.0.0/ci/he-values.yaml
Normal file
24
community/ddns-updater/1.0.0/ci/he-values.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: he
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
hePassword: password
|
||||
heProviderIP: true
|
||||
- provider: he
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
hePassword: password
|
||||
27
community/ddns-updater/1.0.0/ci/infomaniak-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/infomaniak-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: infomaniak
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
infomaniakUsername: username
|
||||
infomaniakPassword: password
|
||||
infomaniakProviderIP: true
|
||||
- provider: infomaniak
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
infomaniakUsername: username
|
||||
infomaniakPassword: password
|
||||
infomaniakProviderIP: false
|
||||
19
community/ddns-updater/1.0.0/ci/inwx-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/inwx-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: inwx
|
||||
host: subdomain
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
inwxUsername: username
|
||||
inwxPassword: password
|
||||
18
community/ddns-updater/1.0.0/ci/linode-values.yaml
Normal file
18
community/ddns-updater/1.0.0/ci/linode-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: linode
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
linodeToken: token
|
||||
19
community/ddns-updater/1.0.0/ci/luadns-values.yaml
Normal file
19
community/ddns-updater/1.0.0/ci/luadns-values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: luadns
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
luadnsToken: token
|
||||
luadnsEmail: email@example.com
|
||||
25
community/ddns-updater/1.0.0/ci/namecheap-values.yaml
Normal file
25
community/ddns-updater/1.0.0/ci/namecheap-values.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: namecheap
|
||||
host: subdomain
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
namecheapPassword: abcdef123456abcdef123456abcdef12
|
||||
namecheapProviderIP: true
|
||||
- provider: namecheap
|
||||
host: subdomain
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
namecheapPassword: abcdef123456abcdef123456abcdef12
|
||||
namecheapProviderIP: false
|
||||
25
community/ddns-updater/1.0.0/ci/njalla-values.yaml
Normal file
25
community/ddns-updater/1.0.0/ci/njalla-values.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: njalla
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
njallaKey: key
|
||||
njallaProviderIP: true
|
||||
- provider: njalla
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
njallaKey: key
|
||||
njallaProviderIP: false
|
||||
27
community/ddns-updater/1.0.0/ci/noip-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/noip-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: noip
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
noipUsername: username
|
||||
noipPassword: password
|
||||
noipProviderIP: true
|
||||
- provider: noip
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
noipUsername: username
|
||||
noipPassword: password
|
||||
noipProviderIP: false
|
||||
27
community/ddns-updater/1.0.0/ci/opendns-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/opendns-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: opendns
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
opendnsUsername: username
|
||||
opendnsPassword: password
|
||||
opendnsProviderIP: true
|
||||
- provider: opendns
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
opendnsUsername: username
|
||||
opendnsPassword: password
|
||||
opendnsProviderIP: false
|
||||
49
community/ddns-updater/1.0.0/ci/ovh-values.yaml
Normal file
49
community/ddns-updater/1.0.0/ci/ovh-values.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: ovh
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ovhMode: dynamic
|
||||
ovhUsername: username
|
||||
ovhPassword: password
|
||||
ovhProviderIP: true
|
||||
- provider: ovh
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ovhMode: dynamic
|
||||
ovhUsername: username
|
||||
ovhPassword: password
|
||||
ovhProviderIP: false
|
||||
- provider: ovh
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ovhMode: api
|
||||
ovhApiEndpoint: ovh-eu
|
||||
ovhAppKey: applicationKey
|
||||
ovhAppSecret: applicationSecret
|
||||
ovhConsumerKey: consumerKey
|
||||
ovhProviderIP: false
|
||||
- provider: ovh
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
ovhMode: api
|
||||
ovhApiEndpoint: ovh-eu
|
||||
ovhAppKey: applicationKey
|
||||
ovhAppSecret: applicationSecret
|
||||
ovhConsumerKey: consumerKey
|
||||
ovhProviderIP: true
|
||||
26
community/ddns-updater/1.0.0/ci/porkbun-values.yaml
Normal file
26
community/ddns-updater/1.0.0/ci/porkbun-values.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: porkbun
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
porkbunApiKey: apikey
|
||||
porkbunSecretApiKey: secretapikey
|
||||
- provider: porkbun
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
porkbunApiKey: apikey
|
||||
porkbunSecretApiKey: secretapikey
|
||||
porkbunTtl: 3600
|
||||
27
community/ddns-updater/1.0.0/ci/selfhostedde-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/selfhostedde-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: selfhost.de
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
selfhostdeUsername: username
|
||||
selfhostdePassword: password
|
||||
selfhostdeProviderIP: true
|
||||
- provider: selfhost.de
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
selfhostdeUsername: username
|
||||
selfhostdePassword: password
|
||||
selfhostdeProviderIP: false
|
||||
29
community/ddns-updater/1.0.0/ci/servercow-values.yaml
Normal file
29
community/ddns-updater/1.0.0/ci/servercow-values.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: servercow
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
servercowUsername: username
|
||||
servercowPassword: password
|
||||
servercowTtl: 120
|
||||
servercowProviderIP: false
|
||||
- provider: servercow
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
servercowUsername: username
|
||||
servercowPassword: password
|
||||
servercowTtl: 120
|
||||
servercowProviderIP: true
|
||||
32
community/ddns-updater/1.0.0/ci/spdyn-values.yaml.yaml
Normal file
32
community/ddns-updater/1.0.0/ci/spdyn-values.yaml.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: spdyn
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
spdynToken: token
|
||||
spdynProviderIP: false
|
||||
- provider: spdyn
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
spdynToken: token
|
||||
spdynProviderIP: true
|
||||
- provider: spdyn
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
spdynUsername: username
|
||||
spdynPassword: password
|
||||
spdynProviderIP: false
|
||||
25
community/ddns-updater/1.0.0/ci/strato-values.yaml
Normal file
25
community/ddns-updater/1.0.0/ci/strato-values.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: strato
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
stratoPassword: password
|
||||
stratoProviderIP: false
|
||||
- provider: strato
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
stratoPassword: password
|
||||
stratoProviderIP: true
|
||||
27
community/ddns-updater/1.0.0/ci/variomedia-values.yaml
Normal file
27
community/ddns-updater/1.0.0/ci/variomedia-values.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: hostPath
|
||||
hostPath: /mnt/{{ .Release.Name }}/data
|
||||
|
||||
# This disables probes.
|
||||
# As we can't have for each provider
|
||||
# an api key, we just run through CI
|
||||
# for the linting.
|
||||
ci: true
|
||||
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: variomedia
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
variomediaPassword: password
|
||||
variomediaEmail: email@example.com
|
||||
variomediaProviderIP: false
|
||||
- provider: variomedia
|
||||
host: "@"
|
||||
domain: example.com
|
||||
ipVersion: ""
|
||||
variomediaPassword: password
|
||||
variomediaEmail: email@example.com
|
||||
variomediaProviderIP: true
|
||||
54
community/ddns-updater/1.0.0/ix_values.yaml
Normal file
54
community/ddns-updater/1.0.0/ix_values.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
image:
|
||||
repository: qmcgaw/ddns-updater
|
||||
pullPolicy: IfNotPresent
|
||||
tag: latest
|
||||
|
||||
ci: false
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 4000m
|
||||
memory: 8Gi
|
||||
|
||||
ddnsConfig:
|
||||
period: 5m
|
||||
backupPeriod: 24h
|
||||
updateCooldownPeriod: 5m
|
||||
httpTimeout: 10s
|
||||
shoutrrrAddresses: []
|
||||
publicIpDnsTimeout: 3s
|
||||
publicIpDnsProviders:
|
||||
- provider: all
|
||||
publicIpHttpProviders:
|
||||
- provider: all
|
||||
custom: ""
|
||||
publicIpv4HttpProviders:
|
||||
- provider: all
|
||||
custom: ""
|
||||
publicIpv6HttpProviders:
|
||||
- provider: all
|
||||
custom: ""
|
||||
publicIpFetchers:
|
||||
- provider: all
|
||||
config: []
|
||||
# - provider: cloudflare
|
||||
# host: "@"
|
||||
# domain: example.com
|
||||
# ipVersion: ""
|
||||
# cfZoneID: asd
|
||||
# cfTtl: 1
|
||||
# cfProxied: false
|
||||
# cfToken: asd
|
||||
|
||||
additionalEnvs: []
|
||||
ddnsNetwork:
|
||||
webPort: 30000
|
||||
hostNetwork: false
|
||||
ddnsRunAs:
|
||||
user: 568
|
||||
group: 568
|
||||
ddnsStorage:
|
||||
data:
|
||||
type: ixVolume
|
||||
hostPath: ''
|
||||
datasetName: data
|
||||
8
community/ddns-updater/1.0.0/metadata.yaml
Normal file
8
community/ddns-updater/1.0.0/metadata.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
runAsContext:
|
||||
- userName: ddns-updater
|
||||
groupName: ddns-updater
|
||||
gid: 568
|
||||
uid: 568
|
||||
description: DDNS Updater runs as any non-root user.
|
||||
capabilities: []
|
||||
hostMounts: []
|
||||
1349
community/ddns-updater/1.0.0/questions.yaml
Normal file
1349
community/ddns-updater/1.0.0/questions.yaml
Normal file
File diff suppressed because it is too large
Load Diff
1
community/ddns-updater/1.0.0/templates/NOTES.txt
Normal file
1
community/ddns-updater/1.0.0/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "ix.v1.common.lib.chart.notes" $ }}
|
||||
65
community/ddns-updater/1.0.0/templates/_configuration.tpl
Normal file
65
community/ddns-updater/1.0.0/templates/_configuration.tpl
Normal file
@@ -0,0 +1,65 @@
|
||||
{{- define "ddns.configuration" -}}
|
||||
{{- include "ddns.validation" $ }}
|
||||
|
||||
configmap:
|
||||
ddns-config:
|
||||
enabled: true
|
||||
data:
|
||||
PERIOD: {{ .Values.ddnsConfig.period | quote }}
|
||||
HTTP_TIMEOUT: {{ .Values.ddnsConfig.httpTimeout | quote }}
|
||||
BACKUP_PERIOD: {{ .Values.ddnsConfig.backupPeriod | quote }}
|
||||
UPDATE_COOLDOWN_PERIOD: {{ .Values.ddnsConfig.updateCooldownPeriod | quote }}
|
||||
SHOUTRRR_ADDRESSES: {{ join "," .Values.ddnsConfig.shoutrrrAddresses | quote }}
|
||||
PUBLICIP_DNS_TIMEOUT: {{ .Values.ddnsConfig.publicIpDnsTimeout | quote }}
|
||||
PUBLICIP_DNS_PROVIDERS: {{ include "ddns.getPublicIpProviders" (dict "providerList" .Values.ddnsConfig.publicIpDnsProviders) }}
|
||||
PUBLICIP_HTTP_PROVIDERS: {{ include "ddns.getPublicIpProviders" (dict "providerList" .Values.ddnsConfig.publicIpHttpProviders) }}
|
||||
PUBLICIPV4_HTTP_PROVIDERS: {{ include "ddns.getPublicIpProviders" (dict "providerList" .Values.ddnsConfig.publicIpv4HttpProviders) }}
|
||||
PUBLICIPV6_HTTP_PROVIDERS: {{ include "ddns.getPublicIpProviders" (dict "providerList" .Values.ddnsConfig.publicIpv6HttpProviders) }}
|
||||
PUBLICIP_FETCHERS: {{ include "ddns.getPublicIpProviders" (dict "providerList" .Values.ddnsConfig.publicIpFetchers) }}
|
||||
{{ $config := include "ddns.generateConfig" $ | fromYaml }}
|
||||
CONFIG: {{ $config | toJson | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "ddns.getPublicIpProviders" -}}
|
||||
{{- $providerList := .providerList -}}
|
||||
{{- $return := list -}}
|
||||
|
||||
{{- range $providerList -}}
|
||||
{{- if eq .provider "custom" -}}
|
||||
{{- $return = append $return .custom -}}
|
||||
{{- else -}}
|
||||
{{- $return = append $return .provider -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- join "," $return -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Generates configuration in yaml
|
||||
and then it gets converted to single line
|
||||
JSON and passed as an env variable
|
||||
*/}}
|
||||
{{- define "ddns.generateConfig" -}}
|
||||
{{- if not .Values.ddnsConfig.config -}}
|
||||
{{- fail "DDNS Updater - Expected at least 1 item in DNS Provider COnfiguration" -}}
|
||||
{{- end -}}
|
||||
{{- $providers := (list "aliyun" "allinkl" "cloudflare" "dd24" "ddnss" "digitalocean"
|
||||
"dnsomatic" "dnspod" "dondominio" "dreamhost" "duckdns" "dyn"
|
||||
"dynu" "dynv6" "freedns" "gandi" "gcp" "godaddy" "google" "he"
|
||||
"infomaniak" "inwx" "linode" "luadns" "namecheap" "njalla" "noip"
|
||||
"opendns" "ovh" "porkbun" "selfhost.de" "servercow" "spdyn"
|
||||
"strato" "variomedia") }}
|
||||
settings:
|
||||
{{- range $item := .Values.ddnsConfig.config -}}
|
||||
{{- if not (mustHas $item.provider $providers) -}}
|
||||
{{- fail (printf "DDNS Updater - DNS Provider [%v] is not supported" $item.provider) -}}
|
||||
{{- end }}
|
||||
- provider: {{ $item.provider }}
|
||||
host: {{ $item.host | required (printf "DDNS Updater - Expected non-empty [Host] for %v provider" $item.provider) | quote }}
|
||||
domain: {{ $item.domain | required (printf "DDNS Updater - Expected non-empty [Domain] for %v provider" $item.provider) | quote }}
|
||||
ip_version: {{ $item.ipVersion | default "" | quote }}
|
||||
{{- include (printf "ddns.config.%v" $item.provider) (dict "item" $item) | trim | nindent 4 -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* TODO: OVH */}}
|
||||
85
community/ddns-updater/1.0.0/templates/_ddns.tpl
Normal file
85
community/ddns-updater/1.0.0/templates/_ddns.tpl
Normal file
@@ -0,0 +1,85 @@
|
||||
{{- define "ddns.workload" -}}
|
||||
workload:
|
||||
ddns:
|
||||
enabled: true
|
||||
primary: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
hostNetwork: {{ .Values.ddnsNetwork.hostNetwork }}
|
||||
containers:
|
||||
ddns:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
securityContext:
|
||||
runAsUser: {{ .Values.ddnsRunAs.user }}
|
||||
runAsGroup: {{ .Values.ddnsRunAs.group }}
|
||||
env:
|
||||
LISTENING_PORT: {{ .Values.ddnsNetwork.webPort }}
|
||||
DATADIR: /updater/data
|
||||
BACKUP_DIRECTORY: /updater/data
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: ddns-config
|
||||
envList:
|
||||
{{ with .Values.ddnsConfig.additionalEnvs }}
|
||||
{{ range $env := . }}
|
||||
- name: {{ $env.name }}
|
||||
value: {{ $env.value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
probes:
|
||||
liveness:
|
||||
enabled: {{ not .Values.ci }}
|
||||
type: exec
|
||||
command:
|
||||
- /updater/app
|
||||
- healthcheck
|
||||
readiness:
|
||||
enabled: {{ not .Values.ci }}
|
||||
type: exec
|
||||
command:
|
||||
- /updater/app
|
||||
- healthcheck
|
||||
startup:
|
||||
enabled: {{ not .Values.ci }}
|
||||
type: exec
|
||||
command:
|
||||
- /updater/app
|
||||
- healthcheck
|
||||
initContainers:
|
||||
{{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
|
||||
"UID" .Values.ddnsRunAs.user
|
||||
"GID" .Values.ddnsRunAs.group
|
||||
"mode" "check"
|
||||
"type" "init") | nindent 8 }}
|
||||
|
||||
{{/* Service */}}
|
||||
service:
|
||||
ddns:
|
||||
enabled: true
|
||||
primary: true
|
||||
type: NodePort
|
||||
targetSelector: ddns
|
||||
ports:
|
||||
webui:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: {{ .Values.ddnsNetwork.webPort }}
|
||||
nodePort: {{ .Values.ddnsNetwork.webPort }}
|
||||
targetSelector: ddns
|
||||
|
||||
{{/* Persistence */}}
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
type: {{ .Values.ddnsStorage.data.type }}
|
||||
datasetName: {{ .Values.ddnsStorage.data.datasetName | default "" }}
|
||||
hostPath: {{ .Values.ddnsStorage.data.hostPath | default "" }}
|
||||
targetSelector:
|
||||
ddns:
|
||||
ddns:
|
||||
mountPath: /updater/data
|
||||
01-permissions:
|
||||
mountPath: /mnt/directories/data
|
||||
{{- end -}}
|
||||
12
community/ddns-updater/1.0.0/templates/_portal.tpl
Normal file
12
community/ddns-updater/1.0.0/templates/_portal.tpl
Normal file
@@ -0,0 +1,12 @@
|
||||
{{- define "ddns.portal" -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: portal
|
||||
data:
|
||||
path: "/"
|
||||
port: {{ .Values.ddnsNetwork.webPort | quote }}
|
||||
protocol: http
|
||||
host: $node_ip
|
||||
{{- end -}}
|
||||
56
community/ddns-updater/1.0.0/templates/_validation.tpl
Normal file
56
community/ddns-updater/1.0.0/templates/_validation.tpl
Normal file
@@ -0,0 +1,56 @@
|
||||
{{- define "ddns.validation" -}}
|
||||
{{- include "ddns.validatePublicIpProviders" (dict "text" "Public IP DNS Providers"
|
||||
"list" .Values.ddnsConfig.publicIpDnsProviders
|
||||
"valid" (list "all" "cloudflare" "google")) -}}
|
||||
|
||||
{{- include "ddns.validatePublicIpProviders" (dict "text" "Public IP HTTP Providers"
|
||||
"list" .Values.ddnsConfig.publicIpHttpProviders
|
||||
"valid" (list "all" "custom" "opendns" "ifconfig" "ipinfo" "ddnss" "google")) -}}
|
||||
|
||||
{{- include "ddns.validatePublicIpProviders" (dict "text" "Public IPv4 HTTP Providers"
|
||||
"list" .Values.ddnsConfig.publicIpv4HttpProviders
|
||||
"valid" (list "all" "custom" "ipify" "noip")) -}}
|
||||
|
||||
{{- include "ddns.validatePublicIpProviders" (dict "text" "Public IPv6 HTTP Providers"
|
||||
"list" .Values.ddnsConfig.publicIpv6HttpProviders
|
||||
"valid" (list "all" "custom" "ipify" "noip")) -}}
|
||||
|
||||
{{- include "ddns.validatePublicIpProviders" (dict "text" "Public IP Fetchers"
|
||||
"list" .Values.ddnsConfig.publicIpFetchers
|
||||
"valid" (list "all" "http" "dns")) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "ddns.validatePublicIpProviders" -}}
|
||||
{{- $text := .text -}}
|
||||
{{- $list := .list -}}
|
||||
{{- $valid := .valid -}}
|
||||
{{- $type := .type -}}
|
||||
|
||||
{{- if not $list -}}
|
||||
{{- fail (printf "DDNS Updater - Expected non-empty [%v]" $text) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $userProviders := list -}}
|
||||
{{- range $list -}}
|
||||
{{- if mustHas .provider $userProviders -}}
|
||||
{{- fail (printf "DDNS Updater - Expected unique values in [%v], but got [%v] more than once" $text .provider) -}}
|
||||
{{- end -}}
|
||||
{{- $userProviders = mustAppend $userProviders .provider -}}
|
||||
|
||||
{{- if not (mustHas .provider $valid) -}}
|
||||
{{- fail (printf "DDNS Updater - [%v] valid values are [%v], but got [%v]" $text (join ", " $valid) .provider) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq .provider "all" -}}
|
||||
{{- if ne (len $list) 1 -}}
|
||||
{{- fail (printf "DDNS Updater - [%v] cannot contain other values when [all] is selected" $text) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq .provider "custom" -}}
|
||||
{{- if not .custom -}}
|
||||
{{- fail (printf "DDNS Updater - [%v] expected non-empty [Custom Value]" $text) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
10
community/ddns-updater/1.0.0/templates/common.yaml
Normal file
10
community/ddns-updater/1.0.0/templates/common.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
{{- include "ix.v1.common.loader.init" . -}}
|
||||
|
||||
{{/* Merge the templates with Values */}}
|
||||
{{- $_ := mustMergeOverwrite .Values (include "ddns.workload" $ | fromYaml) -}}
|
||||
{{- $_ := mustMergeOverwrite .Values (include "ddns.configuration" $ | fromYaml) -}}
|
||||
|
||||
{{/* Create the configmap for portal manually*/}}
|
||||
{{- include "ddns.portal" $ -}}
|
||||
|
||||
{{- include "ix.v1.common.loader.apply" . -}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/aliyun.md */}}
|
||||
{{- define "ddns.config.aliyun" -}}
|
||||
{{- $item := .item }}
|
||||
access_key_id: {{ $item.aliyunAccessKey | required "DDNS Updater - Expected non-empty [Access Key] for Aliyun provider" }}
|
||||
access_secret: {{ $item.aliyunSecret | required "DDNS Updater - Expected non-empty [Secret] for Aliyun provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: aliyun - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
aliyunAccessKey: key - Required
|
||||
aliyunSecret: secret - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/allinkl.md */}}
|
||||
{{- define "ddns.config.allinkl" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.allinklUsername | required "DDNS Updater - Expected non-empty [Username] for All-Inkl provider" }}
|
||||
password: {{ $item.allinklPassword | required "DDNS Updater - Expected non-empty [Password] for All-Inkl provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: allinkl - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
allinklUsername: user - Required
|
||||
allinklPassword: password - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,39 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/cloudflare.md */}}
|
||||
{{- define "ddns.config.cloudflare" -}}
|
||||
{{- $item := .item }}
|
||||
zone_identifier: {{ $item.cloudflareZoneID | required "DDNS Updater - Expected non-empty [Zone Identifier] for Cloudflare provider" }}
|
||||
ttl: {{ $item.cloudflareTtl | required "DDNS Updater - Expected non-empty [TTL] for Cloudflare provider" }}
|
||||
proxied: {{ $item.cloudflareProxied | default false }}
|
||||
{{- if $item.cloudflareToken }}
|
||||
token: {{ $item.cloudflareToken }}
|
||||
{{- else if $item.cloudflareUserServiceKey }}
|
||||
user_service_key: {{ $item.cloudflareUserServiceKey }}
|
||||
{{- else if and $item.cloudflareEmail $item.cloudflareApiKey }}
|
||||
email: {{ $item.cloudflareEmail }}
|
||||
api_key: {{ $item.cloudflareApiKey }}
|
||||
{{- else -}}
|
||||
{{- fail "DDNS Updater - Cloudflare provider requires either [Token] or [User Service Key] or [Email and API Key]" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: cloudflare - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@")
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
cloudflareZoneID: id - Required
|
||||
cloudflareTtl: 1 - Required - Valid values (>=1)
|
||||
cloudflareProxied: false - Required - Valid values (true/false)
|
||||
|
||||
# One of the following is required
|
||||
# Token
|
||||
cloudflareToken: token - Required
|
||||
|
||||
# User service key
|
||||
cloudflareUserServiceKey: user_service_key - Required
|
||||
|
||||
# Email and API key
|
||||
cloudflareEmail: email - Required
|
||||
cloudflareApiKey: api_key - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dd24.md */}}
|
||||
{{- define "ddns.config.dd24" -}}
|
||||
{{- $item := .item }}
|
||||
password: {{ $item.dd24Password | required "DDNS Updater - Expected non-empty [Password] for dd24 provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dd24 - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dd24Password: pass - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/ddnss.md */}}
|
||||
{{- define "ddns.config.ddnss" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.ddnssUsername | required "DDNS Updater - Expected non-empty [Username] for DDNSS provider" }}
|
||||
password: {{ $item.ddnssPassword | required "DDNS Updater - Expected non-empty [Password] for DDNSS provider" }}
|
||||
provider_ip: {{ $item.ddnssProviderIP }}
|
||||
{{- if not $item.ddnssProviderIP }}
|
||||
dual_stack: {{ $item.ddnssDualStack | default false }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: ddnss - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
ddnssUsername: user - Required
|
||||
ddnssPassword: password - Required
|
||||
ddnssProviderIP: true - Required - Valid values (true/false)
|
||||
ddnssDualStack: false - Optional - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/digitalocean.md */}}
|
||||
{{- define "ddns.config.digitalocean" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.digitalOceanToken | required "DDNS Updater - Expected non-empty [Token] for Digital Ocean provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: digitalocean - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
digitalOceanToken: token - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dnspod.md */}}
|
||||
{{- define "ddns.config.dnspod" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.dnsPodToken | required "DDNS Updater - Expected non-empty [Token] for DNS Pod provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dnspod - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dnsPodToken: token - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dnsomatic.md */}}
|
||||
{{- define "ddns.config.dnsomatic" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.dnsOMaticUsername | required "DDNS Updater - Expected non-empty [Username] for DNS O Matic provider" }}
|
||||
password: {{ $item.dnsOMaticPassword | required "DDNS Updater - Expected non-empty [Password] for DNS O Matic provider" }}
|
||||
provider_ip: {{ $item.dnsOMaticProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dnsomatic - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dnsOMaticUsername: user - Required
|
||||
dnsOMaticPassword: pass - Required
|
||||
dnsOMaticProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dondominio.md */}}
|
||||
{{- define "ddns.config.dondominio" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.donDominioUsername | required "DDNS Updater - Expected non-empty [Username] for Don Dominio provider" }}
|
||||
password: {{ $item.donDominioPassword | required "DDNS Updater - Expected non-empty [Password] for Don Dominio provider" }}
|
||||
name: {{ $item.donDominioName | required "DDNS Updater - Expected non-empty [Name] for Don Dominio provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dondominio - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
donDominioUsername: user - Required
|
||||
donDominioPassword: pass - Required
|
||||
donDominioName: name - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dreamhost.md */}}
|
||||
{{- define "ddns.config.dreamhost" -}}
|
||||
{{- $item := .item }}
|
||||
key: {{ $item.dreamHostKey | required "DDNS Updater - Expected non-empty [Key] for Dreamhost provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dreamhost - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dreamHostKey: key - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/duckdns.md */}}
|
||||
{{- define "ddns.config.duckdns" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.duckdnsToken | required "DDNS Updater - Expected non-empty [Token] for DuckDNS provider" }}
|
||||
provider_ip: {{ $item.duckdnsProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: duckdns - Required
|
||||
domain: "example.com" - Required
|
||||
host: "subdomain" - Required - Valid value (subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
duckdnsToken: token - Required
|
||||
duckdnsProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/d-updater/blob/master/docs/dyndns.md */}}
|
||||
{{- define "ddns.config.dyn" -}}
|
||||
{{- $item := .item }}
|
||||
client_key: {{ $item.dynClientKey | required "DDNS Updater - Expected non-empty [Client Key] for DynDNS provider" }}
|
||||
username: {{ $item.dynUsername | required "DDNS Updater - Expected non-empty [Username] for DynDNS provider" }}
|
||||
provider_ip: {{ $item.dynProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dyn - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dynClientKey: key - Required
|
||||
dynUsername: username - Required
|
||||
dynProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dynu.md */}}
|
||||
{{- define "ddns.config.dynu" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.dynuUsername | required "DDNS Updater - Expected non-empty [Username] for Dynu provider" }}
|
||||
password: {{ $item.dynuPassword | required "DDNS Updater - Expected non-empty [Password] for Dynu provider" }}
|
||||
{{- if $item.dynuGroup }}
|
||||
group: {{ $item.dynuGroup }}
|
||||
{{- end }}
|
||||
provider_ip: {{ $item.dynuProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dynu - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dynuUsername: username - Required
|
||||
dynuPassword: password - Required
|
||||
dynuGroup: group - Optional
|
||||
dynuProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/dynv6.md */}}
|
||||
{{- define "ddns.config.dynv6" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.dynv6Token | required "DDNS Updater - Expected non-empty [Token] for DynV6 provider" }}
|
||||
provider_ip: {{ $item.dynv6ProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: dynu - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
dynv6Token: token - Required
|
||||
dynv6ProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/freedns.md */}}
|
||||
{{- define "ddns.config.freedns" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.freeDnsToken | required "DDNS Updater - Expected non-empty [Token] for FreeDNS provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: freedns - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
freeDnsToken: token - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/gandi.md */}}
|
||||
{{- define "ddns.config.gandi" -}}
|
||||
{{- $item := .item }}
|
||||
key: {{ $item.gandiKey | required "DDNS Updater - Expected non-empty [Key] for Gandi provider" }}
|
||||
ttl: {{ $item.gandiTtl | required "DDNS Updater - Expected non-empty [TTL] for Gandi provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: gandi - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
gandiKey: key - Required
|
||||
gandiTtl: 3600 - Required
|
||||
*/}}
|
||||
18
community/ddns-updater/1.0.0/templates/dnsProviders/_gcp.tpl
Normal file
18
community/ddns-updater/1.0.0/templates/dnsProviders/_gcp.tpl
Normal file
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/gcp.md */}}
|
||||
{{- define "ddns.config.gcp" -}}
|
||||
{{- $item := .item }}
|
||||
project: {{ $item.gcpProject | required "DDNS Updater - Expected non-empty [Project] for GCP provider" }}
|
||||
zone: {{ $item.gcpZone | required "DDNS Updater - Expected non-empty [Zone] for GCP provider" }}
|
||||
credentials: {{ $item.gcpCredentials | required "DDNS Updater - Expected non-empty [Credentials] for GCP provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: gcp - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
gcpProject: my-project-id - Required
|
||||
gcpZone: my-zone - Required
|
||||
gcpCredentials: '{"type": "service_account", ...}' - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/godaddy.md */}}
|
||||
{{- define "ddns.config.godaddy" -}}
|
||||
{{- $item := .item }}
|
||||
key: {{ $item.godaddyKey | required "DDNS Updater - Expected non-empty [Key] for GoDaddy provider" }}
|
||||
secret: {{ $item.godaddySecret | required "DDNS Updater - Expected non-empty [TTL] for GoDaddy provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: godaddy - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
godaddyKey: key - Required
|
||||
godaddySecret: secret - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/google.md */}}
|
||||
{{- define "ddns.config.google" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.googleUsername | required "DDNS Updater - Expected non-empty [Username] for Google provider" }}
|
||||
password: {{ $item.googlePassword | required "DDNS Updater - Expected non-empty [Password] for Google provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: google - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
googleUsername: username - Required
|
||||
googlePassword: password - Required
|
||||
*/}}
|
||||
16
community/ddns-updater/1.0.0/templates/dnsProviders/_he.tpl
Normal file
16
community/ddns-updater/1.0.0/templates/dnsProviders/_he.tpl
Normal file
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/he.net.md */}}
|
||||
{{- define "ddns.config.he" -}}
|
||||
{{- $item := .item }}
|
||||
password: {{ $item.hePassword | required "DDNS Updater - Expected non-empty [Password] for He.net provider" }}
|
||||
provider_ip: {{ $item.heProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: he - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
hePassword: password - Required
|
||||
heProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/infomaniak.md */}}
|
||||
{{- define "ddns.config.infomaniak" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.infomaniakUsername | required "DDNS Updater - Expected non-empty [Username] for Infomaniak provider" }}
|
||||
password: {{ $item.infomaniakPassword | required "DDNS Updater - Expected non-empty [Password] for Infomaniak provider" }}
|
||||
provider_ip: {{ $item.infomaniakProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: infomaniak - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
infomaniakUsername: user - Required
|
||||
infomaniakPassword: password - Required
|
||||
infomaniakProviderIP: true - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/inwx.md */}}
|
||||
{{- define "ddns.config.inwx" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.inwxUsername | required "DDNS Updater - Expected non-empty [Username] for INWX provider" }}
|
||||
password: {{ $item.inwxPassword | required "DDNS Updater - Expected non-empty [Password] for INWX provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: inwx - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
inwxUsername: user - Required
|
||||
inwxPassword: password - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/linode.md */}}
|
||||
{{- define "ddns.config.linode" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.linodeToken | required "DDNS Updater - Expected non-empty [Token] for Linode provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: linode - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
linodeToken: token - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/luadns.md */}}
|
||||
{{- define "ddns.config.luadns" -}}
|
||||
{{- $item := .item }}
|
||||
token: {{ $item.luadnsToken | required "DDNS Updater - Expected non-empty [Token] for LuaDNS provider" }}
|
||||
email: {{ $item.luadnsEmail | required "DDNS Updater - Expected non-empty [Email] for LuaDNS provider" }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: luadns - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
luadnsToken: token - Required
|
||||
luadnsEmail: email@example.com - Required
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/namecheap.md */}}
|
||||
{{- define "ddns.config.namecheap" -}}
|
||||
{{- $item := .item }}
|
||||
password: {{ $item.namecheapPassword | required "DDNS Updater - Expected non-empty [Password] for Namecheap provider" }}
|
||||
provider_ip: {{ $item.namecheapProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: namecheap - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
namecheapPassword: password - Required
|
||||
namecheapProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/njalla.md */}}
|
||||
{{- define "ddns.config.njalla" -}}
|
||||
{{- $item := .item }}
|
||||
key: {{ $item.njallaKey | required "DDNS Updater - Expected non-empty [Key] for Njalla provider" }}
|
||||
provider_ip: {{ $item.njallaProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: njalla - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
njallaKey: key - Required
|
||||
njallaProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/noip.md */}}
|
||||
{{- define "ddns.config.noip" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.noipUsername | required "DDNS Updater - Expected non-empty [Username] for NoIP provider" }}
|
||||
password: {{ $item.noipPassword | required "DDNS Updater - Expected non-empty [Password] for NoIP provider" }}
|
||||
provider_ip: {{ $item.noipProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: noip - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
noipUsername: username - Required
|
||||
noipPassword: password - Required
|
||||
noipProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/opendns.md */}}
|
||||
{{- define "ddns.config.opendns" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.opendnsUsername | required "DDNS Updater - Expected non-empty [Username] for OpenDNS provider" }}
|
||||
password: {{ $item.opendnsPassword | required "DDNS Updater - Expected non-empty [Password] for OpenDNS provider" }}
|
||||
provider_ip: {{ $item.opendnsProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: opendns - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
opendnsUsername: username - Required
|
||||
opendnsPassword: password - Required
|
||||
opendnsProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
38
community/ddns-updater/1.0.0/templates/dnsProviders/_ovh.tpl
Normal file
38
community/ddns-updater/1.0.0/templates/dnsProviders/_ovh.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/ovh.md */}}
|
||||
{{- define "ddns.config.ovh" -}}
|
||||
{{- $item := .item }}
|
||||
mode: {{ $item.ovhMode | required "DDNS Updater - Expected non-empty [Mode] for OVH provider" }}
|
||||
{{- if eq $item.ovhMode "dynamic" }}
|
||||
username: {{ $item.ovhUsername | required "DDNS Updater - Expected non-empty [Username] for OVH provider on [dynamic] mode" }}
|
||||
password: {{ $item.ovhPassword | required "DDNS Updater - Expected non-empty [Password] for OVH provider on [dynamic] mode" }}
|
||||
{{- else if eq $item.ovhMode "api" }}
|
||||
api_endpoint: {{ $item.ovhApiEndpoint | required "DDNS Updater - Expected non-empty [API Endpoint] for OVH provider on [api] mode" }}
|
||||
app_key: {{ $item.ovhAppKey | required "DDNS Updater - Expected non-empty [App Key] for OVH provider on [api] mode" }}
|
||||
app_secret: {{ $item.ovhAppSecret | required "DDNS Updater - Expected non-empty [App Secret] for OVH provider on [api] mode"}}
|
||||
consumer_key: {{ $item.ovhConsumerKey | required "DDNS Updater - Expected non-empty [Consumer Key] for OVH provider on [api] mode" }}
|
||||
{{- else -}}
|
||||
{{- fail (printf "DDNS Updater - Expected [Mode] to be one of [Dynamic, API], but got [%v]" $item.ovhMode) -}}
|
||||
{{- end }}
|
||||
provider_ip: {{ $item.ovhProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: ovh - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
ovhMode: dynamic - Required - Valid values (dynami/api)
|
||||
|
||||
# Dynamic Mode
|
||||
ovhUsername: username - Required
|
||||
ovhPassword: password - Required
|
||||
|
||||
# API Mode
|
||||
ovhApiEndpoint: endpoint - Required
|
||||
ovhAppKey: appKey - Required
|
||||
ovhAppSecret: appSecret - Required
|
||||
ovhConsumerKey: consumerKey - Required
|
||||
|
||||
ovhProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,20 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/porkbun.md */}}
|
||||
{{- define "ddns.config.porkbun" -}}
|
||||
{{- $item := .item }}
|
||||
api_key: {{ $item.porkbunApiKey | required "DDNS Updater - Expected non-empty [API Key] for Porkbun provider" }}
|
||||
secret_api_key: {{ $item.porkbunSecretApiKey | required "DDNS Updater - Expected non-empty [Secret API Key] for Porkbun provider" }}
|
||||
{{- if $item.porkbunTtl }}
|
||||
ttl: {{ $item.porkbunTtl }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: opendns - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
porkbunApiKey: apikey - Required
|
||||
porkbunSecretApiKey: secretapikey - Required
|
||||
porkbunTtl: 300 - Optional
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/selfhost.de.md */}}
|
||||
{{- define "ddns.config.selfhost.de" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.selfhostdeUsername | required "DDNS Updater - Expected non-empty [Username] for Selfhost.de provider" }}
|
||||
password: {{ $item.selfhostdePassword | required "DDNS Updater - Expected non-empty [Password] for Selfhost.de provider" }}
|
||||
provider_ip: {{ $item.selfhostdeProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: selfhosted.de - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
selfhostdeUsername: username - Required
|
||||
selfhostdePassword: password - Required
|
||||
selfhostdeProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,20 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/servercow.md */}}
|
||||
{{- define "ddns.config.servercow" -}}
|
||||
{{- $item := .item }}
|
||||
username: {{ $item.servercowUsername | required "DDNS Updater - Expected non-empty [Username] for Servercow provider" }}
|
||||
password: {{ $item.servercowPassword | required "DDNS Updater - Expected non-empty [Password] for Servercow provider" }}
|
||||
ttl: {{ $item.servercowTtl | required "DDNS Updater - Expected non-empty [TTL] for Servercow provider" }}
|
||||
provider_ip: {{ $item.servercowProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: servercow - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
servercowUsername: username - Required
|
||||
servercowPassword: password - Required
|
||||
servercowTtl: 120 - Required
|
||||
servercowProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,30 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/spdyn.md */}}
|
||||
{{- define "ddns.config.spdyn" -}}
|
||||
{{- $item := .item }}
|
||||
{{- if $item.spdynToken }}
|
||||
token: {{ $item.spdynToken }}
|
||||
{{- else if and $item.spdynUsername $item.spdynPassword }}
|
||||
username: {{ $item.spdynUsername }}
|
||||
password: {{ $item.spdynPassword }}
|
||||
{{- else -}}
|
||||
{{- fail "DDNS Updater - Spdyn.de provider requires either [Token] or [Username and Password]" -}}
|
||||
{{- end }}
|
||||
provider_ip: {{ $item.spdynProviderIP | default false }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: spdyn - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@")
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
spdynProviderIP: false - Required - Valid values (true/false)
|
||||
|
||||
# One of the following is required
|
||||
# Token
|
||||
spdynToken: token
|
||||
|
||||
# Username and Password
|
||||
spdynUsername: username
|
||||
spdynPassword: password
|
||||
*/}}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/strato.md */}}
|
||||
{{- define "ddns.config.strato" -}}
|
||||
{{- $item := .item }}
|
||||
password: {{ $item.stratoPassword | required "DDNS Updater - Expected non-empty [Password] for Strato provider" }}
|
||||
provider_ip: {{ $item.stratoProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: strato - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
stratoPassword: password - Required
|
||||
stratoProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{/* https://github.com/qdm12/ddns-updater/blob/master/docs/variomedia.md */}}
|
||||
{{- define "ddns.config.variomedia" -}}
|
||||
{{- $item := .item }}
|
||||
password: {{ $item.variomediaPassword | required "DDNS Updater - Expected non-empty [Password] for Variomedia provider" }}
|
||||
email: {{ $item.variomediaEmail | required "DDNS Updater - Expected non-empty [Email] for Variomedia provider" }}
|
||||
provider_ip: {{ $item.variomediaProviderIP }}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
ddnsConfig:
|
||||
config:
|
||||
- provider: strato - Required
|
||||
domain: "example.com" - Required
|
||||
host: "@" - Required - Valid value ("@" or subdomain)
|
||||
ipVersion: "" - Required - Valid values (ipv4/ipv6/"")
|
||||
variomediaPassword: password - Required
|
||||
variomediaEmail: email - Required
|
||||
variomediaProviderIP: false - Required - Valid values (true/false)
|
||||
*/}}
|
||||
31
community/ddns-updater/1.0.0/upgrade_strategy_disable
Executable file
31
community/ddns-updater/1.0.0/upgrade_strategy_disable
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/python3
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
|
||||
from catalog_update.upgrade_strategy import semantic_versioning
|
||||
|
||||
|
||||
RE_STABLE_VERSION = re.compile(r'latest')
|
||||
|
||||
|
||||
def newer_mapping(image_tags):
|
||||
key = list(image_tags.keys())[0]
|
||||
tags = {t: t for t in image_tags[key] if RE_STABLE_VERSION.fullmatch(t)}
|
||||
version = semantic_versioning(list(tags))
|
||||
if not version:
|
||||
return {}
|
||||
|
||||
return {
|
||||
'tags': {key: tags[version]},
|
||||
'app_version': version,
|
||||
}
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
versions_json = json.loads(sys.stdin.read())
|
||||
except ValueError:
|
||||
raise ValueError('Invalid json specified')
|
||||
|
||||
print(json.dumps(newer_mapping(versions_json)))
|
||||
6
community/ddns-updater/item.yaml
Normal file
6
community/ddns-updater/item.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
icon_url: https://raw.githubusercontent.com/qdm12/ddns-updater/master/readme/ddnsgopher.svg
|
||||
categories:
|
||||
- network
|
||||
tags:
|
||||
- ddns
|
||||
- ddns-updater
|
||||
Reference in New Issue
Block a user