diff --git a/Cargo.bazel.lock b/Cargo.bazel.lock index 3da6fab15b0..f8883b7ce1d 100644 --- a/Cargo.bazel.lock +++ b/Cargo.bazel.lock @@ -811,6 +811,15 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" version = "0.8.5" @@ -1078,13 +1087,13 @@ dependencies = [ "lock_api", "log", "maplit", - "nix 0.28.0", + "nix 0.27.1", "oci-spec", "once_cell", - "opentelemetry", + "opentelemetry 0.22.0", "opentelemetry-otlp", - "opentelemetry-proto", - "opentelemetry_sdk", + "opentelemetry-proto 0.6.0", + "opentelemetry_sdk 0.22.1", "ouroboros", "p256", "p384", @@ -2439,6 +2448,21 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "opentelemetry" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" +dependencies = [ + "futures-core", + "futures-sink", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", + "urlencoding", +] + [[package]] name = "opentelemetry" version = "0.23.0" @@ -2455,48 +2479,67 @@ dependencies = [ [[package]] name = "opentelemetry-otlp" -version = "0.16.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a94c69209c05319cdf7460c6d4c055ed102be242a0a6245835d7bc42c6ec7f54" +checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" dependencies = [ "async-trait", "futures-core", "http 0.2.12", - "opentelemetry", - "opentelemetry-proto", - "opentelemetry_sdk", + "opentelemetry 0.22.0", + "opentelemetry-proto 0.5.0", + "opentelemetry-semantic-conventions", + "opentelemetry_sdk 0.22.1", "prost", "thiserror", "tokio", "tonic", ] +[[package]] +name = "opentelemetry-proto" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4" +dependencies = [ + "opentelemetry 0.22.0", + "opentelemetry_sdk 0.22.1", + "prost", + "tonic", +] + [[package]] name = "opentelemetry-proto" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "984806e6cf27f2b49282e2a05e288f30594f3dbc74eb7a6e99422bc48ed78162" dependencies = [ - "opentelemetry", - "opentelemetry_sdk", + "opentelemetry 0.23.0", + "opentelemetry_sdk 0.23.0", "prost", "tonic", ] +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" + [[package]] name = "opentelemetry_sdk" -version = "0.23.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae312d58eaa90a82d2e627fd86e075cf5230b3f11794e2ed74199ebbe572d4fd" +checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" dependencies = [ "async-trait", + "crossbeam-channel", "futures-channel", "futures-executor", "futures-util", "glob", - "lazy_static", "once_cell", - "opentelemetry", + "opentelemetry 0.22.0", "ordered-float", "percent-encoding", "rand", @@ -2506,6 +2549,25 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "opentelemetry_sdk" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae312d58eaa90a82d2e627fd86e075cf5230b3f11794e2ed74199ebbe572d4fd" +dependencies = [ + "async-trait", + "futures-channel", + "futures-executor", + "futures-util", + "glob", + "lazy_static", + "once_cell", + "opentelemetry 0.23.0", + "ordered-float", + "serde_json", + "thiserror", +] + [[package]] name = "ordered-float" version = "4.2.0" @@ -4161,6 +4223,12 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf8parse" version = "0.2.1" diff --git a/WORKSPACE b/WORKSPACE index e851e18f146..c85e6699b30 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -318,6 +318,12 @@ load("//bazel/rust:defs.bzl", "setup_rust_dependencies") setup_rust_dependencies() +new_local_repository( + name = "systemd", + build_file = "systemd.BUILD", + path = "/", +) + load("//bazel/crates:repositories.bzl", "create_oak_crate_repositories") create_oak_crate_repositories() diff --git a/bazel/crates/oak_crates_index.bzl b/bazel/crates/oak_crates_index.bzl index d055a3e03bf..99eafbd54eb 100644 --- a/bazel/crates/oak_crates_index.bzl +++ b/bazel/crates/oak_crates_index.bzl @@ -208,11 +208,12 @@ def oak_crates_index(cargo_lockfile, lockfile): "maplit": crate.spec(version = "*"), "nix": crate.spec( features = ["user", "process", "signal"], - version = "*", + version = "0.27.1", ), "oci-spec": crate.spec(version = "*"), "once_cell": crate.spec(version = "*"), - "opentelemetry": crate.spec(version = "*"), + # TODO b/350061567 - Remove opentelemetry version pins + "opentelemetry": crate.spec(version = "0.22.0"), "opentelemetry-proto": crate.spec( features = [ "gen-tonic", @@ -222,15 +223,16 @@ def oak_crates_index(cargo_lockfile, lockfile): version = "*", ), "opentelemetry-otlp": crate.spec( - features = ["metrics"], - version = "*", + features = ["grpc-tonic", "logs", "metrics"], + version = "0.15.0", ), "opentelemetry_sdk": crate.spec( features = [ + "logs", "metrics", "rt-tokio", ], - version = "*", + version = "0.22.1", ), "ouroboros": crate.spec(version = "*"), "portpicker": crate.spec(version = "*"), diff --git a/cargo-bazel-lock.json b/cargo-bazel-lock.json index 3bb4803ccfd..7503b19c3ee 100644 --- a/cargo-bazel-lock.json +++ b/cargo-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "82efbe4d131316915fa54849664163a3b8278f8c5ce46c4e71f731e1de79964c", + "checksum": "c4be2749e541c67a98fce81c31388468fc37a4113e0abc002e9ba5f8d661f680", "crates": { "acpi 5.0.0": { "name": "acpi", @@ -4976,6 +4976,61 @@ ], "license_file": "LICENSE-APACHE" }, + "crossbeam-channel 0.5.13": { + "name": "crossbeam-channel", + "version": "0.5.13", + "package_url": "https://github.com/crossbeam-rs/crossbeam", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/crossbeam-channel/0.5.13/download", + "sha256": "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "crossbeam_channel", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "crossbeam_channel", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "crossbeam-utils 0.8.20", + "target": "crossbeam_utils" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.13" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "crossbeam-deque 0.8.5": { "name": "crossbeam-deque", "version": "0.8.5", @@ -6502,7 +6557,7 @@ "target": "maplit" }, { - "id": "nix 0.28.0", + "id": "nix 0.27.1", "target": "nix" }, { @@ -6514,11 +6569,11 @@ "target": "once_cell" }, { - "id": "opentelemetry 0.23.0", + "id": "opentelemetry 0.22.0", "target": "opentelemetry" }, { - "id": "opentelemetry-otlp 0.16.0", + "id": "opentelemetry-otlp 0.15.0", "target": "opentelemetry_otlp" }, { @@ -6526,7 +6581,7 @@ "target": "opentelemetry_proto" }, { - "id": "opentelemetry_sdk 0.23.0", + "id": "opentelemetry_sdk 0.22.1", "target": "opentelemetry_sdk" }, { @@ -13781,12 +13836,14 @@ "crate_features": { "common": [ "default", + "feature", "fs", "mount", "process", "sched", "signal", - "uio" + "uio", + "user" ], "selects": {} }, @@ -13860,13 +13917,9 @@ "crate_features": { "common": [ "default", - "feature", "ioctl", "memoffset", - "process", - "signal", - "socket", - "user" + "socket" ], "selects": {} }, @@ -14760,6 +14813,90 @@ ], "license_file": "LICENSE-APACHE" }, + "opentelemetry 0.22.0": { + "name": "opentelemetry", + "version": "0.22.0", + "package_url": "https://github.com/open-telemetry/opentelemetry-rust", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/opentelemetry/0.22.0/download", + "sha256": "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" + } + }, + "targets": [ + { + "Library": { + "crate_name": "opentelemetry", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "opentelemetry", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "logs", + "metrics", + "pin-project-lite", + "trace" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "futures-core 0.3.30", + "target": "futures_core" + }, + { + "id": "futures-sink 0.3.30", + "target": "futures_sink" + }, + { + "id": "once_cell 1.19.0", + "target": "once_cell" + }, + { + "id": "pin-project-lite 0.2.14", + "target": "pin_project_lite" + }, + { + "id": "thiserror 1.0.60", + "target": "thiserror" + }, + { + "id": "urlencoding 2.1.3", + "target": "urlencoding" + } + ], + "selects": { + "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": [ + { + "id": "js-sys 0.3.69", + "target": "js_sys" + } + ] + } + }, + "edition": "2021", + "version": "0.22.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, "opentelemetry 0.23.0": { "name": "opentelemetry", "version": "0.23.0", @@ -14840,14 +14977,14 @@ ], "license_file": "LICENSE" }, - "opentelemetry-otlp 0.16.0": { + "opentelemetry-otlp 0.15.0": { "name": "opentelemetry-otlp", - "version": "0.16.0", + "version": "0.15.0", "package_url": "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp", "repository": { "Http": { - "url": "https://static.crates.io/crates/opentelemetry-otlp/0.16.0/download", - "sha256": "a94c69209c05319cdf7460c6d4c055ed102be242a0a6245835d7bc42c6ec7f54" + "url": "https://static.crates.io/crates/opentelemetry-otlp/0.15.0/download", + "sha256": "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" } }, "targets": [ @@ -14874,6 +15011,7 @@ "default", "grpc-tonic", "http", + "logs", "metrics", "prost", "tokio", @@ -14893,15 +15031,19 @@ "target": "http" }, { - "id": "opentelemetry 0.23.0", + "id": "opentelemetry 0.22.0", "target": "opentelemetry" }, { - "id": "opentelemetry-proto 0.6.0", + "id": "opentelemetry-proto 0.5.0", "target": "opentelemetry_proto" }, { - "id": "opentelemetry_sdk 0.23.0", + "id": "opentelemetry-semantic-conventions 0.14.0", + "target": "opentelemetry_semantic_conventions" + }, + { + "id": "opentelemetry_sdk 0.22.1", "target": "opentelemetry_sdk" }, { @@ -14933,7 +15075,78 @@ ], "selects": {} }, - "version": "0.16.0" + "version": "0.15.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, + "opentelemetry-proto 0.5.0": { + "name": "opentelemetry-proto", + "version": "0.5.0", + "package_url": "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-proto", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/opentelemetry-proto/0.5.0/download", + "sha256": "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4" + } + }, + "targets": [ + { + "Library": { + "crate_name": "opentelemetry_proto", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "opentelemetry_proto", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "gen-tonic", + "gen-tonic-messages", + "logs", + "metrics", + "prost", + "tonic", + "trace" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "opentelemetry 0.22.0", + "target": "opentelemetry" + }, + { + "id": "opentelemetry_sdk 0.22.1", + "target": "opentelemetry_sdk" + }, + { + "id": "prost 0.12.4", + "target": "prost" + }, + { + "id": "tonic 0.11.0", + "target": "tonic" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.0" }, "license": "Apache-2.0", "license_ids": [ @@ -14978,8 +15191,7 @@ "logs", "metrics", "prost", - "tonic", - "trace" + "tonic" ], "selects": {} }, @@ -15013,14 +15225,52 @@ ], "license_file": "LICENSE" }, - "opentelemetry_sdk 0.23.0": { + "opentelemetry-semantic-conventions 0.14.0": { + "name": "opentelemetry-semantic-conventions", + "version": "0.14.0", + "package_url": "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/opentelemetry-semantic-conventions/0.14.0/download", + "sha256": "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" + } + }, + "targets": [ + { + "Library": { + "crate_name": "opentelemetry_semantic_conventions", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "opentelemetry_semantic_conventions", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.14.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, + "opentelemetry_sdk 0.22.1": { "name": "opentelemetry_sdk", - "version": "0.23.0", + "version": "0.22.1", "package_url": "https://github.com/open-telemetry/opentelemetry-rust", "repository": { "Http": { - "url": "https://static.crates.io/crates/opentelemetry_sdk/0.23.0/download", - "sha256": "ae312d58eaa90a82d2e627fd86e075cf5230b3f11794e2ed74199ebbe572d4fd" + "url": "https://static.crates.io/crates/opentelemetry_sdk/0.22.1/download", + "sha256": "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" } }, "targets": [ @@ -15045,6 +15295,7 @@ "crate_features": { "common": [ "async-trait", + "crossbeam-channel", "default", "glob", "logs", @@ -15061,6 +15312,10 @@ }, "deps": { "common": [ + { + "id": "crossbeam-channel 0.5.13", + "target": "crossbeam_channel" + }, { "id": "futures-channel 0.3.30", "target": "futures_channel" @@ -15077,16 +15332,12 @@ "id": "glob 0.3.1", "target": "glob" }, - { - "id": "lazy_static 1.4.0", - "target": "lazy_static" - }, { "id": "once_cell 1.19.0", "target": "once_cell" }, { - "id": "opentelemetry 0.23.0", + "id": "opentelemetry 0.22.0", "target": "opentelemetry" }, { @@ -15130,6 +15381,108 @@ ], "selects": {} }, + "version": "0.22.1" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, + "opentelemetry_sdk 0.23.0": { + "name": "opentelemetry_sdk", + "version": "0.23.0", + "package_url": "https://github.com/open-telemetry/opentelemetry-rust", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/opentelemetry_sdk/0.23.0/download", + "sha256": "ae312d58eaa90a82d2e627fd86e075cf5230b3f11794e2ed74199ebbe572d4fd" + } + }, + "targets": [ + { + "Library": { + "crate_name": "opentelemetry_sdk", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "opentelemetry_sdk", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "async-trait", + "glob", + "logs", + "metrics", + "serde_json" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "futures-channel 0.3.30", + "target": "futures_channel" + }, + { + "id": "futures-executor 0.3.30", + "target": "futures_executor" + }, + { + "id": "futures-util 0.3.30", + "target": "futures_util" + }, + { + "id": "glob 0.3.1", + "target": "glob" + }, + { + "id": "lazy_static 1.4.0", + "target": "lazy_static" + }, + { + "id": "once_cell 1.19.0", + "target": "once_cell" + }, + { + "id": "opentelemetry 0.23.0", + "target": "opentelemetry" + }, + { + "id": "ordered-float 4.2.0", + "target": "ordered_float" + }, + { + "id": "serde_json 1.0.115", + "target": "serde_json" + }, + { + "id": "thiserror 1.0.60", + "target": "thiserror" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.79", + "target": "async_trait" + } + ], + "selects": {} + }, "version": "0.23.0" }, "license": "Apache-2.0", @@ -25331,6 +25684,44 @@ ], "license_file": "LICENSE-MIT" }, + "urlencoding 2.1.3": { + "name": "urlencoding", + "version": "2.1.3", + "package_url": "https://github.com/kornelski/rust_urlencoding", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/urlencoding/2.1.3/download", + "sha256": "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + } + }, + "targets": [ + { + "Library": { + "crate_name": "urlencoding", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "urlencoding", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "2.1.3" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, "utf8parse 0.2.1": { "name": "utf8parse", "version": "0.2.1", @@ -30980,13 +31371,13 @@ "lock_api 0.4.11", "log 0.4.21", "maplit 1.0.2", - "nix 0.28.0", + "nix 0.27.1", "oci-spec 0.6.5", "once_cell 1.19.0", - "opentelemetry 0.23.0", - "opentelemetry-otlp 0.16.0", + "opentelemetry 0.22.0", + "opentelemetry-otlp 0.15.0", "opentelemetry-proto 0.6.0", - "opentelemetry_sdk 0.23.0", + "opentelemetry_sdk 0.22.1", "ouroboros 0.18.4", "p256 0.13.2", "p384 0.13.0", diff --git a/oak_containers_syslogd/BUILD b/oak_containers_syslogd/BUILD new file mode 100644 index 00000000000..c6c01529fc8 --- /dev/null +++ b/oak_containers_syslogd/BUILD @@ -0,0 +1,72 @@ +# +# Copyright 2024 The Project Oak Authors +# +# 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("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_binary") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], +) + +rust_binary( + name = "oak_containers_syslogd", + srcs = glob(["src/**"]), + crate_features = ["bazel"], + # TODO: b/335717840 - Fix systemd linker issue and remove this tag. + tags = ["noci"], + deps = [ + ":build", + "//oak_containers_orchestrator:lib", + "@oak_crates_index//:anyhow", + "@oak_crates_index//:bitflags", + "@oak_crates_index//:clap", + "@oak_crates_index//:nix", + "@oak_crates_index//:opentelemetry", + "@oak_crates_index//:opentelemetry-otlp", + "@oak_crates_index//:opentelemetry_sdk", + "@oak_crates_index//:signal-hook", + "@oak_crates_index//:signal-hook-tokio", + "@oak_crates_index//:tokio", + "@oak_crates_index//:tokio-stream", + "@systemd", + ], +) + +cargo_build_script( + name = "build", + srcs = [ + "build.rs", + ], + build_script_env = { + "PROTOC": "$(execpath @com_google_protobuf//:protoc)", + "DESCRIPTOR_PROTO_PATH": "$(location @com_google_protobuf//:descriptor_proto_srcs)", + }, + crate_features = ["bazel"], + data = [ + "//proto/containers:interfaces_proto", + "//proto/crypto:crypto_proto", + "//proto/session:messages_proto", + "@com_google_protobuf//:descriptor_proto_srcs", + "@com_google_protobuf//:protoc", + "@com_google_protobuf//:well_known_type_protos", + ], + deps = [ + "//oak_grpc_utils", + "//oak_proto_build_utils", + "@oak_crates_index//:prost-build", + ], +) diff --git a/oak_containers_syslogd/build.rs b/oak_containers_syslogd/build.rs index b8ebd93a7e7..74ff7ff516a 100644 --- a/oak_containers_syslogd/build.rs +++ b/oak_containers_syslogd/build.rs @@ -17,6 +17,11 @@ use oak_grpc_utils::{generate_grpc_code, CodegenOptions}; fn main() -> Result<(), Box> { + #[cfg(not(feature = "bazel"))] + let included_protos = vec![std::path::PathBuf::from("..")]; + #[cfg(feature = "bazel")] + let included_protos = oak_proto_build_utils::get_common_proto_path(); + // Generate gRPC code for connecting to the launcher. generate_grpc_code( &[ @@ -24,7 +29,7 @@ fn main() -> Result<(), Box> { "../proto/crypto/crypto.proto", "../proto/session/messages.proto", ], - &[".."], + &included_protos, CodegenOptions::default(), )?; diff --git a/systemd.BUILD b/systemd.BUILD new file mode 100644 index 00000000000..1f2e3749bd0 --- /dev/null +++ b/systemd.BUILD @@ -0,0 +1,7 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +cc_import( + name = "systemd", + shared_library = "lib/x86_64-linux-gnu/libsystemd.so.0", + visibility = ["//visibility:public"], +)