add an "inert" mode to tfclient which does not link to nebula, allowing builds on platforms where CGo is unsupported
This commit is contained in:
parent
0c09476628
commit
be4dc0d3a2
|
@ -31,7 +31,7 @@ base64-serde = "0.7.0"
|
||||||
dnapi-rs = { version = "0.1", path = "../dnapi-rs" }
|
dnapi-rs = { version = "0.1", path = "../dnapi-rs" }
|
||||||
serde_yaml = "0.9.19"
|
serde_yaml = "0.9.19"
|
||||||
openssl-sys = { version = "0.9.83", features = ["vendored"] }
|
openssl-sys = { version = "0.9.83", features = ["vendored"] }
|
||||||
nebula-ffi = { version = "0.1", path = "../nebula-ffi" }
|
nebula-ffi = { version = "0.1", path = "../nebula-ffi", optional = true }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
serde = { version = "1.0.157", features = ["derive"] }
|
serde = { version = "1.0.157", features = ["derive"] }
|
||||||
|
@ -49,3 +49,6 @@ license-file = "LICENSE.txt"
|
||||||
maintainer-scripts = "debian/"
|
maintainer-scripts = "debian/"
|
||||||
systemd-units = { enable = false, unit-name = "tfclient@" }
|
systemd-units = { enable = false, unit-name = "tfclient@" }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["linked-nebula"]
|
||||||
|
linked-nebula = ["nebula-ffi"]
|
|
@ -18,7 +18,13 @@ pub mod apiworker;
|
||||||
pub mod config;
|
pub mod config;
|
||||||
pub mod daemon;
|
pub mod daemon;
|
||||||
pub mod dirs;
|
pub mod dirs;
|
||||||
|
|
||||||
|
#[cfg(feature = "linked-nebula")]
|
||||||
pub mod nebulaworker;
|
pub mod nebulaworker;
|
||||||
|
#[cfg(not(feature = "linked-nebula"))]
|
||||||
|
#[path = "nebulaworker_inert.rs"]
|
||||||
|
pub mod nebulaworker;
|
||||||
|
|
||||||
pub mod socketclient;
|
pub mod socketclient;
|
||||||
pub mod socketworker;
|
pub mod socketworker;
|
||||||
pub mod timerworker;
|
pub mod timerworker;
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Code to handle the nebula worker
|
||||||
|
// This is an inert version of the nebula worker that does nothing, used when linking to nebula is diabled.
|
||||||
|
// This is useful if you wish to run your own nebula binary, for example on platforms where CGo does not work.
|
||||||
|
|
||||||
|
use crate::config::TFClientConfig;
|
||||||
|
use crate::daemon::ThreadMessageSender;
|
||||||
|
use std::sync::mpsc::Receiver;
|
||||||
|
|
||||||
|
pub enum NebulaWorkerMessage {
|
||||||
|
Shutdown,
|
||||||
|
ConfigUpdated,
|
||||||
|
WakeUp,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn nebulaworker_main(_config: TFClientConfig, _instance: String, _transmitter: ThreadMessageSender, _rx: Receiver<NebulaWorkerMessage>) {}
|
Loading…
Reference in New Issue