From 6e85e129932f8ef7fb92af33facede6fbff7b378 Mon Sep 17 00:00:00 2001 From: Suyono Date: Thu, 23 Nov 2023 09:42:17 +1100 Subject: [PATCH] test: config search path (using docker) --- .devcontainer/devcontainer.json | 3 ++- docker/Dockerfile | 9 +++++++++ docker/entry.sh | 0 docker/etc/wingmate/services/one | 3 +++ docker/etc/wingmate/services/three.sh | 3 +++ docker/etc/wingmate/services/two.sh | 3 +++ src/init.rs | 1 + src/init/config.rs | 2 ++ 8 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 docker/Dockerfile create mode 100644 docker/entry.sh create mode 100644 docker/etc/wingmate/services/one create mode 100644 docker/etc/wingmate/services/three.sh create mode 100644 docker/etc/wingmate/services/two.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1bd3c7b..ebb2cc2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,8 @@ "dustypomerleau.rust-syntax", "1YiB.rust-bundle", "serayuzgur.crates", - "tamasfe.even-better-toml" + "tamasfe.even-better-toml", + "ms-azuretools.vscode-docker" ] } } diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..aac27b8 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,9 @@ +FROM ubuntu:22.04 + +ADD target/debug/init /usr/local/bin/init +ADD docker/ / + +RUN chmod ugo+x /etc/wingmate/services/one && chmod ugo+x /etc/wingmate/services/two.sh && \ + chmod ugo-x /etc/wingmate/services/three.sh + +CMD [ "/usr/local/bin/init" ] \ No newline at end of file diff --git a/docker/entry.sh b/docker/entry.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/etc/wingmate/services/one b/docker/etc/wingmate/services/one new file mode 100644 index 0000000..066a33f --- /dev/null +++ b/docker/etc/wingmate/services/one @@ -0,0 +1,3 @@ +#!/bin/bash + +exec sleep 1 \ No newline at end of file diff --git a/docker/etc/wingmate/services/three.sh b/docker/etc/wingmate/services/three.sh new file mode 100644 index 0000000..066a33f --- /dev/null +++ b/docker/etc/wingmate/services/three.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +exec sleep 1 \ No newline at end of file diff --git a/docker/etc/wingmate/services/two.sh b/docker/etc/wingmate/services/two.sh new file mode 100644 index 0000000..066a33f --- /dev/null +++ b/docker/etc/wingmate/services/two.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +exec sleep 1 \ No newline at end of file diff --git a/src/init.rs b/src/init.rs index e87b3ae..984515c 100644 --- a/src/init.rs +++ b/src/init.rs @@ -6,5 +6,6 @@ use std::error as std_err; pub async fn start() -> Result<(), Box> { let _config = config::Config::find(vec![String::from("/etc/wingmate")])?; + dbg!(_config); daemon::start().await } \ No newline at end of file diff --git a/src/init/config.rs b/src/init/config.rs index 31dff45..f432b43 100644 --- a/src/init/config.rs +++ b/src/init/config.rs @@ -4,11 +4,13 @@ use std::error as std_error; use crate::init::error as wingmate_error; use nix::unistd::{access, AccessFlags}; +#[derive(Debug)] pub enum Command { ShellPrefixed(String), Direct(String) } +#[derive(Debug)] pub struct Config { pub services: Vec, }