2
1

Initial commit

This commit is contained in:
Lauri Võsandi 2021-06-02 15:35:58 +03:00
commit ac16941f09
4 changed files with 38 additions and 0 deletions

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM python:3-alpine
RUN apk add --update --no-cache openvpn curl bash
RUN pip install requests
ADD helpers /helpers
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT /entrypoint.sh

9
entrypoint.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
set -e
set -x
CONFIG=/server-secrets/openvpn-$1.conf
while [ ! -e $CONFIG ]; do
sleep 1
done
curl -X DELETE http://127.0.0.1:2001/api/by-service/openvpn-$1
openvpn --config $CONFIG

3
helpers/client-connect.py Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
set -e
curl -f http://127.0.0.1:2001/api/by-serial/$tls_serial_0

20
helpers/learn-address.py Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env python
import os
import sys
import requests
# TODO: Replace with curl based script
operation, addr = sys.argv[1:3]
if operation == "delete":
pass
else:
common_name = sys.argv[3]
requests.post("http://127.0.0.1:2001/api/by-serial/%d" %
int(os.environ["tls_serial_0"]),
data={
"service": os.environ["service"],
"internal_addr": addr,
"remote_addr": os.environ["untrusted_ip"],
"remote_port": os.environ["untrusted_port"]
})