diff --git a/.env b/.env deleted file mode 100644 index 3b6d269..0000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -# MONGO_URI=mongodb://root:salakala@localhost:27017/?replicaSet=kspace-mongo-set -MONGO_URI=mongodb://root:salakala@localhost:27017 -DOORBOY_SECRET=doorboy_secret diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/.overnodebundle b/.overnodebundle new file mode 100644 index 0000000..244cdce Binary files /dev/null and b/.overnodebundle differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c8b486 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Deploying + +``` +docker build -t 172.20.40.1:5000/doorboy:latest . +docker push 172.20.40.1:5000/doorboy:latest +overnode pull +overnode up +``` + diff --git a/docker-compose.yml b/docker-compose.yml index 521587d..be2917b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,14 +5,12 @@ networks: external: true services: - doorboy_proxy: - hostname: doorboy.infra.k-space.ee + app: + image: 172.20.40.1:5000/doorboy:latest + hostname: replica${OVERNODE_ID}.doorboy.infra.k-space.ee restart: unless-stopped env_file: .env networks: infra: - ipv4_address: 172.21.99.97 - build: - context: . - - + ipv4_address: 172.21.57.${OVERNODE_ID} + ipv6_address: 2001:bb8:4008:21:57::${OVERNODE_ID} diff --git a/main.py b/main.py index 886d0fe..ac5bc27 100644 --- a/main.py +++ b/main.py @@ -9,9 +9,8 @@ import const app = Sanic(__name__) -#mongodb = MongoClient('mongodb://172.21.27.1,172.21.27.2,172.21.27.3:27017/', replicaSet="kspace-mongo-set").kspace_accounting mongodb = AsyncIOMotorClient(const.MONGO_URI) -mongodb = mongodb.get_default_database() +db = mongodb.get_default_database() DOORBOY_SECRET = os.environ["DOORBOY_SECRET"] @@ -22,10 +21,10 @@ async def view_doorboy_uids(request): if request.headers.get('KEY') != DOORBOY_SECRET: return text("how about no") allowed_names = [] - async for obj in mongodb.member.find({"enabled": True}): + async for obj in db.member.find({"enabled": True}): allowed_names.append(obj["_id"]) allowed_uids = [] - async for obj in mongodb.inventory.find({"token.uid_hash": {"$exists":True}, "inventory.owner_id": {"$exists":True}, "token.enabled": True}, {"inventory.owner_id": True, "token.uid_hash": True }): + async for obj in db.inventory.find({"token.uid_hash": {"$exists":True}, "inventory.owner_id": {"$exists":True}, "token.enabled": True}, {"inventory.owner_id": True, "token.uid_hash": True }): if obj["inventory"].pop("owner_id") in allowed_names: del obj["_id"] del obj["inventory"] @@ -50,7 +49,7 @@ async def view_longpoll(request): } ] try: - async with mongodb.eventlog.watch(pipeline) as stream: + async with db.eventlog.watch(pipeline) as stream: await response.write("data: watch-stream-opened\n\n") async for event in stream: if event["fullDocument"].get("type") == "open-door": diff --git a/overnode.yml b/overnode.yml new file mode 100644 index 0000000..31a2ebe --- /dev/null +++ b/overnode.yml @@ -0,0 +1,6 @@ +id: doorboy + +version: 3.7 + +app: + docker-compose.yml: 1, 2, 3