Feature: gdch
Description
A platform feature that builds a Garden Linux image for Google Distributed Cloud Hosted (GDCH). Artifacts are delivered as .raw files packaged in a .gcpimage.tar.gz tarball.
What it does
Configures Garden Linux for GDCH deployment, which uses a Google Cloud-like environment hosted on-premises or in a private data center:
- Time synchronization: uses
chrony(instead ofsystemd-timesyncd, which is excluded) for time synchronization in the GDCH environment. - Timezone: sets the default timezone to UTC.
- Cloud-init: provides GDCH-specific cloud-init system configuration.
- SSH: appends the Google OS Login
AuthorizedKeysCommanddirectives tosshd_config. - Kernel command line: sets GDCH-specific kernel boot parameters and console settings.
- Image conversion:
convert.gcpimage.tar.gzproduces a tarball in the GCP image import format.
Files
Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.
| File | Purpose |
|---|---|
convert.gcpimage.tar.gz (ref) | Packages the .raw artifact into a disk.raw-named tarball for GDCH image import. |
exec.config (ref) | Sets timezone to UTC and appends Google OS Login SSH directives to sshd_config. |
file.include.markers.yaml (ref) | Maps files to test-coverage marker IDs. |
info.yaml (ref) | Declares type: platform and included/excluded features. |
pkg.exclude (ref) | Prevents installation of irqbalance and systemd-timesyncd (replaced by chrony). |
pkg.include (ref) | Installs chrony, cloud-init, nvme-cli, and python3-cffi-backend. |
file.include/etc/cloud/cloud.cfg.d/91-gdch-system.cfg (file.include) | GDCH-specific cloud-init system configuration, including datasource and module settings. |
file.include/etc/kernel/cmdline.d/00-cmdline.cfg (file.include) | Sets GDCH-specific kernel boot parameters. |
file.include/etc/kernel/cmdline.d/10-console.cfg (file.include) | Sets the kernel console parameter for the GDCH serial console. |
Related features
Includes:
cloud— provides common cloud-init integration and base cloud configuration shared across cloud platforms.