refactor: override config from env

Closes varia/octomode#8
This commit is contained in:
decentral1se 2022-10-02 12:08:47 +02:00
parent 9e1cc8c10f
commit d9800c5223
No known key found for this signature in database
GPG Key ID: 03789458B3D0C410
3 changed files with 28 additions and 7 deletions

View File

@ -83,6 +83,21 @@ You can clone this repository to run octomode on your own computer or server.
`make setup` (sets up a virtual environment and install the requirements, you only need to do this once) `make setup` (sets up a virtual environment and install the requirements, you only need to do this once)
Then you can configure your environment:
- **OCTOMODE_PORTNUMBER**: optional, default: `5001`
- **OCTOMODE_PAD_URL**: optional, default: `https://pad.vvvvvvaria.org/`
- **OCTOMODE_PAD_API_URL**: optional, default: `https://pad.vvvvvvaria.org/api/1.2.15/`
- **OCTOMODE_PAD_API_KEY**: required, **no default**
You must provide a value for `OCTOMODE_PAD_API_KEY`.
You can do this by passing the values on the command-line before running octomode:
```
export OCTOMODE_PAD_API_KEY=...
```
`make run` (runs the Flask application) `make run` (runs the Flask application)
Open the application at <http://localhost:5001>. Open the application at <http://localhost:5001>.

View File

@ -1,6 +0,0 @@
class Config(object):
APPLICATION_ROOT = '/'
PORTNUMBER = 5001
PAD_URL = 'https://pad.vvvvvvaria.org/' # with a slash in the end!
PAD_API_URL = 'https://pad.vvvvvvaria.org/api/1.2.15/'
PAD_API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

View File

@ -14,8 +14,20 @@ import pypandoc
# To read the Markdown metadat # To read the Markdown metadat
import markdown import markdown
class Config(object):
APPLICATION_ROOT = '/'
PORTNUMBER = int(os.environ.get('OCTOMODE_PORTNUMBER', 5001))
PAD_URL = os.environ.get('OCTOMODE_PAD_URL', 'https://pad.vvvvvvaria.org/' )
PAD_API_URL = os.environ.get('OCTOMODE_PAD_API_URL', 'https://pad.vvvvvvaria.org/api/1.2.15/')
PAD_API_KEY = os.environ.get('OCTOMODE_PAD_API_KEY', '')
APP = Flask(__name__) APP = Flask(__name__)
APP.config.from_object("config.Config") APP.config.from_object(Config)
if APP.config.get('PAD_API_KEY', '') == '':
print("error: you must provide a value for OCTOMODE_PAD_API_KEY")
print("error: e.g. export OCTOMODE_PAD_API_KEY=...")
exit(1)
# --- # ---