TEDective API deployment
TEDective API deployment can be done with help of provided Makefile
. First
make sure you have cloned the repo with API:
git clone https://git.fsfe.org/TEDective/api.git
If the TerminusDB instance is locally deployed with help of TEDective Parser, deployment is as easy as running
make dev.up
TEDective API should be now available under http://localhost:9000 (opens in a new tab).
Makefile targets
-
help: Displays a list of available targets with descriptions.
-
dev: Start all containers and display their logs. Optionally, you can set environment variables to configure the containers.
- Usage:
make dev [ADDRESS=<address>] [HEADERS=<headers>] [KEY=<key>]
- Usage:
-
dev.up: Start all containers and detach them.
- Usage:
make dev.up [ADDRESS=<address>] [HEADERS=<headers>] [KEY=<key>]
- Usage:
-
dev.up.test: Start containers necessary for testing and detach them.
- Usage:
make dev.up.test
- Usage:
-
dev.down: Stop all containers.
- Usage:
make dev.down
- Usage:
-
dev.kill: Kill and remove all containers.
- Usage:
make dev.kill
- Usage:
-
dev.rebuild: Stop and restart containers, rebuilding them this time.
- Usage:
make dev.rebuild [ADDRESS=<address>] [HEADERS=<headers>] [KEY=<key>]
- Usage:
-
api.test: Run tests for the TEDective API using pytest. It depends on
dev.up.test
to start the necessary containers for testing.- Usage:
make api.test
- Usage:
Default database location, credentials, and how to change them
By default, so as long as you don't provide custom values for ADDRESS, HEADERS and KEY variables, API will look for TerminusDB instance under http://terminus-server:6363 (opens in a new tab), with the key being default TerminusDB admin password, and headers that are corresponding to that password. If you are planning to deploy TerminusDB instance somewhere outside of your local network, it is highly recommended to change default password.
Default values for those variables are stored in .env file and then used by Docker (opens in a new tab) to tell the API where it should look for the database.
DB_ADDRESS=http://terminusdb-server:6363
TERMINUS_ADMIN_KEY=root
HEADERS=YWRtaW46cm9vdA==
To change the values, add the new ones as an arguments while running the desired
Makefile rule, or modify .env
file. If you choose to use arguments, make sure
you provide all 3 of them, otherwise the default ones from .env
are going to
be used!
For the headers value, make sure that you provide only the second part of Basic Auth header (opens in a new tab), "Basic " is already hardcoded!