Skip to content

mozilla-platform-ops/worker-images

Repository files navigation

Worker Images

This repository contains an opinionated way to build virtual machine images via packer by using configuration that is pre-defined in YAML format, executed through github actions, with support for automated integration tests using Pester.

Features

  • Packer variables provided through configuration files
  • Supports Windows 10, Windows 11, and Windows Server
  • Integration with Pester with configuration files
  • Azure Authentication using OpenID Connect
  • Automatically generates software bill of materials for each machine image created

Repository structure

.github/* - Github Action Workflows

bin/WorkerImages - Powershell Module that provides helper functions to start packer with pre-defined variables

config/ - Worker Pool Definition that Packer uses for variables

provisioners/ - Internal directory used for non-cloud worker deployments at Mozilla

scripts/* - OS specific directories that host either shell scripts or a powershell module to support provisioning and configuring windows

tests/win/* - Windows integration tests written for use with Pester

azure.pkr.hcl - Packer HCL template used for building an Azure Managed Image or Azure Managed Image in a Shared Image Gallery

Note

Building an Azure Machine Image with support for Shared Image Gallery requires additional configuration outside of Packer.

Future plans

  • Support non-windows platforms
  • Integrate with other Mozilla Release Engineering repositories
  • Consolidate github action workflow into reusable workflows
  • Create better documentation for local debugging
  • Create better workflow for multiple branches

Acronyms

  • GHA = Github Actions
  • TC = Taskcluster, the CI pipeline to build and release Firefox.
  • Worker Image = A machine image for use with Taskcluster.
  • Ronin Puppet = Git repository that contains puppet code which configures each worker image with specific configuration

About

Code to provision machines images for use in firefox ci

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published