Commit Graph

719 Commits

Author SHA1 Message Date
Claude 5cfed4e660 Phase 4 refinements: BootstrapSession, GlobalAdmin, Notification, SessionReport
Additional cleanup from background agents completing their migrations.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 07:17:47 +00:00
Claude 5405a40a5a Phase 4: Extract table storage from all bypass services into repositories
New repository implementations:
- TableConfigRepository: TenantConfig, AdminConfig, PreviewWhitelist, PreviewConfig
- TableBootstrapRepository: BootstrapSessions with dual-partition scheme
- TableNotificationRepository: GlobalNotifications + SessionReports
- TableDeviceSecurityRepository: BlockedDevices + BlockedVersions

Services migrated to use repository interfaces (keep caching + business logic):
- TenantConfigurationService → IConfigRepository
- AdminConfigurationService → IConfigRepository
- PreviewWhitelistService → IConfigRepository
- TelegramNotificationService → IConfigRepository
- GlobalAdminService → IAdminRepository
- TenantAdminsService → IAdminRepository
- BootstrapSessionService → IBootstrapRepository
- GlobalNotificationService → INotificationRepository
- SessionReportService → INotificationRepository
- BlockedDeviceService → IDeviceSecurityRepository
- BlockedVersionService → IDeviceSecurityRepository

TableAdminRepository rewritten with direct table CRUD (removed circular service deps).
IVulnerabilityRepository: Added GetCveCacheEntryAsync for VulnerabilityCorrelationService.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 07:16:23 +00:00
Claude 6fec275d9e Update IConfigRepository, IBootstrapRepository, INotificationRepository for Phase 4
- IConfigRepository: Add GetNotificationEmailAsync, SaveNotificationEmailAsync
- IBootstrapRepository: Add CleanupExpiredAsync
- INotificationRepository: Add DismissAllNotificationsAsync, GlobalNotification.Type/Href

Phase 4 agents running in background creating repository implementations.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 07:10:45 +00:00
Claude fdbbfcb1c6 Update migration plan — Phase 1-3 complete, zero direct TableStorageService consumers
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:57:06 +00:00
Claude 36b8594ff0 Migrate all Vulnerability functions, ApiKey, bypass services to DAL (Phase 3)
Vulnerability Functions (8 files):
- GetCpeMappings, SaveCustomCpeMapping, DeleteCustomCpeMapping → IVulnerabilityRepository
- GetUnmatchedSoftware, GetSoftwareInventory → IVulnerabilityRepository
- GetVulnerabilityReport → IVulnerabilityRepository + ISessionRepository
- TriggerVulnerabilityDataSync, VulnerabilityDataSync → IVulnerabilityRepository

Admin:
- ReseedFromGitHubFunction → IVulnerabilityRepository + IRuleRepository
- ApiKeyManagementFunction → IAdminRepository
- ApiKeyMiddleware → IAdminRepository

Bypass Services (removed TableStorageService dependency):
- BlockedDeviceService → own TableClient from IConfiguration
- BlockedVersionService → own TableClient from IConfiguration
- SessionReportService → own TableClient from IConfiguration

New: TableAdminRepository implementation for IAdminRepository

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:54:35 +00:00
Claude 782f81f1a6 Expand IVulnerabilityRepository, IAdminRepository, INotificationRepository for Phase 3
- IVulnerabilityRepository: Add CPE mapping CRUD, CVE cache, cross-tenant inventory
- IAdminRepository: Add GetAllApiKeysAsync, GetApiKeyAsync, IncrementApiKeyRequestCountAsync
- INotificationRepository: Add UpdateSessionReportAdminNoteAsync
- TableVulnerabilityRepository: Implement all new methods with direct table access

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:48:47 +00:00
Claude 799ec0a39b Migrate GetPlatformStatsFunction to IMetricsRepository
Completes non-Vulnerability function migrations. Remaining 14 files still
using TableStorageService are: 8 Vulnerability functions (use GetTableClient),
ReseedFromGitHub, ApiKeyManagement, BlockedDevice/VersionService,
SessionReportService, ApiKeyMiddleware — these need interface additions first.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:42:39 +00:00
Claude b3187d9ef3 Migrate AuditLogs, RuleResults, Progress, Feedback, Auth functions to DAL
- GetAuditLogsFunction, GetGlobalAuditLogsFunction → IMaintenanceRepository
- GetRuleResultsFunction → IRuleRepository + IMaintenanceRepository + ISessionRepository
- ProgressPortalFunction, FeedbackFunction → ISessionRepository
- AuthFunction → IMetricsRepository

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:42:06 +00:00
Claude 6582faad17 Migrate GetGlobalGeographicMetricsFunction to DAL
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:38:20 +00:00
Claude 85cd9ae688 Migrate GetGeographicMetricsFunction to DAL
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:37:58 +00:00
Claude ff6e43cecc Migrate Geographic Location Sessions functions to DAL
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:37:41 +00:00
Claude cae99b445f Migrate GetAppMetrics, GetGlobalAppMetrics, TenantOffboard refinements
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:37:11 +00:00
Claude d89e2a2ad1 Migrate TenantAdminManagement, TenantOffboard functions to DAL
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:36:38 +00:00
Claude b2246fa7a4 Migrate VersionBlockFunction, MaintenanceService.Aggregation refinements
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:35:41 +00:00
Claude 6468a87bc3 Migrate DeviceBlock, Bootstrap, Config, MaintenanceService.Aggregation to DAL
- DeviceBlockFunction → IMaintenanceRepository
- CreateBootstrapSessionFunction → IMaintenanceRepository
- RevokeBootstrapSessionFunction → IMaintenanceRepository
- UpdateTenantConfigurationFunction → IMaintenanceRepository
- MaintenanceService.Aggregation → repository interfaces
- IngestEventsFunction.Processing refinements

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:35:24 +00:00
Claude 107fb51a14 Continue DAL migration: Config functions, IngestEvents processing, MaintenanceService
Incremental progress from background agents migrating remaining functions
and services to repository interfaces.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:33:10 +00:00
Claude bd41ea05c7 Migrate MaintenanceService, IngestEvents processing, UpdateAdminConfig to DAL
- MaintenanceService → IMaintenanceRepository + ISessionRepository + IMetricsRepository
- IngestEventsFunction.Processing → updated repository references
- UpdateAdminConfigurationFunction → IMaintenanceRepository

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:32:37 +00:00
Claude 7bf139ecbe Migrate IngestEvents, RegisterSession, DeleteSession, services to DAL
- IngestEventsFunction → ISessionRepository + IMetricsRepository + IMaintenanceRepository
- RegisterSessionFunction → ISessionRepository + IMetricsRepository
- DeleteSessionFunction → ISessionRepository + IMaintenanceRepository
- SubmitSessionReportFunction → IMaintenanceRepository
- RuleEngine → IRuleRepository
- UsageMetricsService → IMetricsRepository + IMaintenanceRepository + ISessionRepository
- PlatformMetricsService → IMetricsRepository + IMaintenanceRepository
- Add StoreEventsBatchAsync to ISessionRepository + TableSessionRepository

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:32:10 +00:00
Claude 2c83bca248 Migrate MarkSession Functions, SearchByCve, AnalyzeRule/GatherRule services to DAL
- MarkSessionFailedFunction, MarkSessionSucceededFunction → ISessionRepository + IMaintenanceRepository
- SearchSessionsByCveFunction → ISessionRepository
- AnalyzeRuleService, GatherRuleService → IRuleRepository
- ImeLogPatternService → IRuleRepository

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:30:14 +00:00
Claude 5b4e4238f3 Migrate Session and Metrics Functions to DAL repository interfaces
Replace direct TableStorageService injection with ISessionRepository,
IMetricsRepository, and IMaintenanceRepository in 10 Function files.
Add GetSessionEventsAsync to ISessionRepository interface.

Migration in progress — more functions and services to follow.

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:29:17 +00:00
Claude 36554c5ca4 Add Data Access Layer with repository interfaces and Table Storage implementations
Introduces a clean abstraction layer to decouple domain services from Azure Table Storage,
enabling future migration to Cosmos DB and Event Streaming without touching business logic.

Architecture:
- 10 repository interfaces in Shared/DataAccess/ (ISessionRepository, IRuleRepository, etc.)
- IDataEventPublisher interface with NullDataEventPublisher for future event streaming
- IStorageInitializer for provider-agnostic initialization
- 5 Table Storage implementations that delegate to existing TableStorageService
- DI extension method AddTableStorageDataAccess() with AddEventStreaming<T>() hook
- Migration plan in tasks/todo.md for incremental adoption

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 06:03:55 +00:00
Oliver Kieselbach ce1833231c update changelog 2026-03-26 10:09:08 +01:00
Oliver Kieselbach 439dbcaa90 fix tenant config 2026-03-26 09:55:49 +01:00
Oliver Kieselbach ab93e482ba rules description render fix 2026-03-26 09:46:46 +01:00
Oliver Kieselbach f6ed4660d1 agent: secureboot certs incl. analyze rule, timezone auto set, NTP offset check 2026-03-26 09:23:12 +01:00
Oliver Kieselbach e8e586aa19 Security: request size limit, symlink detection 2026-03-26 08:07:02 +01:00
Oliver Kieselbach ffc2f1f67f Remove submodules: true from web deploy workflows
The private submodule (.claude/commands) is not needed for builds
and was causing CI failures since the runner has no access to it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 07:15:00 +01:00
Oliver Kieselbach 5dabba56ab Merge branch 'mcp-server'
# Conflicts:
#	src/Agent/AutopilotMonitor.Agent/buildcounter.txt
#	src/Web/autopilot-monitor-web/tsconfig.tsbuildinfo
2026-03-26 07:06:01 +01:00
Oliver Kieselbach d4501fbcb3 update license 2026-03-26 07:02:33 +01:00
Oliver Kieselbach d825e80ebd Move Claude Code skills and scripts to private submodule
- Replace public rule-builder.md and gitignored commands/scripts
  with a private submodule at .claude/commands/
- Submodule: okieselbach/Autopilot-Monitor-dotclaude (private)
- Script paths updated: .claude/scripts/ → .claude/commands/scripts/
- Clone with: git clone --recurse-submodules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 07:02:02 +01:00
Oliver Kieselbach e65a76c836 changed download api for bootstrapper 2026-03-26 06:27:44 +01:00
Oliver Kieselbach 0df6ed6890 changed api default access 2026-03-25 18:08:04 +01:00
Oliver Kieselbach cd32ff9e6d added dynamic handling to properties 2026-03-25 17:40:12 +01:00
Oliver Kieselbach a0886c12d3 more audit 2026-03-24 23:52:08 +01:00
Oliver Kieselbach c2b34ceb58 more audit 2026-03-24 21:03:01 +01:00
Oliver Kieselbach b6d92c914e added software mapping delete und userfeedback removed collapse 2026-03-24 16:16:18 +01:00
Oliver Kieselbach 9f7d6e23f1 initial mcp server implementation 2026-03-24 08:06:48 +01:00
Oliver Kieselbach 8e1b45042a changed appinsights events 2026-03-23 07:12:38 +01:00
Oliver Kieselbach 0fd8ca22d1 renaming global admin 2026-03-23 06:28:59 +01:00
Oliver Kieselbach 3ae19f48b2 renaming global admin 2026-03-23 06:27:58 +01:00
Oliver Kieselbach 5226df08d1 re-org sidebar 2026-03-23 05:59:28 +01:00
Oliver Kieselbach d59ce5b574 style update 2026-03-23 05:36:04 +01:00
Oliver Kieselbach ec6eb2f273 changed styling 2026-03-23 05:29:28 +01:00
Oliver Kieselbach 4d71260e2e admin settings expandable pattern 2026-03-23 05:21:01 +01:00
Oliver Kieselbach 7b172d6270 expandable sidebar menu 2026-03-23 05:15:29 +01:00
Oliver Kieselbach 2f2228d16f fix sidebar 2026-03-23 05:04:08 +01:00
Oliver Kieselbach 4a2b0e8ad9 re-org tenant settings 2026-03-23 04:53:17 +01:00
Oliver Kieselbach 2a43a72907 re-org admin settings #2 2026-03-22 20:30:01 +01:00
Oliver Kieselbach 8ab237530a layout update software mapping 2026-03-22 20:22:25 +01:00
Oliver Kieselbach fe8ab4e32b additional re-org of admin settings 2026-03-22 20:18:18 +01:00