These are Daisy workflows used by Google to build Public Images for GCE.
The following directories exist (see relevant READMEs for more details):
- bare_metal - derivative workflow to convert RHEL images for bare metal VMs
- debian - workflows to build Debian images
- enterprise_linux - workflows to build Enterprise Linux images
- install_package - derivative workflow to install a package onto an image
- sqlserver - derivative workflow to install MSSQL Server onto Windows images
- windows - workflows to build Windows images
- windows_for_containers - derivative workflows to install Docker EE onto Windows images
The image build workflows below this directory most often produce a GCE Image.
It is a common practice to use a common 'base' workflow which is run in more
specific workflows using Daisy's IncludeWorkflow
directive. Doing so requires
the including workflow to specify all required parameters in the base workflow.
The more specific workflows often exist to codify the necessary parameters for
the base workflow, but don't otherwise alter the method in which it operates.
It is a common practice to use the bootstrap shell script located in the linux_common directory to prepare a VM for using python scripts. This eliminates the need for scripts which have to bootstrap themselves.
It is a common practice to use a pre-prepared 'worker' image, most often the
Debian 12 worker image, which is publicly available in the
compute-image-tools
GCP project. The workflows for building these worker
images are also present in the debian/
directory.