Compare commits

...

2 commits

Author SHA1 Message Date
454fba347c feat(core): external-dns-adguard 2024-08-05 15:43:26 +02:00
83881e33d2 feat(core): cloudflare ddns 2024-08-05 15:08:22 +02:00
3 changed files with 188 additions and 0 deletions

View file

@ -0,0 +1,73 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: cloudflare-ddns-gnu
namespace: core
spec:
schedule: "*/15 * * * *"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
jobTemplate:
spec:
template:
spec:
containers:
- name: cloudflare-ddns
image: mirioeggmann/cloudflare-ddns:v0.5.1
envFrom:
- secretRef:
name: cloudflare-ddns-gnu
restartPolicy: OnFailure
---
apiVersion: ricoberger.de/v1alpha1
kind: VaultSecret
metadata:
annotations:
name: cloudflare-ddns-gnu
namespace: core
spec:
keys:
- API_TOKEN
- NAME
- RECORD_ID
- ZONE_ID
- PROXIED
path: heqet/core/cloudflare-ddns-gnu
type: Opaque
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: cloudflare-ddns-nold
namespace: core
spec:
schedule: "*/15 * * * *"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
jobTemplate:
spec:
template:
spec:
containers:
- name: cloudflare-ddns
image: mirioeggmann/cloudflare-ddns:v0.5.1
envFrom:
- secretRef:
name: cloudflare-ddns-nold
restartPolicy: OnFailure
---
apiVersion: ricoberger.de/v1alpha1
kind: VaultSecret
metadata:
annotations:
name: cloudflare-ddns-nold
namespace: core
spec:
keys:
- API_TOKEN
- NAME
- RECORD_ID
- ZONE_ID
- PROXIED
path: heqet/core/cloudflare-ddns-nold
type: Opaque

View file

@ -60,6 +60,17 @@ apps:
keys: keys:
- CF_API_TOKEN - CF_API_TOKEN
- name: external-dns-adguard
repoURL: https://kubernetes-sigs.github.io/external-dns
chart: external-dns
targetRevision: 1.14.5
secrets:
- name: adguard-config
keys:
- ADGUARD_URL
- ADGUARD_USER
- ADGUARD_PASSWORD
- name: cert-manager - name: cert-manager
namespace: cert-manager namespace: cert-manager
repoURL: https://charts.jetstack.io repoURL: https://charts.jetstack.io

View file

@ -0,0 +1,104 @@
# Default values for external-dns.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
image:
repository: registry.k8s.io/external-dns/external-dns
tag: "v0.14.2"
pullPolicy: IfNotPresent
shareProcessNamespace: false
podSecurityContext:
fsGroup: 65534
securityContext:
runAsNonRoot: true
runAsUser: 65534
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
# Defaults to `ClusterFirst`.
# Valid values are: `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.
dnsPolicy:
serviceMonitor:
enabled: false
additionalLabels: {}
interval: 1m
scrapeTimeout: 10s
resources:
limits:
memory: 50Mi
cpu: 200m
requests:
memory: 50Mi
cpu: 10m
logLevel: info
logFormat: text
interval: 1m
triggerLoopOnEvent: false
sources:
- ingress
# - service
policy: upsert-only
registry: txt
txtOwnerId: ""
txtPrefix: ""
txtSuffix: ""
domainFilters:
- dc
#extraArgs:
deploymentStrategy:
type: Recreate
provider:
name: webhook
webhook:
image:
repository: ghcr.io/muhlba91/external-dns-provider-adguard
tag: latest
livenessProbe:
httpGet:
path: /healthz
port: 8888
initialDelaySeconds: 10
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /healthz
port: 8888
initialDelaySeconds: 10
timeoutSeconds: 5
env:
- name: LOG_LEVEL
value: debug
- name: ADGUARD_URL
valueFrom:
secretKeyRef:
name: adguard-config
key: ADGUARD_URL
- name: ADGUARD_USER
valueFrom:
secretKeyRef:
name: adguard-config
key: ADGUARD_USER
- name: ADGUARD_PASSWORD
valueFrom:
secretKeyRef:
name: adguard-config
key: ADGUARD_PASSWORD
- name: SERVER_HOST
value: "0.0.0.0"
- name: DRY_RUN
value: "false"