Implement functionality for creating an env reader from a VM image

This uses a daisy workflow to boot the image and extract metadata from
the VM.

To avoid the VM needing GCS write access, we send the data back to daisy
by base64 encoding it and outputting it to the serial console. Daisy
forwards those logs to stdout, and cos-customizer can decode the data
from there.

Booting a VM is the only reliable way to identify the version and board
for a particular image, especially considering this needs to work with
GKE preloaded images.

BUG=b/450899734

Change-Id: I9d9982d807c481a0e5b815501a13cf552c271145
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/118202
Tested-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Cloud-Build: GCB Service account <228075978874@cloudbuild.gserviceaccount.com>
Reviewed-by: He Gao <hegao@google.com>
4 files changed
tree: d87b0def40f03b41ddd1a0795f0bdc6f9d71eef6
  1. coverage/
  2. release/
  3. src/
  4. testing/
  5. .gitignore
  6. BUILD.bazel
  7. cloudbuild.yaml
  8. CONTRIBUTING.md
  9. deps.bzl
  10. go.mod
  11. go.sum
  12. LICENSE
  13. postsubmit-cloudbuild.yaml
  14. README.md
  15. run_builds.sh
  16. run_unit_tests.sh
  17. WORKSPACE
README.md

Tools for Container-Optimized OS

This is a repository of various tools developed for Container-Optimized OS. Examples include cos-gpu-installer, cos-toolbox, etc.

See CONTRIBUTING.md for how to contribute.