intuneme

command module
v0.23.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2026 License: MIT Imports: 7 Imported by: 0

README

intuneme

CI OpenSSF Scorecard

intuneme runs Microsoft Intune in a systemd-nspawn container, for people who must enroll an immutable Linux host in their company's Intune. The container does the enrollment, the compliance checks and the corporate sign-in, and the host stays almost unchanged.

Status: pre-release. Releases are 0.x, so read the release notes before you upgrade.

Documentation: frostyard.github.io/intuneme

What it does

  • Container lifecycle. init, start, stop, destroy and recreate manage the container; recreate keeps the enrollment. Quick start
  • Single sign-on on the host. The broker proxy gives Edge, VS Code and other MSAL apps on the host the container's sign-in. Broker proxy
  • Notifications and screen sharing. The notify and screencast proxies show the container's Edge notifications on the host and let Teams share host screens. Notifications, Screen sharing
  • MCP servers in the tenant. intuneme mcp runs a host MCP server inside the container, wired to host stdio, so it signs in to the container's tenant. MCP servers
  • Devices. YubiKeys and webcams pass through with udev hotplug. Device hotplug
  • Desktop integration. A GNOME Quick Settings extension starts and stops the container and opens apps, and desktop shortcuts open Edge and Intune Portal. GNOME extension

Install

go install github.com/frostyard/intuneme@latest
sudo install -m 0755 "$(go env GOPATH)/bin/intuneme" /usr/local/bin/intuneme

Install to a root-owned path, as the second line does: intuneme start refreshes its privileged helpers only from a root-owned binary. Installation lists the .deb and .rpm packages, the AUR packages and the requirements.

Use

intuneme init         # pull the image and provision the container
intuneme start        # boot it
intuneme open portal  # enroll with Intune Portal

The command reference lists every command and flag. Helper security says what the privileged helpers allow.

Problem records

A release build writes 1 record to the local systemd journal when it panics or when 1 of 4 internal errors happens, and it sends nothing over the network. Its structured fields hold the app ID, the version and a stable code, or for a panic the function names of the stack, and never file paths, line numbers or arguments. The original error text or panic value stays in the local journal MESSAGE field only. Problem records lists the codes. To read them:

journalctl --user MESSAGE_ID=8915bdd215c84cbab0c31c05a1a33e7e

Develop

mise install   # the pinned tools
make ci        # what CI runs

Contributing explains each target.

Where to go next

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
busproxy
Package busproxy holds the connection code shared by the host-side proxies that serve names on the container's session bus.
Package busproxy holds the connection code shared by the host-side proxies that serve names on the container's session bus.
busproxy/busproxytest
Package busproxytest runs private dbus-daemons for proxy tests.
Package busproxytest runs private dbus-daemons for proxy tests.
nshelper
Package nshelper implements the privileged helper installed at /usr/local/libexec/intuneme/nsenter-exec.
Package nshelper implements the privileged helper installed at /usr/local/libexec/intuneme/nsenter-exec.
problemrec
Package problemrec records the problems of the intuneme CLI in the local systemd journal, through github.com/frostyard/std/problems (schema frostyard.problem/1 of frostyard/core).
Package problemrec records the problems of the intuneme CLI in the local systemd journal, through github.com/frostyard/std/problems (schema frostyard.problem/1 of frostyard/core).
problemrec/problemrectest
Package problemrectest gives tests a local journal test socket for the problem records of intuneme.
Package problemrectest gives tests a local journal test socket for the problem records of intuneme.
screencast
Package screencast serves the ScreenCast portal on the container's session bus and forwards it to the xdg-desktop-portal on the host session bus, so apps in the container (Edge) can share host screens and windows.
Package screencast serves the ScreenCast portal on the container's session bus and forwards it to the xdg-desktop-portal on the host session bus, so apps in the container (Edge) can share host screens and windows.
Package containerimage exposes static image configuration for upgrade reconciliation.
Package containerimage exposes static image configuration for upgrade reconciliation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL