Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sysnet_audit-0.2.0.tar.gz (123.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sysnet_audit-0.2.0-py3-none-any.whl (40.8 kB view details)

Uploaded Python 3

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

Hashes for sysnet_audit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c806fb46e4f3cdde5662813f99c08dce04dc523086785c81613ea65a3df0a921
MD5 21747511f979e6fbb5f0727a7bb20491
BLAKE2b-256 e8a543a73d14e739c82682fadf9305e968d88f86fc4767fec5749b5a34c7c474

See more details on using hashes here.

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

Hashes for sysnet_audit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d716651c4156421d2daac6a8705389d2b0464be6b89b5bb1d4e8b6b84ade04cb
MD5 dd1d1d840e33fbcc75e4440faa93c458
BLAKE2b-256 4e3030f9681cab358a903e2b44c910c6d0ca0680b1a72708bc374b662332e928

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page