4 Commits
Author SHA1 Message Date
nessi 7b5f3fa262 Rename metadata column to metadata_ to avoid SQLAlchemy reserved keyword conflict
Add explicit column name mapping using mapped_column("metadata") while using metadata_ as Python attribute name in Notification and Secret models. Update Pydantic schemas to use validation_alias for proper serialization. Update service layer to use metadata_ attribute when creating and updating records.
2026-06-21 10:45:47 +02:00
nessi e648a7e812 Rename APIToken to ApiToken for consistent PascalCase naming 2026-06-21 10:30:29 +02:00
nessi dfec7976c4 Add security hardening and PostgreSQL 18 upgrade support
Add ALLOWED_HOSTS configuration to restrict trusted hosts in TrustedHostMiddleware. Enhance SSRF protection to block all private, loopback, link-local, multicast, reserved, and unspecified IP addresses using ipaddress module and DNS resolution checks. Add encrypt_value/decrypt_value aliases for encryption functions. Upgrade PostgreSQL from 16 to 18.4 in Docker Compose with updated data directory path (/var/lib/postgresql). Add security_opt no
2026-06-21 09:44:47 +02:00
nessi d694c8b8e3 Add project scaffolding and documentation
Add .env.example with configuration for database, Redis, security, SMTP, workers, and plugins. Add .gitignore for Python, Node.js, Next.js, Docker volumes, and IDE files. Add MIT License. Update README.md with feature overview, quick start guide, architecture description, plugin system documentation, security details, backup/restore instructions, and developer setup. Add Alembic configuration files and placeholder directories for API, web, worker, and plugin components
2026-06-21 09:31:47 +02:00