summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2021-12-30 10:16:41 +0100
committerGravatar Tom van der Lee <tom@vanderlee.io>2022-01-09 13:00:48 +0100
commit46af86f8ace136dd1d1d94590d3423e6b12e3f7b (patch)
treef190663cd8202c7bc7034adbf9dabd7da293082c
downloadserver-46af86f8ace136dd1d1d94590d3423e6b12e3f7b.tar.gz
server-46af86f8ace136dd1d1d94590d3423e6b12e3f7b.tar.bz2
server-46af86f8ace136dd1d1d94590d3423e6b12e3f7b.zip
Prepare for githubv1.0.0
-rw-r--r--.dockerignore1
-rw-r--r--.github/workflows/docker-image.yml39
-rw-r--r--.gitignore237
-rw-r--r--.python-version1
-rw-r--r--Dockerfile24
-rw-r--r--LICENSE29
-rw-r--r--README.rst41
-rw-r--r--requirements.txt2
-rw-r--r--ttun_server/__init__.py12
-rw-r--r--ttun_server/connections.py3
-rw-r--r--ttun_server/endpoints.py98
-rw-r--r--ttun_server/types.py25
12 files changed, 512 insertions, 0 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..61f2dc9
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1 @@
**/__pycache__/
diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml
new file mode 100644
index 0000000..8945bfb
--- /dev/null
+++ b/.github/workflows/docker-image.yml
@@ -0,0 +1,39 @@
1name: Release
2
3on:
4 push:
5 tags:
6 - 'v*'
7 pull_request:
8 branches:
9 - 'main'
10
11jobs:
12 docker:
13 runs-on: ubuntu-latest
14 steps:
15 - name: Checkout
16 uses: actions/checkout@v2
17 - name: Docker meta
18 id: meta
19 uses: docker/metadata-action@v3
20 with:
21 images: ghcr.io/tomvanderlee/ttun-server
22 tags: |
23 type=semver,pattern={{major}}
24 type=semver,pattern={{major}}.{{minor}}
25
26 - name: Login to DockerHub
27 if: github.event_name != 'pull_request'
28 uses: docker/login-action@v1
29 with:
30 registry: ghcr.io
31 username: ${{ github.actor }}
32 password: ${{ secrets.GITHUB_TOKEN }}
33 - name: Build and push
34 uses: docker/build-push-action@v2
35 with:
36 context: .
37 push: ${{ github.event_name != 'pull_request' }}
38 tags: ${{ steps.meta.outputs.tags }}
39 labels: ${{ steps.meta.outputs.labels }}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a6d8f21
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,237 @@
1
2# Created by https://www.toptal.com/developers/gitignore/api/python,pycharm+all
3# Edit at https://www.toptal.com/developers/gitignore?templates=python,pycharm+all
4
5### PyCharm+all ###
6# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
7# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
8
9# User-specific stuff
10.idea/**/workspace.xml
11.idea/**/tasks.xml
12.idea/**/usage.statistics.xml
13.idea/**/dictionaries
14.idea/**/shelf
15
16# AWS User-specific
17.idea/**/aws.xml
18
19# Generated files
20.idea/**/contentModel.xml
21
22# Sensitive or high-churn files
23.idea/**/dataSources/
24.idea/**/dataSources.ids
25.idea/**/dataSources.local.xml
26.idea/**/sqlDataSources.xml
27.idea/**/dynamic.xml
28.idea/**/uiDesigner.xml
29.idea/**/dbnavigator.xml
30
31# Gradle
32.idea/**/gradle.xml
33.idea/**/libraries
34
35# Gradle and Maven with auto-import
36# When using Gradle or Maven with auto-import, you should exclude module files,
37# since they will be recreated, and may cause churn. Uncomment if using
38# auto-import.
39# .idea/artifacts
40# .idea/compiler.xml
41# .idea/jarRepositories.xml
42# .idea/modules.xml
43# .idea/*.iml
44# .idea/modules
45# *.iml
46# *.ipr
47
48# CMake
49cmake-build-*/
50
51# Mongo Explorer plugin
52.idea/**/mongoSettings.xml
53
54# File-based project format
55*.iws
56
57# IntelliJ
58out/
59
60# mpeltonen/sbt-idea plugin
61.idea_modules/
62
63# JIRA plugin
64atlassian-ide-plugin.xml
65
66# Cursive Clojure plugin
67.idea/replstate.xml
68
69# Crashlytics plugin (for Android Studio and IntelliJ)
70com_crashlytics_export_strings.xml
71crashlytics.properties
72crashlytics-build.properties
73fabric.properties
74
75# Editor-based Rest Client
76.idea/httpRequests
77
78# Android studio 3.1+ serialized cache file
79.idea/caches/build_file_checksums.ser
80
81### PyCharm+all Patch ###
82# Ignores the whole .idea folder and all .iml files
83# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
84
85.idea/
86
87# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
88
89*.iml
90modules.xml
91.idea/misc.xml
92*.ipr
93
94# Sonarlint plugin
95.idea/sonarlint
96
97### Python ###
98# Byte-compiled / optimized / DLL files
99__pycache__/
100*.py[cod]
101*$py.class
102
103# C extensions
104*.so
105
106# Distribution / packaging
107.Python
108build/
109develop-eggs/
110dist/
111downloads/
112eggs/
113.eggs/
114lib/
115lib64/
116parts/
117sdist/
118var/
119wheels/
120share/python-wheels/
121*.egg-info/
122.installed.cfg
123*.egg
124MANIFEST
125
126# PyInstaller
127# Usually these files are written by a python script from a template
128# before PyInstaller builds the exe, so as to inject date/other infos into it.
129*.manifest
130*.spec
131
132# Installer logs
133pip-log.txt
134pip-delete-this-directory.txt
135
136# Unit test / coverage reports
137htmlcov/
138.tox/
139.nox/
140.coverage
141.coverage.*
142.cache
143nosetests.xml
144coverage.xml
145*.cover
146*.py,cover
147.hypothesis/
148.pytest_cache/
149cover/
150
151# Translations
152*.mo
153*.pot
154
155# Django stuff:
156*.log
157local_settings.py
158db.sqlite3
159db.sqlite3-journal
160
161# Flask stuff:
162instance/
163.webassets-cache
164
165# Scrapy stuff:
166.scrapy
167
168# Sphinx documentation
169docs/_build/
170
171# PyBuilder
172.pybuilder/
173target/
174
175# Jupyter Notebook
176.ipynb_checkpoints
177
178# IPython
179profile_default/
180ipython_config.py
181
182# pyenv
183# For a library or package, you might want to ignore these files since the code is
184# intended to run in multiple environments; otherwise, check them in:
185# .python-version
186
187# pipenv
188# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
189# However, in case of collaboration, if having platform-specific dependencies or dependencies
190# having no cross-platform support, pipenv may install dependencies that don't work, or not
191# install all needed dependencies.
192#Pipfile.lock
193
194# PEP 582; used by e.g. github.com/David-OConnor/pyflow
195__pypackages__/
196
197# Celery stuff
198celerybeat-schedule
199celerybeat.pid
200