Skip to content

ddeutils/ddeutil-observe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Observe Application

test pypi version python support version size gh license code style: black

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.

πŸ“¦ Installation

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).

🍻 Getting Started

For the first phase, I will use the SQLite be a backend database that keep authentication and workflows data.

Login Page

Login Page

Main Page

Workflow Page

Workflow Detail Page

Workflow Trace Page

πŸͺ Configuration

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

πŸš€ Deployment

(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

πŸ’¬ Contribute

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.

About

πŸ“‘ Lightweight Observe Application with FastAPI

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •