mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-02 21:00:55 +00:00
krata: move api proto to /proto and version api
This commit is contained in:
parent
cb6839b0f6
commit
655b8029cb
@ -4,11 +4,15 @@ fn main() -> Result<()> {
|
|||||||
let mut config = prost_build::Config::new();
|
let mut config = prost_build::Config::new();
|
||||||
prost_reflect_build::Builder::new()
|
prost_reflect_build::Builder::new()
|
||||||
.descriptor_pool("crate::DESCRIPTOR_POOL")
|
.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(
|
tonic_build::configure().compile_with_config(
|
||||||
config,
|
config,
|
||||||
&["proto/krata/control.proto"],
|
&["../../proto/krata/v1/control.proto"],
|
||||||
&["proto/"],
|
&["../../proto/"],
|
||||||
)?;
|
)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -1 +0,0 @@
|
|||||||
tonic::include_proto!("krata.common");
|
|
@ -1 +0,0 @@
|
|||||||
tonic::include_proto!("krata.control");
|
|
@ -1,10 +1,9 @@
|
|||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use prost_reflect::DescriptorPool;
|
use prost_reflect::DescriptorPool;
|
||||||
|
|
||||||
pub mod common;
|
|
||||||
pub mod control;
|
|
||||||
pub mod dial;
|
pub mod dial;
|
||||||
pub mod launchcfg;
|
pub mod launchcfg;
|
||||||
|
pub mod v1;
|
||||||
|
|
||||||
#[cfg(target_os = "linux")]
|
#[cfg(target_os = "linux")]
|
||||||
pub mod ethtool;
|
pub mod ethtool;
|
||||||
|
1
crates/krata/src/v1/common.rs
Normal file
1
crates/krata/src/v1/common.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
tonic::include_proto!("krata.v1.common");
|
1
crates/krata/src/v1/control.rs
Normal file
1
crates/krata/src/v1/control.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
tonic::include_proto!("krata.v1.control");
|
2
crates/krata/src/v1/mod.rs
Normal file
2
crates/krata/src/v1/mod.rs
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pub mod common;
|
||||||
|
pub mod control;
|
@ -1,6 +1,6 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use krata::control::control_service_client::ControlServiceClient;
|
use krata::v1::control::control_service_client::ControlServiceClient;
|
||||||
|
|
||||||
use tokio::select;
|
use tokio::select;
|
||||||
use tonic::transport::Channel;
|
use tonic::transport::Channel;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::GuestStatus,
|
common::GuestStatus,
|
||||||
control::{
|
control::{
|
||||||
control_service_client::ControlServiceClient, watch_events_reply::Event,
|
control_service_client::ControlServiceClient, watch_events_reply::Event,
|
||||||
|
@ -2,7 +2,7 @@ use std::collections::HashMap;
|
|||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::{
|
common::{
|
||||||
guest_image_spec::Image, GuestEnvVar, GuestImageSpec, GuestOciImageSpec, GuestSpec,
|
guest_image_spec::Image, GuestEnvVar, GuestImageSpec, GuestOciImageSpec, GuestSpec,
|
||||||
GuestStatus,
|
GuestStatus,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use clap::{Parser, ValueEnum};
|
use clap::{Parser, ValueEnum};
|
||||||
use cli_tables::Table;
|
use cli_tables::Table;
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::{guest_image_spec::Image, Guest},
|
common::{guest_image_spec::Image, Guest},
|
||||||
control::{
|
control::{
|
||||||
control_service_client::ControlServiceClient, ListGuestsRequest, ResolveGuestRequest,
|
control_service_client::ControlServiceClient, ListGuestsRequest, ResolveGuestRequest,
|
||||||
|
@ -7,7 +7,7 @@ pub mod watch;
|
|||||||
|
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
use krata::control::{
|
use krata::v1::control::{
|
||||||
control_service_client::ControlServiceClient, ResolveGuestRequest, WatchEventsRequest,
|
control_service_client::ControlServiceClient, ResolveGuestRequest, WatchEventsRequest,
|
||||||
};
|
};
|
||||||
use tonic::{transport::Channel, Request};
|
use tonic::{transport::Channel, Request};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
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};
|
use tonic::{transport::Channel, Request};
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::{Parser, ValueEnum};
|
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 prost_reflect::ReflectMessage;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#[cfg(not(unix))]
|
#[cfg(not(unix))]
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use krata::{control::control_service_client::ControlServiceClient, dial::ControlDialAddress};
|
use krata::{dial::ControlDialAddress, v1::control::control_service_client::ControlServiceClient};
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
use tokio::net::UnixStream;
|
use tokio::net::UnixStream;
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
|
@ -4,7 +4,7 @@ use crossterm::{
|
|||||||
terminal::{disable_raw_mode, enable_raw_mode, is_raw_mode_enabled},
|
terminal::{disable_raw_mode, enable_raw_mode, is_raw_mode_enabled},
|
||||||
tty::IsTty,
|
tty::IsTty,
|
||||||
};
|
};
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::GuestStatus,
|
common::GuestStatus,
|
||||||
control::{watch_events_reply::Event, ConsoleDataReply, ConsoleDataRequest},
|
control::{watch_events_reply::Event, ConsoleDataReply, ConsoleDataRequest},
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use krata::control::{watch_events_reply::Event, WatchEventsReply};
|
use krata::v1::control::{watch_events_reply::Event, WatchEventsReply};
|
||||||
use log::trace;
|
use log::trace;
|
||||||
use tokio::{sync::broadcast, task::JoinHandle};
|
use tokio::{sync::broadcast, task::JoinHandle};
|
||||||
use tokio_stream::StreamExt;
|
use tokio_stream::StreamExt;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use krata::common::{GuestState, GuestStatus};
|
use krata::v1::common::{GuestState, GuestStatus};
|
||||||
use prost_reflect::{DynamicMessage, ReflectMessage, Value};
|
use prost_reflect::{DynamicMessage, ReflectMessage, Value};
|
||||||
|
|
||||||
pub fn proto2dynamic(proto: impl ReflectMessage) -> Result<DynamicMessage> {
|
pub fn proto2dynamic(proto: impl ReflectMessage) -> Result<DynamicMessage> {
|
||||||
|
@ -2,7 +2,7 @@ use std::io::Result;
|
|||||||
|
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
prost_build::Config::new()
|
prost_build::Config::new()
|
||||||
.extern_path(".krata.common", "::krata::common")
|
.extern_path(".krata.v1.common", "::krata::v1::common")
|
||||||
.compile_protos(&["proto/kratad/db.proto"], &["proto/", "../krata/proto"])?;
|
.compile_protos(&["proto/kratad/db.proto"], &["proto/", "../../proto"])?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ syntax = "proto3";
|
|||||||
|
|
||||||
package kratad.db;
|
package kratad.db;
|
||||||
|
|
||||||
import "krata/common.proto";
|
import "krata/v1/common.proto";
|
||||||
|
|
||||||
message GuestEntry {
|
message GuestEntry {
|
||||||
string id = 1;
|
string id = 1;
|
||||||
krata.common.Guest guest = 2;
|
krata.v1.common.Guest guest = 2;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ use std::{io, pin::Pin, str::FromStr};
|
|||||||
|
|
||||||
use async_stream::try_stream;
|
use async_stream::try_stream;
|
||||||
use futures::Stream;
|
use futures::Stream;
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::{Guest, GuestState, GuestStatus},
|
common::{Guest, GuestState, GuestStatus},
|
||||||
control::{
|
control::{
|
||||||
control_service_server::ControlService, ConsoleDataReply, ConsoleDataRequest,
|
control_service_server::ControlService, ConsoleDataReply, ConsoleDataRequest,
|
||||||
|
@ -5,7 +5,7 @@ use std::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use krata::common::{GuestExitInfo, GuestState, GuestStatus};
|
use krata::v1::common::{GuestExitInfo, GuestState, GuestStatus};
|
||||||
use log::error;
|
use log::error;
|
||||||
use tokio::{
|
use tokio::{
|
||||||
select,
|
select,
|
||||||
@ -22,7 +22,7 @@ use kratart::Runtime;
|
|||||||
|
|
||||||
use crate::db::GuestStore;
|
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 EVENT_CHANNEL_QUEUE_LEN: usize = 1000;
|
||||||
const EXIT_CODE_CHANNEL_QUEUE_LEN: usize = 1000;
|
const EXIT_CODE_CHANNEL_QUEUE_LEN: usize = 1000;
|
||||||
|
@ -4,7 +4,7 @@ use anyhow::Result;
|
|||||||
use control::RuntimeControlService;
|
use control::RuntimeControlService;
|
||||||
use db::GuestStore;
|
use db::GuestStore;
|
||||||
use event::{DaemonEventContext, DaemonEventGenerator};
|
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 kratart::Runtime;
|
||||||
use log::info;
|
use log::info;
|
||||||
use reconcile::guest::GuestReconciler;
|
use reconcile::guest::GuestReconciler;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use std::{collections::HashMap, time::Duration};
|
use std::{collections::HashMap, time::Duration};
|
||||||
|
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use krata::{
|
use krata::v1::{
|
||||||
common::{
|
common::{
|
||||||
guest_image_spec::Image, Guest, GuestErrorInfo, GuestExitInfo, GuestNetworkState,
|
guest_image_spec::Image, Guest, GuestErrorInfo, GuestExitInfo, GuestNetworkState,
|
||||||
GuestState, GuestStatus,
|
GuestState, GuestStatus,
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package krata.common;
|
package krata.v1.common;
|
||||||
|
|
||||||
option java_multiple_files = true;
|
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";
|
option java_outer_classname = "CommonProto";
|
||||||
|
|
||||||
message Guest {
|
message Guest {
|
@ -1,12 +1,12 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package krata.control;
|
package krata.v1.control;
|
||||||
|
|
||||||
option java_multiple_files = true;
|
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";
|
option java_outer_classname = "ControlProto";
|
||||||
|
|
||||||
import "krata/common.proto";
|
import "krata/v1/common.proto";
|
||||||
|
|
||||||
service ControlService {
|
service ControlService {
|
||||||
rpc CreateGuest(CreateGuestRequest) returns (CreateGuestReply);
|
rpc CreateGuest(CreateGuestRequest) returns (CreateGuestReply);
|
||||||
@ -18,7 +18,7 @@ service ControlService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message CreateGuestRequest {
|
message CreateGuestRequest {
|
||||||
krata.common.GuestSpec spec = 1;
|
krata.v1.common.GuestSpec spec = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateGuestReply {
|
message CreateGuestReply {
|
||||||
@ -36,13 +36,13 @@ message ResolveGuestRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ResolveGuestReply {
|
message ResolveGuestReply {
|
||||||
krata.common.Guest guest = 1;
|
krata.v1.common.Guest guest = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListGuestsRequest {}
|
message ListGuestsRequest {}
|
||||||
|
|
||||||
message ListGuestsReply {
|
message ListGuestsReply {
|
||||||
repeated krata.common.Guest guests = 1;
|
repeated krata.v1.common.Guest guests = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ConsoleDataRequest {
|
message ConsoleDataRequest {
|
||||||
@ -63,5 +63,5 @@ message WatchEventsReply {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message GuestChangedEvent {
|
message GuestChangedEvent {
|
||||||
krata.common.Guest guest = 1;
|
krata.v1.common.Guest guest = 1;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user