Merge pull request #62 from arpagon/master

K8S Compatability and Example
This commit is contained in:
Timothy Miller 2021-10-29 22:06:12 -04:00 committed by GitHub
commit ffa4963ddd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 84 additions and 3 deletions

View File

@ -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")

30
examples/k8s/README.md Normal file
View File

@ -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
```

View File

@ -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