Commit Graph

14 Commits

Author SHA1 Message Date
Oliver Kieselbach ac7aabe43b fix ntpserver default 2026-03-31 03:41:22 +02:00
Oliver Kieselbach eccb8cf945 added mcp docs 2026-03-30 18:05:35 +02:00
Oliver Kieselbach 4e1c201aee chore tasks.md 2026-03-30 15:47:40 +02:00
Oliver Kieselbach 8a4a7cf255 Remote MCP server: Streamable HTTP transport, Container App deployment, MCP user access control
- MCP server: stdio → Streamable HTTP (Express) with /health endpoint
- Auth: device code flow → token pass-through (JWT from Claude Code client)
- Dockerfile (multi-stage, node:22-slim) + .dockerignore
- Bicep template: ACR + Container App Environment + Container App (scale-to-zero)
- GitHub Actions: deploy-mcp.yml workflow, all backend workflows migrated to SP auth
- Removed unused dev/main deploy workflows
- Backend: McpAccessPolicy enum (Disabled/WhitelistOnly/AllMembers)
- Backend: McpUsers table + McpUserService (5min cache) + McpUserFunction (CRUD + access check)
- Backend: 6 endpoints registered in EndpointAccessPolicyCatalog
- Web UI: MCP Users management section at /settings/access/mcp-users
- Web UI: user list, add/remove/enable/disable, policy info banner

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 08:09:58 +01:00
Claude be6d7b21f8 Update migration plan — all 4 phases complete
https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
2026-03-27 07:22:09 +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 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 0fd8ca22d1 renaming global admin 2026-03-23 06:28:59 +01:00
Claude bc4c266470 Add Tenant Config Report page for Galactic Admins
New read-only report page that shows the full tenant configuration
and computed runtime parameters (AgentConfigResponse) side by side.
Helps Galactic Admins quickly analyze what a tenant has configured.

- Tenant selector to pick any tenant cross-tenant
- All TenantConfiguration fields grouped by section
- Computed runtime parameters with defaults applied
- Non-default values highlighted in purple for quick scanning
- SAS URLs are masked for security
- Added nav item to Galactic Admin section

https://claude.ai/code/session_0136YgG8JDuqAhHvMbALyPoZ
2026-03-21 19:28:36 +00:00
Oliver Kieselbach a37a6b82e8 restructured source code for better maintenance and added ai files 2026-03-18 01:15:46 +01:00
Oliver Kieselbach 182357cc91 cleanup 2026-03-17 18:24:01 +01:00
Claude 669374ba90 Finalize plan: dual-table architecture with SessionsIndex for pagination
Dual-table approach keeps Sessions table unchanged (O(1) point queries)
and adds SessionsIndex with inverted-tick RowKey for efficient time-sorted
listing and cursor-based Load More. Includes auto-migration strategy.

https://claude.ai/code/session_015CiKa2WSHQ4C3pvXcPJ8Ww
2026-03-13 10:59:08 +00:00
Claude b79817c8c0 Add implementation plan for session table redesign with inverted-tick RowKey
Plan for cursor-based pagination: change RowKey from SessionId to
invertedTicks_SessionId so Azure Table Storage returns newest sessions
first natively, enabling efficient $top=100 queries and Load More.

https://claude.ai/code/session_015CiKa2WSHQ4C3pvXcPJ8Ww
2026-03-13 10:18:52 +00:00
Claude 7a0b87c206 Add plan for static landing page (no-JS fallback)
Document the approach to convert the landing page from a full
"use client" component to a Server Component, so crawlers and
users without JavaScript see the complete page content.

https://claude.ai/code/session_01BwtFQovtdDWzUcykXQuMYp
2026-03-12 08:30:42 +00:00