shutdown setup rpc server after setup

This commit is contained in:
Aiden McClelland
2021-09-30 18:57:49 -06:00
committed by Aiden McClelland
parent 96b72e541f
commit 8c6fab319a
3 changed files with 15 additions and 15 deletions

View File

@@ -24,20 +24,9 @@ fn status_fn(_: i32) -> StatusCode {
async fn init(cfg_path: Option<&str>) -> Result<(), Error> {
let cfg = RpcContextConfig::load(cfg_path).await?;
embassy::disk::util::mount("LABEL=EMBASSY", "/embassy-os").await?;
if tokio::fs::metadata("/embassy-os/disk.guid").await.is_ok() {
embassy::disk::main::load(
tokio::fs::read_to_string("/embassy-os/disk.guid")
.await?
.trim(),
cfg.zfs_pool_name(),
cfg.datadir(),
DEFAULT_PASSWORD,
)
.await?;
log::info!("Loaded Disk");
} else {
if tokio::fs::metadata("/embassy-os/disk.guid").await.is_err() {
#[cfg(feature = "avahi")]
let mdns = MdnsController::init();
let _mdns = MdnsController::init();
tokio::fs::write(
"/etc/nginx/sites-available/default",
include_str!("../nginx/setup-wizard.conf"),
@@ -76,6 +65,16 @@ async fn init(cfg_path: Option<&str>) -> Result<(), Error> {
.with_kind(embassy::ErrorKind::Network)?;
}
embassy::disk::main::load(
tokio::fs::read_to_string("/embassy-os/disk.guid")
.await?
.trim(),
cfg.zfs_pool_name(),
cfg.datadir(),
DEFAULT_PASSWORD,
)
.await?;
log::info!("Loaded Disk");
let secret_store = cfg.secret_store().await?;
let log_dir = cfg.datadir().join("main").join("logs");
if tokio::fs::metadata(&log_dir).await.is_err() {

View File

@@ -61,7 +61,7 @@ pub struct SetupContextSeed {
pub bind_rpc: SocketAddr,
pub shutdown: Sender<()>,
pub datadir: PathBuf,
pub zfs_pool_name: String,
pub zfs_pool_name: Arc<String>,
}
#[derive(Clone)]
@@ -71,7 +71,7 @@ impl SetupContext {
let cfg = SetupContextConfig::load(path).await?;
let (shutdown, _) = tokio::sync::broadcast::channel(1);
let datadir = cfg.datadir().into_owned();
let zfs_pool_name = cfg.zfs_pool_name().to_owned();
let zfs_pool_name = Arc::new(cfg.zfs_pool_name().to_owned());
Ok(Self(Arc::new(SetupContextSeed {
bind_rpc: cfg.bind_rpc.unwrap_or(([127, 0, 0, 1], 5959).into()),
shutdown,

View File

@@ -84,6 +84,7 @@ pub async fn execute(
tokio::fs::write("/embassy-os/disk.guid", &guid)
.await
.with_ctx(|_| (crate::ErrorKind::Filesystem, "/embassy-os/disk.guid"))?;
ctx.shutdown.send(()).expect("failed to shutdown");
Ok(SetupResult {
tor_address: tor_key.public().get_onion_address().to_string(),