fetch_ml/internal
Jeremie Fraeys c52179dcbe
feat(auth): add token-based access and structured logging
Add comprehensive authentication and authorization enhancements:

- tokens.go: New token management system for public task access and cloning
  * SHA-256 hashed token storage for security
  * Token generation, validation, and automatic cleanup
  * Support for public access and clone permissions

- api_key.go: Extend User struct with Groups field
  * Lab group membership (ml-lab, nlp-group)
  * Integration with permission system for group-based access

- flags.go: Security hardening - migrate to structured logging
  * Replace log.Printf with log/slog to prevent log injection attacks
  * Consistent structured output for all auth warnings
  * Safe handling of file paths and errors in logs

- permissions.go: Add task sharing permission constants
  * PermissionTasksReadOwn: Access own tasks
  * PermissionTasksReadLab: Access lab group tasks
  * PermissionTasksReadAll: Admin/institution-wide access
  * PermissionTasksShare: Grant access to other users
  * PermissionTasksClone: Create copies of shared tasks
  * CanAccessTask() method with visibility checks

- database.go: Improve error handling
  * Add structured error logging on row close failures
2026-03-08 12:51:07 -04:00
..
api feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
audit security: improve audit, crypto, and config handling 2026-03-04 13:23:42 -05:00
auth feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
config security: improve audit, crypto, and config handling 2026-03-04 13:23:42 -05:00
container refactor(jupyter): enhance security and scheduler integration 2026-02-26 12:06:35 -05:00
crypto security: improve audit, crypto, and config handling 2026-03-04 13:23:42 -05:00
domain refactor: misc improvements across codebase 2026-03-05 10:58:22 -05:00
envpool refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
errtypes refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
experiment refactor(jupyter): enhance security and scheduler integration 2026-02-26 12:06:35 -05:00
fileutil refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
jupyter refactor(jupyter): enhance security and scheduler integration 2026-02-26 12:06:35 -05:00
logging refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
manifest feat: enhance task domain and scheduler protocol 2026-03-04 13:23:38 -05:00
metrics refactor: Phase 6 - Complete migration, remove legacy files 2026-02-17 14:39:48 -05:00
middleware fix: resolve TODOs and standardize tests 2026-02-19 15:34:59 -05:00
network refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
privacy refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
prommetrics feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
queue refactor(queue): integrate scheduler backend and storage improvements 2026-02-26 12:06:46 -05:00
resources refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
scheduler fix(scheduler): resolve TestEndToEndJobLifecycle race and getTask bug 2026-03-05 14:40:43 -05:00
security refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
storage feat(storage): add groups, tasks, tokens, and audit database schemas 2026-03-08 12:48:42 -04:00
telemetry Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
tracking refactor(utilities): update supporting modules for scheduler integration 2026-02-26 12:07:15 -05:00
validation feat: add security monitoring and validation framework 2026-02-19 15:34:25 -05:00
worker feat: enhance worker execution and scheduler service templates 2026-03-04 13:24:20 -05:00