Add vault

This commit is contained in:
2024-04-14 13:26:57 +02:00
parent e60a253a12
commit c4ce230bd6
7 changed files with 29 additions and 12 deletions

7
Cargo.lock generated
View File

@@ -346,6 +346,12 @@ dependencies = [
"subtle", "subtle",
] ]
[[package]]
name = "dotenv"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
[[package]] [[package]]
name = "encoding_rs" name = "encoding_rs"
version = "0.8.33" version = "0.8.33"
@@ -883,6 +889,7 @@ dependencies = [
"axum", "axum",
"chrono", "chrono",
"deadpool-postgres", "deadpool-postgres",
"dotenv",
"futures", "futures",
"lazy_static", "lazy_static",
"maplit", "maplit",

View File

@@ -28,3 +28,4 @@ maplit = "1.0.2"
tracing = "0.1.40" tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"]} tracing-subscriber = { version = "0.3.18", features = ["env-filter"]}
tower-http = { version = "0.5.0", features = ["trace"] } tower-http = { version = "0.5.0", features = ["trace"] }
dotenv = "0.15.0"

View File

@@ -15,7 +15,10 @@ RUN apt-get update \
RUN update-ca-certificates RUN update-ca-certificates
COPY ./scripts/*.sh /
RUN chmod +x /*.sh
WORKDIR /app WORKDIR /app
COPY --from=builder /app/target/release/library_updater /usr/local/bin COPY --from=builder /app/target/release/library_updater /usr/local/bin
ENTRYPOINT ["/usr/local/bin/library_updater"] ENTRYPOINT ["/start.sh"]

7
scripts/env.sh Normal file
View File

@@ -0,0 +1,7 @@
#! /usr/bin/env sh
response=`curl -X 'GET' "https://$VAULT_HOST/v1/$VAULT_SECRET_PATH" -s \
-H 'accept: application/json' \
-H "X-Vault-Token: $VAULT_TOKEN"`
echo "$(echo "$response" | jq -r '.data.data | to_entries | map("\(.key)='\''\(.value)'\''") | .[]')"

View File

@@ -1,11 +0,0 @@
import os
import httpx
response = httpx.get(
"http://localhost:8080/healthcheck",
headers={"Authorization": os.environ["API_KEY"]},
)
print(f"HEALTHCHECK STATUS: {response.status_code}")
exit(0 if response.status_code == 200 else 1)

7
scripts/start.sh Normal file
View File

@@ -0,0 +1,7 @@
#! /usr/bin/env sh
cd /app
/env.sh > ./.env
exec /usr/local/bin/library_updater

View File

@@ -7,6 +7,7 @@ pub mod updater;
pub mod utils; pub mod utils;
use axum::{http::HeaderMap, routing::post, Router}; use axum::{http::HeaderMap, routing::post, Router};
use dotenv::dotenv;
use sentry::{integrations::debug_images::DebugImagesIntegration, types::Dsn, ClientOptions}; use sentry::{integrations::debug_images::DebugImagesIntegration, types::Dsn, ClientOptions};
use std::{net::SocketAddr, str::FromStr}; use std::{net::SocketAddr, str::FromStr};
use tower_http::trace::{self, TraceLayer}; use tower_http::trace::{self, TraceLayer};
@@ -54,6 +55,8 @@ async fn start_app() {
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
dotenv().ok();
tracing_subscriber::fmt() tracing_subscriber::fmt()
.with_target(false) .with_target(false)
.compact() .compact()