adding portfwd job

This commit is contained in:
2021-09-09 16:17:56 -04:00
parent 9f1d95cc63
commit 3f0cc54e77
3 changed files with 61 additions and 0 deletions

18
.drone/portfwd.yml Normal file
View File

@@ -0,0 +1,18 @@
---
clone:
git:
image: plugins/git
when:
path: 'portfwd/*'
pipeline:
publish_portfwd:
image: plugins/docker
repo: registry.service.dc1.consul:5000/portfwd
registry: registry.service.dc1.consul:5000
insecure: true
context: portfwd/
dockerfile: portfwd/Dockerfile
when:
path: 'portfwd/*'
...

10
portfwd/Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
FROM alpine:3
RUN apk add --no-cache python3 py3-pip
RUN pip install unificontrol
ADD unifi.py ./
ENV IP_ADDR=192.168.1.100
# EXPOSE 1080
ENTRYPOINT ["python3","unifi.py"]

33
portfwd/unifi.py Normal file
View File

@@ -0,0 +1,33 @@
import ssl
import unificontrol
from unificontrol.metaprogram import UnifiAPICall, UnifiAPICallNoSite, MetaNameFixer
from pprint import pprint
import os
FWD_IP = os.getenv('IP_ADDR')
cert = ssl.get_server_certificate(("unifi.service.dc1.consul", 8443))
# Store the cert in a safe place
...
# Fetch the cert from a safe place
client = unificontrol.UnifiClient(host="unifi.service.dc1.consul",
username="admin", password="tSxLlolgmXq6Zp1HplWK", site="default",
cert=cert)
edit_forward = UnifiAPICall(
"update Port forward",
"rest/portforward/613a5bb648247c60a5b14ba6",
json_args=[
('_id', '613a5bb648247c60a5b14ba6'),
('enabled', 'true'),
('dst_port', '51820'),
('fwd', FWD_IP),
('fwd_port', '51820'),
('name', 'wireguard'),
('proto', 'udp'),
('site_id', '5c9419f5e718399f4a746e7f'),
('src', 'any')],
method="PUT",
)
pprint(edit_forward(client))