Sdilena knihovna pro auditni logovani v SYSNET mikrosluzbach
Project description
sysnet-audit
Sdílená Python knihovna pro auditní logování napříč FastAPI mikroslužbami SYSNET s.r.o.
Distribuční název: sysnet-audit
Import path: audit_lib
Repozitář: github.com/SYSNET-CZ/audit
Instalace
# Základní (bez Kafka)
pip install git+ssh://git@github.com/SYSNET-CZ/audit.git@v0.2.0
# S Kafka backbendem (Topologie B)
pip install "git+ssh://git@github.com/SYSNET-CZ/audit.git@v0.2.0#egg=sysnet-audit[kafka]"
V pyproject.toml konzumující mikroslužby:
[project]
dependencies = [
"sysnet-audit @ git+ssh://git@github.com/SYSNET-CZ/audit.git@v0.2.0",
]
Quick start
from contextlib import asynccontextmanager
from fastapi import FastAPI, Depends
from audit_lib import (
init_audit, get_audit_backend, get_audit_logger,
AuditLogger, AuditActor, AuditResource, AuditSettings,
)
@asynccontextmanager
async def lifespan(app: FastAPI):
client = await init_audit(AuditSettings())
yield
await get_audit_backend().aclose()
if client is not None:
await client.aclose()
app = FastAPI(lifespan=lifespan)
@app.delete("/users/{user_id}")
async def delete_user(
user_id: str,
audit: AuditLogger = Depends(get_audit_logger),
):
await audit.log(
actor=AuditActor(sub="user-uuid"),
action="user.delete",
resource=AuditResource(type="user", id=user_id),
)
Proměnné prostředí
| Proměnná | Výchozí | Popis |
|---|---|---|
AUDIT_SERVICE_NAME |
— (povinné) | Identifikace mikroslužby |
AUDIT_MONGO_URI |
mongodb://localhost:27017 |
Connection string auditní MongoDB |
AUDIT_MONGO_DB |
audit |
Název auditní databáze |
AUDIT_ENABLED |
true |
false = NullBackend, žádné I/O |
AUDIT_KAFKA_BOOTSTRAP_SERVERS |
— (nepovinné) | Aktivuje dual-write Topologii B |
AUDIT_KAFKA_TOPIC |
audit-events |
Název Kafka topicu |
Dokumentace
| Dokument | Určení | Obsah |
|---|---|---|
| Manažerský přehled | Management | Proč knihovna vznikla, byznys hodnota, architektonická rozhodnutí |
| Uživatelská dokumentace | Vývojáři mikroslužeb | Instalace, konfigurace, FastAPI integrace, datové modely, testování |
| Technická dokumentace | Přispěvatelé, architekti | Architektura, závislostní graf, exception kontrakt, Topologie B, testy |
| Auditní databáze | DevOps, architekti | Proč samostatná DB, RBAC, doporučené indexy, TTL |
| Roadmap | Všichni | Stav verzí, plánované funkce |
| Quick Reference | Vývojáři | Vzory konfigurace, lifespan, záznam události, vlastní backend |
| sysnet-audit-dokumentace.docx | Všichni | Kompletní dokumentace v jednom souboru (Word) |
Vývoj
git clone git@github.com:SYSNET-CZ/audit.git
cd audit
pip install -e ".[dev,kafka]"
pytest
Licence
Proprietary — SYSNET s.r.o.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sysnet_audit-0.2.0.tar.gz.
File metadata
- Download URL: sysnet_audit-0.2.0.tar.gz
- Upload date:
- Size: 123.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c806fb46e4f3cdde5662813f99c08dce04dc523086785c81613ea65a3df0a921
|
|
| MD5 |
21747511f979e6fbb5f0727a7bb20491
|
|
| BLAKE2b-256 |
e8a543a73d14e739c82682fadf9305e968d88f86fc4767fec5749b5a34c7c474
|
File details
Details for the file sysnet_audit-0.2.0-py3-none-any.whl.
File metadata
- Download URL: sysnet_audit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 40.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d716651c4156421d2daac6a8705389d2b0464be6b89b5bb1d4e8b6b84ade04cb
|
|
| MD5 |
dd1d1d840e33fbcc75e4440faa93c458
|
|
| BLAKE2b-256 |
4e3030f9681cab358a903e2b44c910c6d0ca0680b1a72708bc374b662332e928
|