diff --git a/cloudflare-ddns.py b/cloudflare-ddns.py index 6fc5b23..12e22bc 100755 --- a/cloudflare-ddns.py +++ b/cloudflare-ddns.py @@ -1,4 +1,22 @@ -import requests, json, sys, signal, os, time, threading +#!/usr/bin/env python +# cloudflare-ddns.py +# Summary: Access your home network remotely via a custom domain name without a static IP! +# Description: Access your home network remotely via a custom domain +# Access your home network remotely via a custom domain +# A small, 🕵️ privacy centric, and ⚡ +# lightning fast multi-architecture Docker image for self hosting projects. + +__version__ = "1.0.1" + +import json +import os +import signal +import sys +import threading +import time +import requests + +CONFIG_PATH = os.environ.get('CONFIG_PATH', os.getcwd() + "/") class GracefulExit: def __init__(self): @@ -163,7 +181,6 @@ def updateIPs(ips): commitRecord(ip) if __name__ == '__main__': - PATH = os.getcwd() + "/" version = float(str(sys.version_info[0]) + "." + str(sys.version_info[1])) shown_ipv4_warning = False shown_ipv6_warning = False @@ -176,7 +193,7 @@ if __name__ == '__main__': config = None try: - with open(PATH + "config.json") as config_file: + with open(CONFIG_PATH + "config.json") as config_file: config = json.loads(config_file.read()) except: print("😡 Error reading config.json") diff --git a/examples/k8s/README.md b/examples/k8s/README.md new file mode 100644 index 0000000..f5de8aa --- /dev/null +++ b/examples/k8s/README.md @@ -0,0 +1,30 @@ + +Create config File + +``` bash +cp ../../config-example.json config.json +``` + +Edit config.jsonon (vim, nvim, nano... ) +``` bash +${EDITOR} config.json +``` + +Create config file as Secret. + +``` bash +kubectl create secret generic config-cloudflare-ddns --from-file=config.json --dry-run=client -oyaml -n ddns > config-cloudflare-ddns-Secret.yaml +``` + +apply this secret + +``` bash +kubectl apply -f config-cloudflare-ddns-Secret.yaml +rm config.json # recomended Just keep de secret on Kubernetes Cluster +``` + +apply this Deployment + +``` bash +kubectl apply -f cloudflare-ddns-Deployment.yaml +``` diff --git a/examples/k8s/cloudflare-ddns-Deployment.yaml b/examples/k8s/cloudflare-ddns-Deployment.yaml new file mode 100644 index 0000000..59f9d98 --- /dev/null +++ b/examples/k8s/cloudflare-ddns-Deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cloudflate-ddns +spec: + selector: + matchLabels: + app: cloudflate-ddns + + template: + metadata: + labels: + app: cloudflate-ddns + + spec: + containers: + - name: cloudflate-ddns + image: timothyjmiller/cloudflare-ddns:latest + #image: quay.io/arpagon/cloudflare-ddns:v1.0.0 + resources: + limits: + memory: "32Mi" + cpu: "50m" + env: + - name: CONFIG_PATH + value: "/etc/cloudflare-ddns/" + volumeMounts: + - mountPath: "/etc/cloudflare-ddns" + name: config-cloudflare-ddns + readOnly: true + volumes: + - name: config-cloudflare-ddns + secret: + secretName: config-cloudflare-ddns \ No newline at end of file