Add programmatic DNS with Transip API

This commit is contained in:
Ruben Hensen
2026-03-14 21:28:54 +01:00
parent c0f1489177
commit bd9053eeec
6 changed files with 233 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: dns-sync
spec:
schedule: "*/5 * * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 3
jobTemplate:
spec:
backoffLimit: 1
template:
spec:
serviceAccountName: dns-sync
restartPolicy: Never
containers:
- name: sync
image: python:3.12-alpine
command:
- sh
- -c
- |
pip install --quiet PyJWT cryptography requests pyyaml &&
python /config/sync.py
env:
- name: TRANSIP_ACCOUNT_NAME
valueFrom:
secretKeyRef:
name: transip-credentials
key: account_name
- name: TRANSIP_PRIVATE_KEY_PATH
value: /secrets/private_key
volumeMounts:
- name: secrets
mountPath: /secrets
readOnly: true
- name: script
mountPath: /config/sync.py
subPath: sync.py
readOnly: true
- name: domains
mountPath: /config/domains
readOnly: true
resources:
requests:
memory: "128Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "200m"
volumes:
- name: secrets
secret:
secretName: transip-credentials
items:
- key: private_key
path: private_key
- name: script
configMap:
name: dns-sync-script
- name: domains
configMap:
name: dns-domains