Skip to content

Commit

Permalink
Implement healthcheck service
Browse files Browse the repository at this point in the history
  • Loading branch information
kamirr committed Sep 30, 2024
1 parent f61bbe3 commit 1d7bd7f
Show file tree
Hide file tree
Showing 14 changed files with 381 additions and 23 deletions.
27 changes: 27 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 19 additions & 17 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ erc20-driver = ['ya-erc20-driver']
static-openssl = ["openssl/vendored", "openssl-probe"]
tos = []
framework-test = [
'ya-exe-unit/framework-test',
'ya-payment/framework-test',
'ya-identity/framework-test',
'ya-exe-unit/framework-test',
'ya-payment/framework-test',
'ya-identity/framework-test',
]
# Temporary to make goth integration tests work
central-net = ['ya-net/central-net']
Expand Down Expand Up @@ -61,13 +61,14 @@ ya-utils-futures.workspace = true
ya-utils-process = { workspace = true, features = ["lock"] }
ya-utils-networking.workspace = true
ya-fd-metrics = { path = "utils/fd-metrics" }
ya-healthcheck = { path = "core/healthcheck" }
ya-version = { path = "core/version" }
ya-vpn.workspace = true
ya-client.workspace = true
ya-client-model.workspace = true
gftp = { workspace = true, optional = true }
# just to enable gftp build for cargo-deb
ya-provider = { path = "agent/provider", optional = true } # just to enable conditionally running some tests
ya-provider = { path = "agent/provider", optional = true } # just to enable conditionally running some tests
ya-exe-unit = { version = "0.4", optional = true, path = "exe-unit" } # just to enable conditionally running some tests

actix-rt.workspace = true
Expand All @@ -80,25 +81,25 @@ directories = "2.0.2"
dotenv = "0.15.0"
futures = "0.3"
lazy_static = "1.4"
libsqlite3-sys = {workspace = true}
libsqlite3-sys = { workspace = true }
log = "0.4"
metrics = "0.12"
mime_guess = { version = "2.0", optional = true }
num_cpus = "1"
openssl-probe = {version = "0.1", optional = true}
openssl-probe = { version = "0.1", optional = true }
openssl.workspace = true
rust-embed = { version = "8.5", optional = true }
serde = "1.0"
serde_json = "1.0"
structopt = "0.3"
tokio = {version = "1", features = ["net"]}
tokio-stream = {version = "0.1.8", features = ["io-util"]}
tokio-util = {version = "0.7", features = ["codec"]}
tokio = { version = "1", features = ["net"] }
tokio-stream = { version = "0.1.8", features = ["io-util"] }
tokio-util = { version = "0.7", features = ["codec"] }
url = "2.1.1"

[dev-dependencies]
erc20_processor = { workspace = true }
ya-test-framework.path= "test-utils/test-framework"
ya-test-framework.path = "test-utils/test-framework"

ya-exe-unit = { version = "0.4", path = "exe-unit" }

Expand Down Expand Up @@ -239,6 +240,7 @@ members = [
"test-utils/test-framework/framework-macro",
"test-utils/test-framework/framework-basic",
"test-utils/test-framework/framework-mocks",
"core/healthcheck",
]

[workspace.dependencies]
Expand All @@ -251,19 +253,19 @@ actix-web = "4"
actix = { version = "0.13", default-features = false }

derive_more = "0.99.11"
erc20_payment_lib = {git = "https://github.com/golemfactory/erc20_payment_lib", rev = "4200567b931af64f4fb1f6b756dd6d051576b64f"}
erc20_processor = {git = "https://github.com/golemfactory/erc20_payment_lib", rev = "4200567b931af64f4fb1f6b756dd6d051576b64f"}
erc20_payment_lib = { git = "https://github.com/golemfactory/erc20_payment_lib", rev = "4200567b931af64f4fb1f6b756dd6d051576b64f" }
erc20_processor = { git = "https://github.com/golemfactory/erc20_payment_lib", rev = "4200567b931af64f4fb1f6b756dd6d051576b64f" }
#erc20_payment_lib = { path = "../../payments/erc20_payment_lib/crates/erc20_payment_lib" }
#erc20_processor = { path = "../../payments/erc20_payment_lib" }
#erc20_payment_lib = { version = "0.4.7" }
#erc20_processor = { version = "0.4.7" }
gftp = {version = "0.4.1", path = "core/gftp"}
gftp = { version = "0.4.1", path = "core/gftp" }
hex = "0.4.3"
libsqlite3-sys = {version = "0.26.0", features = ["bundled"]}
libsqlite3-sys = { version = "0.26.0", features = ["bundled"] }
openssl = "0.10"
rand = "0.8.5"
regex = "1.10.4"
strum = {version = "0.24", features = ["derive"]}
strum = { version = "0.24", features = ["derive"] }
trust-dns-resolver = "0.22"
url = "2.3.1"

Expand Down Expand Up @@ -295,7 +297,7 @@ ya-utils-path.path = "utils/path"
ya-utils-process.path = "utils/process"

ya-identity.path = "core/identity"
ya-market.path="core/market"
ya-market.path = "core/market"
ya-activity.path = "core/activity"
ya-net.path = "core/net"
ya-persistence.path = "core/persistence"
Expand All @@ -306,7 +308,7 @@ ya-vpn.path = "core/vpn"
ya-gsb-api.path = "core/gsb-api"

ya-payment-driver.path = "core/payment-driver/base"
ya-dummy-driver.path= "core/payment-driver/dummy"
ya-dummy-driver.path = "core/payment-driver/dummy"
ya-erc20-driver.path = "core/payment-driver/erc20"

ya-service-api.path = "core/serv-api"
Expand Down
25 changes: 25 additions & 0 deletions core/healthcheck/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
[package]
name = "ya-healthcheck"
version = "0.1.0"
description = "Node health monitoring"
authors = ["Golem Factory <[email protected]>"]
edition = "2021"

[dependencies]
ya-service-api-web.workspace = true
ya-client.workspace = true
ya-core-model = { workspace = true, features = ["version"] }
ya-net = { workspace = true, features = ["service"] }
ya-service-api.workspace = true
ya-service-api-interfaces.workspace = true
ya-service-bus = { workspace = true }

actix-web = "4"
anyhow = "1.0"
chrono = { version = "0.4", features = ["serde"] }
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["time", "sync"] }
problem_details = "0.6.0"
http = "1.1.0"
3 changes: 3 additions & 0 deletions core/healthcheck/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mod service;

pub use service::HealthcheckService;
15 changes: 15 additions & 0 deletions core/healthcheck/src/service.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
use ya_service_api_interfaces::Service;

mod rest;

pub struct HealthcheckService;

impl Service for HealthcheckService {
type Cli = ();
}

impl HealthcheckService {
pub fn rest<C>(_ctx: &C) -> actix_web::Scope {
rest::web_scope()
}
}
Loading

0 comments on commit 1d7bd7f

Please sign in to comment.