From 28cd4935e8ea0f79f096fd09517351ca1d0e234f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Casta=C3=B1o=20Arteaga?= Date: Wed, 19 Jun 2024 14:06:44 +0200 Subject: [PATCH] Upgrade backend deps and base images (#1521) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sergio CastaƱo Arteaga --- Cargo.lock | 158 ++++++++++++++++++++++---------- Cargo.toml | 24 ++--- clomonitor-apiserver/Dockerfile | 6 +- clomonitor-archiver/Dockerfile | 4 +- clomonitor-linter/Dockerfile | 6 +- clomonitor-notifier/Dockerfile | 4 +- clomonitor-registrar/Dockerfile | 4 +- clomonitor-tracker/Dockerfile | 6 +- database/migrations/Dockerfile | 4 +- 9 files changed, 138 insertions(+), 78 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 470d0298..68ae1d25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,9 +114,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "arrayref" @@ -415,9 +415,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cached" -version = "0.51.3" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd93a9f06ec296ca66b4c26fafa9ed63f32c473d7a708a5f28563ee64c948515" +checksum = "0feb64151eed3da6107fddd2d717a6ca4b9dbd74e43784c55c841d1abfe5a295" dependencies = [ "ahash 0.8.11", "async-trait", @@ -480,9 +480,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" dependencies = [ "clap_builder", "clap_derive", @@ -490,9 +490,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" dependencies = [ "anstream", "anstyle", @@ -502,9 +502,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -598,7 +598,7 @@ dependencies = [ "mockall", "postgres-types", "regex", - "reqwest 0.12.4", + "reqwest 0.12.5", "serde", "serde_json", "serde_yaml", @@ -665,7 +665,7 @@ dependencies = [ "mockito", "openssl", "postgres-openssl", - "reqwest 0.12.4", + "reqwest 0.12.5", "serde", "serde_json", "serde_yaml", @@ -947,10 +947,11 @@ dependencies = [ [[package]] name = "deadpool-postgres" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19be9da496d60d03ec3ab45d960d80a3afb285b787394b83614a79942f467e7f" +checksum = "1ab8a4ea925ce79678034870834602a2980f4b88c09e97feb266496dbb4493d2" dependencies = [ + "async-trait", "deadpool 0.12.1", "getrandom", "serde", @@ -1262,9 +1263,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "git2" -version = "0.18.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" dependencies = [ "bitflags 2.4.2", "libc", @@ -1296,11 +1297,11 @@ dependencies = [ [[package]] name = "globwalk" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" +checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "ignore", "walkdir", ] @@ -1600,9 +1601,26 @@ dependencies = [ "futures-util", "http 0.2.11", "hyper 0.14.28", - "rustls", + "rustls 0.21.11", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.23.10", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", ] [[package]] @@ -1830,9 +1848,9 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libgit2-sys" -version = "0.16.2+1.7.2" +version = "0.17.0+1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" dependencies = [ "cc", "libc", @@ -1955,9 +1973,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.22.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be3cbd384d4e955b231c895ce10685e3d8260c5ccffae898c96c723b0772835" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" dependencies = [ "ahash 0.8.11", "portable-atomic", @@ -1965,9 +1983,9 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d58e362dc7206e9456ddbcdbd53c71ba441020e62104703075a69151e38d85f" +checksum = "26eb45aff37b45cff885538e1dcbd6c2b462c04fe84ce0155ea469f325672c98" dependencies = [ "base64 0.22.1", "http-body-util", @@ -1986,9 +2004,9 @@ dependencies = [ [[package]] name = "metrics-util" -version = "0.16.2" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece71ab046dcf45604e573329966ec1db5ff4b81cfa170a924ff4c959ab5451a" +checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2719,9 +2737,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -2776,7 +2794,7 @@ dependencies = [ "http 0.2.11", "http-body 0.4.6", "hyper 0.14.28", - "hyper-rustls", + "hyper-rustls 0.24.2", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -2787,7 +2805,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls", + "rustls 0.21.11", "rustls-pemfile 1.0.4", "serde", "serde_json", @@ -2796,7 +2814,7 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls", + "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", @@ -2808,9 +2826,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", @@ -2822,6 +2840,7 @@ dependencies = [ "http-body 1.0.0", "http-body-util", "hyper 1.3.1", + "hyper-rustls 0.27.2", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -2836,7 +2855,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.1", "system-configuration", "tokio", "tokio-native-tls", @@ -3068,10 +3087,23 @@ checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" dependencies = [ "log", "ring 0.17.8", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.23.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.102.4", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -3107,6 +3139,17 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "rustls-webpki" +version = "0.102.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -3222,18 +3265,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", @@ -3566,9 +3609,9 @@ dependencies = [ [[package]] name = "tera" -version = "1.19.1" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8" +checksum = "ab9d851b45e865f178319da0abdbfe6acbc4328759ff18dafc3a41c16b4cd2ee" dependencies = [ "globwalk", "lazy_static", @@ -3689,9 +3732,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -3708,9 +3751,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", @@ -3771,7 +3814,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.11", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.10", + "rustls-pki-types", "tokio", ] @@ -4602,6 +4656,12 @@ dependencies = [ "syn 2.0.58", ] +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" diff --git a/Cargo.toml b/Cargo.toml index 12f1460b..1b1e756b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,30 +17,30 @@ edition = "2021" rust-version = "1.65" [workspace.dependencies] -anyhow = "1.0.83" +anyhow = "1.0.86" askalono = "0.4.6" askama = "0.12.1" askama_axum = "0.4.0" async-trait = "0.1.80" axum = { version = "0.7.5", features = ["macros"] } bincode = "1.3.3" -cached = { version = "0.51.3", features = ["async"] } -clap = { version = "4.5.4", features = ["derive"] } +cached = { version = "0.51.4", features = ["async"] } +clap = { version = "4.5.7", features = ["derive"] } clomonitor-core = { path = "../clomonitor-core" } comfy-table = "7.1.1" config = "0.13.4" deadpool = "0.12.1" -deadpool-postgres = { version = "0.13.2", features = ["serde"] } +deadpool-postgres = { version = "0.14.0", features = ["serde"] } futures = "0.3.30" -git2 = "0.18.3" +git2 = "0.19.0" glob = "0.3.1" graphql_client = { version = "0.14.0", features = ["reqwest"] } hex = "0.4.3" http = "1.1.0" hyper = "1.3.1" lazy_static = "1.4.0" -metrics = "0.22.3" -metrics-exporter-prometheus = "0.14.0" +metrics = "0.23.0" +metrics-exporter-prometheus = "0.15.0" mime = "0.3.17" mockall = "0.12.1" mockito = "1.4.0" @@ -49,16 +49,16 @@ openssl = { version = "0.10.64", features = ["vendored"] } postgres-openssl = "0.5.0" postgres-types = { version = "0.2.6", features = ["derive"] } predicates = "3.1.0" -regex = "1.10.4" -reqwest = { version = "0.12.4", features = ["json"] } +regex = "1.10.5" +reqwest = { version = "0.12.5", features = ["json"] } resvg = "0.27.0" -serde = { version = "1.0.202", features = ["derive"] } +serde = { version = "1.0.203", features = ["derive"] } serde_json = "1.0.117" serde_yaml = "0.9.34" serde_qs = "0.13.0" sha2 = "0.10.8" tempfile = "3.10.1" -tera = { version = "1.19.1", default-features = false } +tera = { version = "1.20.0", default-features = false } time = { version = "0.3.36", features = [ "formatting", "macros", @@ -66,7 +66,7 @@ time = { version = "0.3.36", features = [ "serde", ] } tiny-skia = "0.8.4" -tokio = { version = "1.37.0", features = [ +tokio = { version = "1.38.0", features = [ "macros", "process", "rt-multi-thread", diff --git a/clomonitor-apiserver/Dockerfile b/clomonitor-apiserver/Dockerfile index a9c4de3d..e7d1df4f 100644 --- a/clomonitor-apiserver/Dockerfile +++ b/clomonitor-apiserver/Dockerfile @@ -1,5 +1,5 @@ # Build apiserver -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-apiserver RUN cargo build --release # Build frontend -FROM node:18-alpine3.19 AS frontend-builder +FROM node:18-alpine3.20 AS frontend-builder RUN apk --no-cache add git WORKDIR /web COPY web . @@ -32,7 +32,7 @@ WORKDIR /docs/www RUN hugo # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN apk --no-cache add ca-certificates ttf-opensans && addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/clomonitor-archiver/Dockerfile b/clomonitor-archiver/Dockerfile index e3f6706a..8f5011c5 100644 --- a/clomonitor-archiver/Dockerfile +++ b/clomonitor-archiver/Dockerfile @@ -1,5 +1,5 @@ # Build archiver -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-archiver RUN cargo build --release # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN apk --no-cache add ca-certificates git && addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/clomonitor-linter/Dockerfile b/clomonitor-linter/Dockerfile index aa8ff908..77a089b5 100644 --- a/clomonitor-linter/Dockerfile +++ b/clomonitor-linter/Dockerfile @@ -1,5 +1,5 @@ # Build linter -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-linter RUN cargo build --release # Build OpenSSF scorecard -FROM golang:1.22.3-alpine3.19 AS scorecard +FROM golang:1.22.4-alpine3.20 AS scorecard WORKDIR /tmp RUN apk --no-cache add git make bash gcc musl-dev binutils-gold RUN git clone https://github.com/ossf/scorecard @@ -24,7 +24,7 @@ RUN make install RUN make build # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/clomonitor-notifier/Dockerfile b/clomonitor-notifier/Dockerfile index 6a239619..abab4a47 100644 --- a/clomonitor-notifier/Dockerfile +++ b/clomonitor-notifier/Dockerfile @@ -1,5 +1,5 @@ # Build notifier -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-notifier RUN cargo build --release # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN apk --no-cache add ca-certificates git && addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/clomonitor-registrar/Dockerfile b/clomonitor-registrar/Dockerfile index 22716b68..b6492eef 100644 --- a/clomonitor-registrar/Dockerfile +++ b/clomonitor-registrar/Dockerfile @@ -1,5 +1,5 @@ # Build registrar -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-registrar RUN cargo build --release # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN apk --no-cache add ca-certificates git && addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/clomonitor-tracker/Dockerfile b/clomonitor-tracker/Dockerfile index 7af29ea5..6f901d90 100644 --- a/clomonitor-tracker/Dockerfile +++ b/clomonitor-tracker/Dockerfile @@ -1,5 +1,5 @@ # Build tracker -FROM rust:1-alpine3.19 as builder +FROM rust:1-alpine3.20 as builder RUN apk --no-cache add musl-dev perl make WORKDIR /clomonitor COPY Cargo.* ./ @@ -14,7 +14,7 @@ WORKDIR /clomonitor/clomonitor-tracker RUN cargo build --release # Build OpenSSF scorecard -FROM golang:1.22.3-alpine3.19 AS scorecard +FROM golang:1.22.4-alpine3.20 AS scorecard WORKDIR /tmp RUN apk --no-cache add git make bash gcc musl-dev binutils-gold RUN git clone https://github.com/ossf/scorecard @@ -24,7 +24,7 @@ RUN make install RUN make build # Final stage -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN apk --no-cache add ca-certificates git && addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor diff --git a/database/migrations/Dockerfile b/database/migrations/Dockerfile index a77943e4..edafd0cc 100644 --- a/database/migrations/Dockerfile +++ b/database/migrations/Dockerfile @@ -1,10 +1,10 @@ # Build tern -FROM golang:1.22.3-alpine3.19 AS tern +FROM golang:1.22.4-alpine3.20 AS tern RUN apk --no-cache add git RUN go install github.com/jackc/tern@latest # Build final image -FROM alpine:3.19.1 +FROM alpine:3.20.1 RUN addgroup -S clomonitor && adduser -S clomonitor -G clomonitor USER clomonitor WORKDIR /home/clomonitor