The simple flask application implements an API for the chtoes.li website.
The private configuration and keys supposed to be into shadow/
directory sibling to app/
one. This directory is NOT synced with the server by fab publish
and generally differs between local (debug) and server (production) setup. It should be created manually.
shadow/config.json
-- overwrites app/config.json
and has the same format. This file necessary to set credentials for interacting with GitHub Integrations API and keeping its out of version control. Any other settings (like target repository for issues) can be set there to leave repository clean during developing / debugging.
Warning: The shadow config non-deeply merged into the public one. While it’s possible to omit a first-level key in the shadow config, the overwritten value should consist all corresponding keys and not only modified ones.
As simple as:
user@host api $ fab publish
It just sync actual content of the app/
directory with the server and reloads uwsgi.
The website expects /api/issue/
to be on the same domain as the website. It makes debugging on a local machine tricky, but still possible.
The idea is to run flask's webserver on the same port as a webserver serving the website. Example:
user@host website $ fab reserve:debug # or reserve:local
... open http://localhost:8000 in a browser ...
user@host website $ ^C # stop the website's server
... cd to api ...
user@host api $ export FLASK_APP=app/app_main.py
user@host api $ flask run -p 8000
... use the issue form in the browser ...
Public domain. You free to use it as you need without any restrictions. No guarantees provided.
Consider LICENSE file for more information.