blob: 83b1cd1043d0d57bfd58208ed15324fa7d73d2a5 [file] [log] [blame]
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the License);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an AS IS BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
genrule(
name = "cidata",
srcs = [
"//:src/data/startup.yaml",
"//src/cmd/provisioner",
"//src/cmd/metadata_watcher",
],
outs = ["cidata.img"],
cmd = "\
$(location @dosfstools//:mkfs.fat) -n CIDATA -S 512 -s 8 -C $@ 65536;\
touch meta-data;\
$(location @mtools//:mcopy) -i $@ $(location //:src/data/startup.yaml) ::/user-data;\
$(location @mtools//:mcopy) -i $@ meta-data ::/meta-data;\
$(location @mtools//:mcopy) -i $@ $(location //src/cmd/provisioner:provisioner) ::/provisioner;\
$(location @mtools//:mcopy) -i $@ $(location //src/cmd/metadata_watcher:metadata_watcher) ::/metadata_watcher;",
tools = [
"@dosfstools//:mkfs.fat",
"@mtools//:mcopy",
],
)
go_library(
name = "preloader",
srcs = [
"gcs.go",
"preload.go",
],
embedsrcs = [
":cidata",
],
importpath = "github.com/GoogleCloudPlatform/cos-customizer/src/pkg/preloader",
visibility = ["//visibility:public"],
deps = [
"//src/pkg/config",
"//src/pkg/fs",
"//src/pkg/provisioner",
"//src/pkg/utils",
"@com_google_cloud_go_storage//:storage",
"@org_golang_google_api//iterator",
],
)
go_test(
name = "preloader_test",
srcs = [
"gcs_test.go",
"preload_test.go",
],
embed = [":preloader"],
deps = [
"//src/pkg/config",
"//src/pkg/fakes",
"//src/pkg/fs",
"//src/pkg/provisioner",
"@com_github_google_go_cmp//cmp",
"@com_github_google_go_cmp//cmp/cmpopts",
"@org_golang_google_api//compute/v1:compute",
],
)