diff --git a/.github/scripts/test_config.sh b/.github/scripts/test_config.sh index 07e50096..180afc03 100755 --- a/.github/scripts/test_config.sh +++ b/.github/scripts/test_config.sh @@ -3,6 +3,7 @@ # Create .env.example file with test variables cat < .env.example SERVER_PUBLIC_DOMAIN=https://example.com +SERVER_HOST=127.0.0.1 SERVER_LOCAL_PORT=3000 STORAGE_DIRPATH=test/storage MONGO_URI=mongodb://localhost:27017/ diff --git a/README.md b/README.md index 947d5c9a..1bd813f6 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,8 @@ You need to create a **`.env`** file in the root directory of the project and ad ```sh SERVER_PUBLIC_DOMAIN="http://localhost:8080" +SERVER_HOST="127.0.0.1" # The host address to bind to (default: 0.0.0.0) +SERVER_LOCAL_PORT="8080" # The port to listen on STORAGE_DIRPATH="./storage" MONGO_DBN="DIDComm_DB" MONGO_URI="mongodb://localhost:27017" diff --git a/mediator-charts/templates/env-configmap.yaml b/mediator-charts/templates/env-configmap.yaml index ca163010..b5dbad5e 100644 --- a/mediator-charts/templates/env-configmap.yaml +++ b/mediator-charts/templates/env-configmap.yaml @@ -2,6 +2,7 @@ apiVersion: v1 data: MONGO_DBN: MediatorDB SERVER_LOCAL_PORT: "8080" + SERVER_HOST: "0.0.0.0" SERVER_PUBLIC_DOMAIN: "https://didcomm-mediator.eudi-adorsys.com" MONGO_INITDB_ROOT_USERNAME: root STORAGE_DIRPATH: /storage diff --git a/mediator-charts/templates/mediator-deployment.yaml b/mediator-charts/templates/mediator-deployment.yaml index 81444085..93138b94 100644 --- a/mediator-charts/templates/mediator-deployment.yaml +++ b/mediator-charts/templates/mediator-deployment.yaml @@ -25,14 +25,17 @@ spec: configMapKeyRef: key: SERVER_LOCAL_PORT name: {{ .Values.mediator.configmap.name }} - + - name: SERVER_HOST + valueFrom: + configMapKeyRef: + key: SERVER_HOST + name: {{ .Values.mediator.configmap.name }} - name: MONGO_DBN valueFrom: configMapKeyRef: key: MONGO_DBN name: {{ .Values.mediator.configmap.name }} - - name: STORAGE_DIRPATH valueFrom: configMapKeyRef: diff --git a/mediator-charts/values.yaml b/mediator-charts/values.yaml index dac8c102..3c64a2ad 100644 --- a/mediator-charts/values.yaml +++ b/mediator-charts/values.yaml @@ -63,8 +63,6 @@ kube-prometheus: ruleSelector: matchLabels: app: mediator - scrapeInterval: 15s - evaluationInterval: 15s secrets: ["alertmanager-mediator-kube-prometheus-alertmanager", "mediator-eks-secret"] service: diff --git a/src/main.rs b/src/main.rs index 8b80f389..7a0f058d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use axum::routing::get; use didcomm_mediator::{app, health, metrics}; use eyre::{Result, WrapErr}; -use std::net::SocketAddr; +use std::net::{Ipv4Addr, SocketAddr}; use tokio::net::TcpListener; #[tokio::main] @@ -13,12 +13,14 @@ async fn main() -> Result<()> { config_tracing(); // Configure server + let host = std::env::var("SERVER_HOST").unwrap_or_else(|_| "0.0.0.0".to_string()); let port = std::env::var("SERVER_LOCAL_PORT").unwrap(); - let port = port.parse().context("failed to parse port")?; - let addr = SocketAddr::from(([0, 0, 0, 0], port)); + let port: u16 = port.parse().context("failed to parse port")?; + let host: Ipv4Addr = host.parse().context("failed to parse host")?; + let addr = SocketAddr::from((host, port)); let listener = TcpListener::bind(addr) .await - .context("failed to parse address")?; + .context("failed to bind address")?; tracing::debug!("listening on {addr}");