Doorboy proxy exports door access information from MongoDB to door Raspberry Pi controllers
Go to file
2021-04-04 12:03:22 +00:00
.gitignore Rolled out in prod 2021-04-04 08:58:45 +00:00
.overnodebundle Rolled out in prod 2021-04-04 08:58:45 +00:00
const.py change db to get_default_database 2021-03-31 10:23:48 +03:00
dev.yml add dev.yml 2021-03-23 09:34:08 +00:00
docker-compose.yml Rolled out in prod 2021-04-04 08:58:45 +00:00
Dockerfile rewrite with sanic, motor 2021-04-02 09:17:39 +00:00
main.py Attribute token.enabled is timestamp, not boolean 2021-04-04 11:51:11 +00:00
overnode.yml Rolled out in prod 2021-04-04 08:58:45 +00:00
README.md Add test scenarios 2021-04-04 12:03:22 +00:00
requirements.txt clean up requirements, small tweak 2021-04-03 17:09:51 +03:00

Backgruond

This component serves allowed list of keyfob UID hashes from MongoDB and pushes open door commands to door controllers.

Testing endpoints

For manually testing something like this might help:

source .env
curl -f http://doorboy.infra.k-space.ee:5000/allowed -H "KEY: $DOORBOY_SECRET" | md5sum

Test scenarios

When updating doorboy proxy, members site or kdoorpi. Verify follwing:

  • Swiping unknown card shows up as unknown, it can be claimed on members site and it immediately can be used after claiming
  • Card enable/disable on members site works and has effect
  • Opening door via buttons at https://members.k-space.ee/m/doorboy works and has effect
  • Opening door via /open-ground-door, /open-front-door and /open-back-door commands in Slack channel #members works
  • TODO: Keep door open via members site works and has effect

When testing changes prefer using the back door and use a brick or something to keep it open to prevent interfering with other members entering and exiting.

Deploying

docker build -t 172.20.40.1:5000/doorboy:latest .
docker push 172.20.40.1:5000/doorboy:latest
overnode pull
overnode up