Compare commits

...

4 Commits

3 changed files with 28 additions and 14 deletions

View File

@ -1,22 +1,24 @@
# Use unstable for the moment, since this requires rustc >= 1.61 # Use unstable for the moment, since this requires rustc >= 1.61
FROM docker.io/library/debian:unstable-slim FROM docker.io/library/debian:unstable-slim as build
ARG BUILD_ARGS
ENV BUILD_ARGS=${BUILD_ARGS:---release}
RUN apt-get update RUN apt-get update
RUN apt-get install -y pkg-config build-essential RUN apt-get install -y pkg-config build-essential
RUN apt-get install -y cargo RUN apt-get install -y cargo
RUN apt-get install -y libssl-dev RUN apt-get install -y libssl-dev
RUN mkdir -p /src RUN mkdir -p /src
RUN mkdir -p /var/lib/haunter
RUN mkdir -p /etc/haunter
WORKDIR /src WORKDIR /src
COPY ./src ./src COPY ./src ./src
COPY ./Cargo.toml ./ COPY ./Cargo.toml ./
COPY ./Cargo.lock ./ COPY ./Cargo.lock ./
RUN cargo build --release RUN cargo build ${BUILD_ARGS}
RUN cp target/release/haunter /usr/local/bin/haunter
FROM docker.io/library/debian:unstable-slim as main
RUN apt-get update
RUN apt-get install -y libssl3
RUN mkdir -p /var/lib/haunter
RUN mkdir -p /etc/haunter
WORKDIR /var/lib/haunter WORKDIR /var/lib/haunter
RUN rm -rf /src COPY --from=build /src/target/release/haunter /usr/local/bin/haunter
# Other cleanup
# RUN apt-get purge cargo -y
# RUN apt-get autoremove --purge -y
# RUN apt-get clean
CMD /usr/local/bin/haunter CMD /usr/local/bin/haunter

View File

@ -20,7 +20,7 @@ services:
build: build:
context: context:
./ ./
image: localhost/haunter image: registry.burntworld.ca/v/haunter:latest
environment: environment:
- "HAUNTER_DRIVER_URL=${HAUNTER_DRIVER_URL:-http://driver:4444}" - "HAUNTER_DRIVER_URL=${HAUNTER_DRIVER_URL:-http://driver:4444}"
depends_on: depends_on:

View File

@ -17,10 +17,22 @@ impl Conf {
Err(_) => "http://localhost:4444".to_string(), Err(_) => "http://localhost:4444".to_string(),
Ok(v) => v, Ok(v) => v,
}; };
let default_job_dir = match std::env::var("HAUNTER_JOBS_DIR") {
Err(_) => PathBuf::from("jobs.d".to_string()),
Ok(v) => PathBuf::from(v),
};
let default_results_dir = match std::env::var("HAUNTER_RESULTS_DIR") {
Err(_) => PathBuf::from("results.d".to_string()),
Ok(v) => PathBuf::from(v),
};
let default_interval = match std::env::var("HAUNTER_DEFAULT_INTERVAL") {
Err(_) => Duration::new(15*60, 0),
Ok(v) => Duration::new(v.parse::<u64>().unwrap(), 0),
};
return Conf { return Conf {
job_dir: PathBuf::from_str("jobs.d").unwrap(), job_dir: default_job_dir,
output_dir: PathBuf::from_str("results.d").unwrap(), output_dir: default_results_dir,
check_interval: Duration::new(15*60, 0), check_interval: default_interval,
driver_url: default_driver_url, driver_url: default_driver_url,
}; };
} }