glazier

module
v0.0.0-...-41887a9 Latest Latest
Warning

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

Go to latest
Published: May 9, 2024 License: Apache-2.0

README

Glazier

Support Action(s) Contributing Open Issues License
Google Groups - Glazier Python Tests Go Tests Contributing Open Issues License

Gla·zier /ˈɡlāZHər/ noun: a person who installs windows.

Glazier is a tool developed at Google for automating Windows operating system deployments.

How it works
  • Boots a system into the Windows Preinstallation Environment (WinPE)
  • Reaches out to a web server for instructions over HTTPS
  • Applies a base operating system
  • Installs applications and configurations to said operating system

Want to dive right in? See our docs site for how you can get started with Glazier.

Why Glazier?

Glazier was created with the following three core principles in mind:

1. Text-Based & Code-Driven

With Glazier, imaging is configured entirely via YAML files. This allows engineers to leverage source control systems to maintain and develop their imaging platform. By keeping imaging configs in source control, we gain peer review, change history, rollback/forward, and all the other benefits normally reserved for writing code.

Reuse and templating allows for config sharing across multiple image types.

Configs can be consumed by unit tests, build simulators, and other helper infrastructure to build a robust, automated imaging pipeline.

Source controlled text makes it easy to integrate configs across multiple branches, making it easy to QA new changes before releasing them to the general population.

2. Scalability

Glazier distributes all data over HTTPS, which means you can use as simple or as advanced of a distribution platform as you need. Run it from a simple free web server or a large cloud-based CDN. HTTPS is a requirement.

Proxies make it easy to accelerate image deployment to remote sites.

3. Extensibility

Glazier makes it simple to extend the installer by writing a bit of Python or PowerShell code. See creating new actions under docs to get started.

Glazier's Actions are the core of the system's configuration language. Glazier ships with some existing actions, but for more custom functionality, you can also create your own.

Getting started

See our setup docs to learn about how you can get started with Glazier in your own environment.

Contact

We'd love to hear from you! If you have any questions or suggestions regarding the documentation below, please make a post in our public discussion list at glazier-discuss@googlegroups.com.

If you have any general questions for the Windows Team at Google that wrote Glazier, please make a post in our public discussion list at google-winops@googlegroups.com.

Disclaimer

Glazier is maintained by a small team at Google. Support for this repo is treated as best effort, and issues will be responded to as engineering time permits.

This is not an official Google product.

Directories

Path Synopsis
go
bitlocker
Package bitlocker provides functionality for managing Bitlocker.
Package bitlocker provides functionality for managing Bitlocker.
device
Package device supports querying information about the local device.
Package device supports querying information about the local device.
dism
Package dism provides an interface to the Deployment Image Servicing and Management (DISM).
Package dism provides an interface to the Deployment Image Servicing and Management (DISM).
eventlog
Package eventlog provides an interface to the Windows Event Log.
Package eventlog provides an interface to the Windows Event Log.
googet
Package googet provides googet interoperability.
Package googet provides googet interoperability.
helpers
Package helpers provides miscellaneous helper functionality to other diagnose_me packages.
Package helpers provides miscellaneous helper functionality to other diagnose_me packages.
identity
Package identity provides helpers for managing host identity.
Package identity provides helpers for managing host identity.
os
osquery
Package osquery provides helpers for managing osquery.
Package osquery provides helpers for managing osquery.
slic
Package slic provides helpers for interacting with the oa3tool binary.
Package slic provides helpers for interacting with the oa3tool binary.
stages
Package stages allows interacting with Glazier build stages.
Package stages allows interacting with Glazier build stages.
storage
Package storage provides storage management functionality.
Package storage provides storage management functionality.
tasks
Package tasks provides helpers for managing scheduled tasks.
Package tasks provides helpers for managing scheduled tasks.
timers
Package timers stores points in time to be used for metrics.
Package timers stores points in time to be used for metrics.

Jump to

Keyboard shortcuts

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