Commit Graph

8 Commits

Author SHA1 Message Date
Lorenzo Venerandi
e1c1b4d953 chore: update Dockerfile and requirements for Python 3.13, enhance error handling in config and tracker modules 2026-03-01 21:52:27 +01:00
Lorenzo Venerandi
5d38ea45a8 starting full refactor with FastAPI routes + HTMX and AlpineJS on client side 2026-02-17 13:09:01 +01:00
Phillip Tarrant
0b276b1a47 Merge branch 'dev' into feat/background-tasks 2026-01-09 09:39:56 -06:00
Patrick Di Fazio
b61461d028 fixed categorization visualization, fixed date in the dashboard, fixed attack regex detection 2026-01-08 19:20:22 +01:00
Phillip Tarrant
7d9f0616b7 Add background task to export suspicious IPs to text file
- Implement export-malicious-ips task that queries distinct IPs flagged
    as is_suspicious from database and writes to exports/malicious_ips.txt
  - Add exports volume mount to docker-compose.yaml for host persistence
  - Update entrypoint.sh to fix ownership of exports directory for krawl user
  - Update Dockerfile to create /app/exports directory during build

Other tasks can be added by creating them in the tasks dir using the same setup as this task.
All tasks *MUST* include a TASK_CONFIG dict and a main method in the file to work correctly.
2026-01-05 11:54:02 -06:00
Phillip Tarrant
349c149335 Add logs directory bind mount with entrypoint permission fix
- Add ./logs:/app/logs volume mount to docker-compose.yaml for log access
  - Create entrypoint.sh script that fixes directory ownership at startup
  - Install gosu in Dockerfile for secure privilege dropping
  - Use ENTRYPOINT to run permission fix as root, then drop to krawl user

  This ensures bind-mounted directories have correct permissions even when
  Docker creates them as root on the host.
2026-01-02 13:52:51 -06:00
Phillip Tarrant
d458eb471d Migrate configuration from environment variables to YAML file
- Add YAML-based configuration loaded from config.yaml (CONFIG_LOCATION env var)
  - Add PyYAML dependency and install requirements in Dockerfile
  - Replace Config.from_env() with get_config() singleton pattern
  - Remove server_header from config (now randomized from wordlists only)
  - Update docker-compose.yaml to mount config.yaml read-only
  - Update Helm chart: restructure values.yaml, generate config.yaml in ConfigMap
  - Update Kubernetes manifests: ConfigMap now contains config.yaml, deployments mount it
  - Remove Helm secret.yaml (dashboard path now auto-generated in config.yaml)
2026-01-02 13:39:54 -06:00
BlessedRebuS
076b2de584 First commit 2025-12-14 19:08:01 +01:00