diff --git a/crates/krata/build.rs b/crates/krata/build.rs index cce5496..f7f99d4 100644 --- a/crates/krata/build.rs +++ b/crates/krata/build.rs @@ -4,11 +4,15 @@ fn main() -> Result<()> { let mut config = prost_build::Config::new(); prost_reflect_build::Builder::new() .descriptor_pool("crate::DESCRIPTOR_POOL") - .configure(&mut config, &["proto/krata/control.proto"], &["proto/"])?; + .configure( + &mut config, + &["../../proto/krata/v1/control.proto"], + &["../../proto/"], + )?; tonic_build::configure().compile_with_config( config, - &["proto/krata/control.proto"], - &["proto/"], + &["../../proto/krata/v1/control.proto"], + &["../../proto/"], )?; Ok(()) } diff --git a/crates/krata/src/common.rs b/crates/krata/src/common.rs deleted file mode 100644 index 403d037..0000000 --- a/crates/krata/src/common.rs +++ /dev/null @@ -1 +0,0 @@ -tonic::include_proto!("krata.common"); diff --git a/crates/krata/src/control.rs b/crates/krata/src/control.rs deleted file mode 100644 index 5576d5c..0000000 --- a/crates/krata/src/control.rs +++ /dev/null @@ -1 +0,0 @@ -tonic::include_proto!("krata.control"); diff --git a/crates/krata/src/lib.rs b/crates/krata/src/lib.rs index d8545a3..75c578e 100644 --- a/crates/krata/src/lib.rs +++ b/crates/krata/src/lib.rs @@ -1,10 +1,9 @@ use once_cell::sync::Lazy; use prost_reflect::DescriptorPool; -pub mod common; -pub mod control; pub mod dial; pub mod launchcfg; +pub mod v1; #[cfg(target_os = "linux")] pub mod ethtool; diff --git a/crates/krata/src/v1/common.rs b/crates/krata/src/v1/common.rs new file mode 100644 index 0000000..3a9944f --- /dev/null +++ b/crates/krata/src/v1/common.rs @@ -0,0 +1 @@ +tonic::include_proto!("krata.v1.common"); diff --git a/crates/krata/src/v1/control.rs b/crates/krata/src/v1/control.rs new file mode 100644 index 0000000..bfe405a --- /dev/null +++ b/crates/krata/src/v1/control.rs @@ -0,0 +1 @@ +tonic::include_proto!("krata.v1.control"); diff --git a/crates/krata/src/v1/mod.rs b/crates/krata/src/v1/mod.rs new file mode 100644 index 0000000..36cc545 --- /dev/null +++ b/crates/krata/src/v1/mod.rs @@ -0,0 +1,2 @@ +pub mod common; +pub mod control; diff --git a/crates/kratactl/src/cli/attach.rs b/crates/kratactl/src/cli/attach.rs index def05e7..f82eb93 100644 --- a/crates/kratactl/src/cli/attach.rs +++ b/crates/kratactl/src/cli/attach.rs @@ -1,6 +1,6 @@ use anyhow::Result; use clap::Parser; -use krata::control::control_service_client::ControlServiceClient; +use krata::v1::control::control_service_client::ControlServiceClient; use tokio::select; use tonic::transport::Channel; diff --git a/crates/kratactl/src/cli/destroy.rs b/crates/kratactl/src/cli/destroy.rs index c04b347..f86a992 100644 --- a/crates/kratactl/src/cli/destroy.rs +++ b/crates/kratactl/src/cli/destroy.rs @@ -1,6 +1,6 @@ use anyhow::Result; use clap::Parser; -use krata::{ +use krata::v1::{ common::GuestStatus, control::{ control_service_client::ControlServiceClient, watch_events_reply::Event, diff --git a/crates/kratactl/src/cli/launch.rs b/crates/kratactl/src/cli/launch.rs index 46a9f7c..547e162 100644 --- a/crates/kratactl/src/cli/launch.rs +++ b/crates/kratactl/src/cli/launch.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use anyhow::Result; use clap::Parser; -use krata::{ +use krata::v1::{ common::{ guest_image_spec::Image, GuestEnvVar, GuestImageSpec, GuestOciImageSpec, GuestSpec, GuestStatus, diff --git a/crates/kratactl/src/cli/list.rs b/crates/kratactl/src/cli/list.rs index 8526191..09083db 100644 --- a/crates/kratactl/src/cli/list.rs +++ b/crates/kratactl/src/cli/list.rs @@ -1,7 +1,7 @@ use anyhow::{anyhow, Result}; use clap::{Parser, ValueEnum}; use cli_tables::Table; -use krata::{ +use krata::v1::{ common::{guest_image_spec::Image, Guest}, control::{ control_service_client::ControlServiceClient, ListGuestsRequest, ResolveGuestRequest, diff --git a/crates/kratactl/src/cli/mod.rs b/crates/kratactl/src/cli/mod.rs index 22ba98f..38ea970 100644 --- a/crates/kratactl/src/cli/mod.rs +++ b/crates/kratactl/src/cli/mod.rs @@ -7,7 +7,7 @@ pub mod watch; use anyhow::{anyhow, Result}; use clap::{Parser, Subcommand}; -use krata::control::{ +use krata::v1::control::{ control_service_client::ControlServiceClient, ResolveGuestRequest, WatchEventsRequest, }; use tonic::{transport::Channel, Request}; diff --git a/crates/kratactl/src/cli/resolve.rs b/crates/kratactl/src/cli/resolve.rs index f39d8f8..05f3b2e 100644 --- a/crates/kratactl/src/cli/resolve.rs +++ b/crates/kratactl/src/cli/resolve.rs @@ -1,6 +1,6 @@ use anyhow::Result; use clap::Parser; -use krata::control::{control_service_client::ControlServiceClient, ResolveGuestRequest}; +use krata::v1::control::{control_service_client::ControlServiceClient, ResolveGuestRequest}; use tonic::{transport::Channel, Request}; diff --git a/crates/kratactl/src/cli/watch.rs b/crates/kratactl/src/cli/watch.rs index e5029bd..0ec9fe7 100644 --- a/crates/kratactl/src/cli/watch.rs +++ b/crates/kratactl/src/cli/watch.rs @@ -1,6 +1,6 @@ use anyhow::Result; use clap::{Parser, ValueEnum}; -use krata::{common::Guest, control::watch_events_reply::Event}; +use krata::v1::{common::Guest, control::watch_events_reply::Event}; use prost_reflect::ReflectMessage; use serde_json::Value; diff --git a/crates/kratactl/src/client.rs b/crates/kratactl/src/client.rs index 82c4705..7a0171f 100644 --- a/crates/kratactl/src/client.rs +++ b/crates/kratactl/src/client.rs @@ -1,7 +1,7 @@ #[cfg(not(unix))] use anyhow::anyhow; use anyhow::Result; -use krata::{control::control_service_client::ControlServiceClient, dial::ControlDialAddress}; +use krata::{dial::ControlDialAddress, v1::control::control_service_client::ControlServiceClient}; #[cfg(unix)] use tokio::net::UnixStream; #[cfg(unix)] diff --git a/crates/kratactl/src/console.rs b/crates/kratactl/src/console.rs index 802782b..149e6b8 100644 --- a/crates/kratactl/src/console.rs +++ b/crates/kratactl/src/console.rs @@ -4,7 +4,7 @@ use crossterm::{ terminal::{disable_raw_mode, enable_raw_mode, is_raw_mode_enabled}, tty::IsTty, }; -use krata::{ +use krata::v1::{ common::GuestStatus, control::{watch_events_reply::Event, ConsoleDataReply, ConsoleDataRequest}, }; diff --git a/crates/kratactl/src/events.rs b/crates/kratactl/src/events.rs index ef8e291..af20e99 100644 --- a/crates/kratactl/src/events.rs +++ b/crates/kratactl/src/events.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use anyhow::Result; -use krata::control::{watch_events_reply::Event, WatchEventsReply}; +use krata::v1::control::{watch_events_reply::Event, WatchEventsReply}; use log::trace; use tokio::{sync::broadcast, task::JoinHandle}; use tokio_stream::StreamExt; diff --git a/crates/kratactl/src/format.rs b/crates/kratactl/src/format.rs index eeb087e..738239a 100644 --- a/crates/kratactl/src/format.rs +++ b/crates/kratactl/src/format.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use anyhow::Result; -use krata::common::{GuestState, GuestStatus}; +use krata::v1::common::{GuestState, GuestStatus}; use prost_reflect::{DynamicMessage, ReflectMessage, Value}; pub fn proto2dynamic(proto: impl ReflectMessage) -> Result { diff --git a/crates/kratad/build.rs b/crates/kratad/build.rs index e21abcb..2f86234 100644 --- a/crates/kratad/build.rs +++ b/crates/kratad/build.rs @@ -2,7 +2,7 @@ use std::io::Result; fn main() -> Result<()> { prost_build::Config::new() - .extern_path(".krata.common", "::krata::common") - .compile_protos(&["proto/kratad/db.proto"], &["proto/", "../krata/proto"])?; + .extern_path(".krata.v1.common", "::krata::v1::common") + .compile_protos(&["proto/kratad/db.proto"], &["proto/", "../../proto"])?; Ok(()) } diff --git a/crates/kratad/proto/kratad/db.proto b/crates/kratad/proto/kratad/db.proto index b47f6c7..b8c415c 100644 --- a/crates/kratad/proto/kratad/db.proto +++ b/crates/kratad/proto/kratad/db.proto @@ -2,9 +2,9 @@ syntax = "proto3"; package kratad.db; -import "krata/common.proto"; +import "krata/v1/common.proto"; message GuestEntry { string id = 1; - krata.common.Guest guest = 2; + krata.v1.common.Guest guest = 2; } diff --git a/crates/kratad/src/control.rs b/crates/kratad/src/control.rs index 62739ca..91cfb73 100644 --- a/crates/kratad/src/control.rs +++ b/crates/kratad/src/control.rs @@ -2,7 +2,7 @@ use std::{io, pin::Pin, str::FromStr}; use async_stream::try_stream; use futures::Stream; -use krata::{ +use krata::v1::{ common::{Guest, GuestState, GuestStatus}, control::{ control_service_server::ControlService, ConsoleDataReply, ConsoleDataRequest, diff --git a/crates/kratad/src/event.rs b/crates/kratad/src/event.rs index 3243620..877b627 100644 --- a/crates/kratad/src/event.rs +++ b/crates/kratad/src/event.rs @@ -5,7 +5,7 @@ use std::{ }; use anyhow::Result; -use krata::common::{GuestExitInfo, GuestState, GuestStatus}; +use krata::v1::common::{GuestExitInfo, GuestState, GuestStatus}; use log::error; use tokio::{ select, @@ -22,7 +22,7 @@ use kratart::Runtime; use crate::db::GuestStore; -pub type DaemonEvent = krata::control::watch_events_reply::Event; +pub type DaemonEvent = krata::v1::control::watch_events_reply::Event; const EVENT_CHANNEL_QUEUE_LEN: usize = 1000; const EXIT_CODE_CHANNEL_QUEUE_LEN: usize = 1000; diff --git a/crates/kratad/src/lib.rs b/crates/kratad/src/lib.rs index 719bcb7..56ff2b5 100644 --- a/crates/kratad/src/lib.rs +++ b/crates/kratad/src/lib.rs @@ -4,7 +4,7 @@ use anyhow::Result; use control::RuntimeControlService; use db::GuestStore; use event::{DaemonEventContext, DaemonEventGenerator}; -use krata::{control::control_service_server::ControlServiceServer, dial::ControlDialAddress}; +use krata::{dial::ControlDialAddress, v1::control::control_service_server::ControlServiceServer}; use kratart::Runtime; use log::info; use reconcile::guest::GuestReconciler; diff --git a/crates/kratad/src/reconcile/guest.rs b/crates/kratad/src/reconcile/guest.rs index 3f4d5f4..d381688 100644 --- a/crates/kratad/src/reconcile/guest.rs +++ b/crates/kratad/src/reconcile/guest.rs @@ -1,7 +1,7 @@ use std::{collections::HashMap, time::Duration}; use anyhow::{anyhow, Result}; -use krata::{ +use krata::v1::{ common::{ guest_image_spec::Image, Guest, GuestErrorInfo, GuestExitInfo, GuestNetworkState, GuestState, GuestStatus, diff --git a/crates/krata/proto/krata/common.proto b/proto/krata/v1/common.proto similarity index 93% rename from crates/krata/proto/krata/common.proto rename to proto/krata/v1/common.proto index a402d0a..4c99569 100644 --- a/crates/krata/proto/krata/common.proto +++ b/proto/krata/v1/common.proto @@ -1,9 +1,9 @@ syntax = "proto3"; -package krata.common; +package krata.v1.common; option java_multiple_files = true; -option java_package = "dev.krata.proto.common"; +option java_package = "dev.krata.proto.v1.common"; option java_outer_classname = "CommonProto"; message Guest { diff --git a/crates/krata/proto/krata/control.proto b/proto/krata/v1/control.proto similarity index 81% rename from crates/krata/proto/krata/control.proto rename to proto/krata/v1/control.proto index a369421..0b84323 100644 --- a/crates/krata/proto/krata/control.proto +++ b/proto/krata/v1/control.proto @@ -1,12 +1,12 @@ syntax = "proto3"; -package krata.control; +package krata.v1.control; option java_multiple_files = true; -option java_package = "dev.krata.proto.control"; +option java_package = "dev.krata.proto.v1.control"; option java_outer_classname = "ControlProto"; -import "krata/common.proto"; +import "krata/v1/common.proto"; service ControlService { rpc CreateGuest(CreateGuestRequest) returns (CreateGuestReply); @@ -18,7 +18,7 @@ service ControlService { } message CreateGuestRequest { - krata.common.GuestSpec spec = 1; + krata.v1.common.GuestSpec spec = 1; } message CreateGuestReply { @@ -36,13 +36,13 @@ message ResolveGuestRequest { } message ResolveGuestReply { - krata.common.Guest guest = 1; + krata.v1.common.Guest guest = 1; } message ListGuestsRequest {} message ListGuestsReply { - repeated krata.common.Guest guests = 1; + repeated krata.v1.common.Guest guests = 1; } message ConsoleDataRequest { @@ -63,5 +63,5 @@ message WatchEventsReply { } message GuestChangedEvent { - krata.common.Guest guest = 1; + krata.v1.common.Guest guest = 1; }