The Lightweight Observe Application was created for easy to make an observe
application that getting logs, audits, or trigger status
from any data framework storage and endpoint APIs.
This project focuses on the ddeutil-workflow
tool first π―.
Warning
This project is the best fit integration with ddeutil-workflow
package.
The first propose is monitor and observe from worker nodes that deploy the
workflow application on a target self-hosted.
Note
I will use this project to be my Fundamental Frontend path learning.
pip install -U ddeutil-observe
π₯ Docker Images supported:
Docker Image Python Version Support ddeutil-observe:latest 3.9
β ddeutil-observe:python3.10 3.10
β ddeutil-observe:python3.11 3.11
β ddeutil-observe:python3.12 3.12
β ddeutil-observe:python3.12 3.13
β
Note
If you want to increase this application performance, you can install the
performance option, pip install ddeutil-observe[perf]
(It does not edit
code, it's just routing other faster packages).
For the first phase, I will use the SQLite be a backend database that keep authentication and workflows data.
Important
The config value that you will set on the environment should combine with
prefix, component, and name which is OBSERVE_{component}_{name}
(Upper case).
Environment | Component | Default | Description |
---|---|---|---|
ENVIRONMENT | Core | development |
Application environment (development, staging, production). Chrome DevTools only enabled in dev |
TIMEZONE | Core | UTC |
A timezone that use on all components of this application |
SQLALCHEMY_DB_ASYNC_URL | Core | sqlite+aiosqlite:///./observe.db |
A database url of the application backend side |
ACCESS_SECRET_KEY | Core | secrets.token_urlsafe(32) |
A secret key that use to hash the access token with jwt package |
ACCESS_TOKEN_EXPIRE_MINUTES | Core | 30 |
Expire period of the access token in minute unit |
REFRESH_SECRET_KEY | Core | secrets.token_urlsafe(32) |
A secret key that use to hash the refresh token with jwt package |
REFRESH_TOKEN_EXPIRE_MINUTES | Core | 60 * 24 * 8 |
Expire period of the refresh token in minute unit |
ADMIN_USER | Web | observe |
An username of superuser |
ADMIN_PASS | Web | observe |
A password of superuser |
ADMIN_EMAIL | Web | [email protected] |
An email of superuser |
DEBUG_MODE | Log | true |
Logging mode |
SQLALCHEMY_DEBUG_MODE | Log | true |
Database Logging mode that will logging every execution statement before and after connection |
(env) $ uvicorn src.ddeutil.observe.app:app \
--host 127.0.0.1 \
--port 88 \
--no-access-log
Note
If this package already deploy, it is able to use
(env) $ uvicorn ddeutil.workflow.api:app \
--host 127.0.0.1 \
--port 88 \
--workers 4 \
--no-access-log
I do not think this project will go around the world because it has specific propose, and you can create by your coding without this project dependency for long term solution. So, on this time, you can open the GitHub issue on this project π for fix bug or request new feature if you want it.