Oliver Kieselbach cbddf409d5 Auto-promote tenant requester as TenantAdmin on preview approval
When a Galactic Admin approves a tenant for Private Preview, the user
who originally signed up (stored in TenantConfiguration.UpdatedBy) is
automatically added as TenantAdmin. This avoids manual admin assignment
after approval. Also fixes GitHub repository link in the portal footer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 21:38:05 +01:00
2026-02-10 02:37:31 +01:00
2026-02-05 06:14:41 +01:00
2026-02-16 20:49:43 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00

Autopilot Monitor

Advanced monitoring and troubleshooting solution for Windows Autopilot deployments.

Overview

Autopilot Monitor provides real-time tracking, intelligent diagnostics, and automated troubleshooting for Windows Autopilot enrollment processes. It consists of:

  • Bootstrap Script - PowerShell script deployed via Intune that starts monitoring early in the enrollment process
  • Monitoring Agent - Lightweight .NET Windows Service that collects telemetry and evidence
  • Backend API - Azure Functions-based ingestion and processing pipeline
  • Web Dashboard - Next.js application for real-time monitoring and fleet analytics

Architecture

Device Side                     Azure Backend                    Web UI
┌──────────────┐               ┌──────────────┐                ┌──────────┐
│  Bootstrap   │──deploys──▶   │              │                │          │
│  Script      │               │   Azure      │◀───────────▶   │  Next.js │
└──────┬───────┘               │   Functions  │                │  Web App │
       │                       │              │                │          │
       ▼                       │  • Ingest    │                └──────────┘
┌──────────────┐               │  • Store     │
│  Monitoring  │──telemetry──▶ │  • Analyze   │
│  Agent       │    (mTLS)     │              │
└──────────────┘               └──────┬───────┘
                                      │
                                      ▼
                               ┌──────────────┐
                               │ Azure Table  │
                               │ Azure Blob   │
                               │ Azure SQL    │
                               └──────────────┘

Project Structure

Autopilot-Monitor/
├── src/
│   ├── Agent/                          # .NET monitoring agent
│   │   ├── AutopilotMonitor.Agent/              # Windows Service host
│   │   └── AutopilotMonitor.Agent.Core/         # Core monitoring logic
│   ├── Backend/                        # Azure Functions
│   │   └── AutopilotMonitor.Functions/
│   ├── Shared/                         # Shared models/contracts
│   │   └── AutopilotMonitor.Shared/
│   └── Web/                            # Frontend
│       └── autopilot-monitor-web/
├── scripts/
│   ├── Bootstrap/                      # Intune deployment scripts
│   └── Deployment/                     # Azure deployment scripts
├── rules/                              # YAML rule definitions
└── docs/                               # Documentation

Phase 1 Goals (Current)

  • Project structure setup
  • Bootstrap PowerShell script
  • Basic .NET agent with log tailing
  • Azure Functions ingestion API
  • Session registration and event storage
  • Minimal web UI (session list, timeline)

Getting Started

Prerequisites

  • .NET Framework 4.8 SDK (for Agent)
  • .NET 8 SDK (for Azure Functions)
  • Node.js 18+ (for Web UI)
  • Azure subscription
  • Visual Studio 2022 or VS Code

Development Setup

  1. Clone and restore packages

    git clone <your-repo>
    cd Autopilot-Monitor
    dotnet restore
    
  2. Set up local Azure Functions

    cd src/Backend/AutopilotMonitor.Functions
    cp local.settings.json.template local.settings.json
    # Edit local.settings.json with your Azure Storage connection string
    
  3. Set up web frontend

    cd src/Web/autopilot-monitor-web
    npm install
    cp .env.local.template .env.local
    # Edit .env.local with your API endpoint
    
  4. Build the agent

    cd src/Agent/AutopilotMonitor.Agent
    dotnet build
    

Running Locally

  1. Start Azure Functions (in one terminal)

    cd src/Backend/AutopilotMonitor.Functions
    func start
    
  2. Start Web UI (in another terminal)

    cd src/Web/autopilot-monitor-web
    npm run dev
    
  3. Test agent (as Administrator)

    cd src/Agent/AutopilotMonitor.Agent/bin/Debug
    .\AutopilotMonitor.Agent.exe --console
    

Documentation

Contributing

We welcome community contributions! See CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details

Roadmap

Phase 1: Foundation (Current)

  • Bootstrap and basic agent
  • Simple ingestion pipeline
  • Minimal UI

Phase 2: Intelligence

  • Rule engine
  • Diagnosis panel
  • Troubleshooting bundles

Phase 3: Polish

  • Fleet dashboard
  • User-facing portal
  • Multi-tenant support

Phase 4: Advanced

  • Pre-provisioning support
  • Custom rule authoring
  • Integration APIs
S
Description
Windows Autopilot & Intune enrollment monitoring: live session timelines, fleet health, diagnostics, and an MCP server for AI-assisted troubleshooting.
Readme AGPL-3.0 60 MiB
Languages
C# 72.7%
TypeScript 25.7%
PowerShell 1%
JavaScript 0.5%