diff --git a/build_image b/build_image index 1dc23e870d..52a8ddd10a 100755 --- a/build_image +++ b/build_image @@ -38,6 +38,8 @@ DEFINE_string group "${DEFAULT_GROUP}" \ "The update group." DEFINE_boolean generate_update "${FLAGS_FALSE}" \ "Generate update payload. (prod only)" +DEFINE_string developer_data "" \ + "Insert a custom cloudinit file into the image." # include upload options . "${BUILD_LIBRARY_DIR}/release_util.sh" || exit 1 @@ -134,6 +136,23 @@ mkdir -p "${BUILD_DIR}" DISK_LAYOUT="${FLAGS_disk_layout:-base}" CONTAINER_LAYOUT="${FLAGS_disk_layout:-container}" +if [[ -n "${FLAGS_developer_data}" ]]; then + if [[ ! -f "${FLAGS_developer_data}" ]]; then + die_notrace "Developer data is not a file: ${FLAGS_developer_data}" + fi + info "Using developer cloudinit data: ${FLAGS_developer_data}" +elif [[ -s /etc/shared_user_passwd.txt ]]; then + FLAGS_developer_data="${BUILD_DIR}/developer_data" + info "Generating developer cloudinit with shared user password." + cat >"${FLAGS_developer_data}" <"${VM_TMP_DIR}/extra" else - # Use OEM cloud-config to setup the core user's password - if [[ -s /etc/shared_user_passwd.txt ]]; then - sudo mkdir -p "${cpio_target}/usr/share/oem" - sudo_clobber "${cpio_target}/usr/share/oem/cloud-config.yml" <"${VM_TMP_DIR}/extra" fi