Skip to content
@deploymenttheory

Deployment Theory

Open-source Go building blocks for modern endpoint & device management.

Deployment Theory 🚀

Open-source Go building blocks for modern endpoint & device management.

From config-as-code down to raw OS bindings we provide cross-platform tooling for the modern workplace, all in Go.

macOS · Windows · Apple · Jamf Pro · Jamf Protect · Intune / Microsoft 365 · Entra ID

For Our tools are for Workplace / EUC platform teams who want to manage devices the way software teams ship code; versioned, tested and automated.

Our first projects focused on Terraform providers for Jamf Pro & Microsoft 365. Today we're a full-stack Go ecosystem for endpoint management — from the Terraform plan all the way down to the Win32 syscall.


What we build


① Config as Code — Terraform

Where we started: manage your device estate as version-controlled, peer-reviewed, pipeline-deployed code.

Repository What it does Lang
terraform-provider-jamfpro Terraform provider for Jamf Pro — config-as-code for Apple device management across the classic & Jamf Pro APIs Go
terraform-provider-microsoft365 Terraform provider for Microsoft 365 — Intune, Entra ID & Graph (v1.0 + beta) as code Go
terraform-training-jamfpro Hands-on Terraform + GitOps training for workplace engineers HCL
terraform-demo-jamfpro-v2 Reference GitHub Actions + Terraform Cloud pipeline for Jamf Pro HCL
terraform-demo-microsoft365 Reference GitLab-branching + Terraform pipeline for Microsoft 365 HCL
jamftf-python-terraform-importer Import an existing Jamf Pro estate into Terraform state Python

② Go API SDKs

Typed, idiomatic Go clients for the tools that run the modern workplace — the layer the providers and CLIs are built on.

Repository What it does Lang
go-sdk-jamfpro-v2 Next-gen Jamf Pro SDK — full API surface coverage (700+ functions) Go
go-sdk-jamfprotect Go SDK for Jamf Protect with full API surface coverage Go
go-sdk-appleservices Go SDK for Apple enterprise services — ABM, DDM, MDM, notarization & iTunes Go
go-sdk-sofa Go SDK for SOFA — the MacAdmins feed for Apple software updates Go
go-sdk-workbrew Go SDK for Workbrew — Homebrew fleet management Go
go-sdk-nexthink Go SDK for Nexthink digital-experience data Go
go-lib-winget-pkgs Query WinGet package metadata from a local clone — no external API calls Go

Also: go-sdk-brew · go-sdk-chocolatey — package-manager SDKs.

③ Low-level platform bindings

Idiomatic Go, generated from vendor metadata — the whole OS API surface, typed and callable. This provides the foundation for building native windows and macOS application natively in Go. Usually requiring other languages such as C, Swift or .Net.

Repository What it does Lang
go-bindings-win32 Idiomatic Go bindings for the Win32 API — every function, struct, enum & COM interface, generated from Microsoft's win32metadata Go
go-bindings-macosplatform Go ↔ Objective-C / C bridge and bindings for macOS platform frameworks (purego + cgo), with Clang AST metadata Go
go-bindings-winrt Go bindings for the Windows Runtime — toasts, Bluetooth LE, Windows Hello, MDM/provisioning Go
go-bindings-wdk Go bindings for the Windows Driver Kit surface (Windows.Wdk.*), from Microsoft's wdkmetadata Go
go-bindings-wmi Typed Go bindings for WMI / CIM classes from a committed schema snapshot Go
go-winmd The shared metadata parser underpinning the whole Windows bindings family Go

④ Systems & OS-level libraries and tools

A range of system level tools and libraries

Repository What it does Lang
go-sdk-vtpm2 Pure-Go software TPM 2.0 (vTPM) — measured boot, BitLocker sealing & attestation for Windows 11 guests under QEMU Go
go-apfs Go toolkit for handling Apple File System (APFS) volumes on Linux & Windows, targeting CI/CD Go
go-sdk-winmediafoundry Pure-Go toolkit + CLI for acquiring & building Windows install media — no wimlib, DISM, oscdimg or cabextract Go
go-sdk-windowscsp Go SDK for Windows Configuration Service Providers — typed LCRUD from DDF v2, with OMA-DM SyncML Go
go-appdeploymenttoolkit A Go port of the PowerShell App Deployment Toolkit (PSADT) Go

🤝 Community & contributing

Built for the community, by the community. Mac admins, Windows endpoint engineers, and DevOps practitioners all welcome.

  • Slack — find us on the Mac Admins Slack (#terraform-provider-jamfpro)
  • Discussions — GitHub Discussions on each repository
  • Issues & PRs — bug reports, feature requests and contributions welcome across every repo

💡 Principles

  • Everything as Code — if it can be configured, it should be versioned, tested and automated
  • Idiomatic Go — typed, generated from source-of-truth metadata, and pleasant to call
  • Cross-platform — macOS and Windows are first-class, not afterthoughts
  • Community first — open source, transparent, and built in the open

Made with ❤️ by the Deployment Theory team

Pinned Loading

  1. terraform-provider-jamfpro terraform-provider-jamfpro Public

    A community terraform provider for Jamf Pro for configuration as code workflows. It can interface with both classic and jamf pro API's. Built upon the terraform provider sdkV2 and go-api-sdk-jamfpr…

    Go 119 42

  2. go-api-sdk-jamfpro go-api-sdk-jamfpro Public

    A jamf pro api sdk written in go that can perform CRUD operations against both the classic and jamf pro api. Includes an examples and recipes library demonstrating usage

    Go 35 14

  3. terraform-provider-microsoft365 terraform-provider-microsoft365 Public

    A community terraform provider for Microsoft 365 for configuration as code workflows. It can interface with both MS Graph v1.0 & MS Graph beta API's. Built upon the terraform provider framework and…

    Go 55 11

Repositories

Showing 10 of 47 repositories

Top languages

Loading…

Most used topics

Loading…