From 5430b0b9f13b6e97220bf24d6c169fc6d2c56555 Mon Sep 17 00:00:00 2001 From: Michael Freeman Date: Fri, 21 Feb 2025 16:30:58 -0600 Subject: [PATCH 1/2] updates for release --- Dockerfile-rpm.cloud | 2 +- Dockerfile.rpm.simple | 2 +- README.md | 40 ++++++------ packaging/agent/config/agent.json | 8 ++- packaging/cloud/config/cloud.json | 5 ++ packaging/dusk-checker/config/dusk.json | 13 ++++ packaging/dusk-checker/config/external.json | 5 ++ packaging/poller/config/poller.json | 12 +++- pkg/cloud/server.go | 2 +- scripts/buildAll.sh | 2 +- scripts/buildRpms.sh | 2 +- scripts/deployTesting.sh | 2 +- scripts/setup-deb-agent.sh | 10 ++- scripts/setup-deb-cloud.sh | 67 +++++++++++---------- scripts/setup-deb-dusk-checker.sh | 9 ++- scripts/setup-deb-poller.sh | 29 ++++++--- scripts/setup-deb-snmp-checker.sh | 10 ++- web/package.json | 2 +- 18 files changed, 149 insertions(+), 73 deletions(-) create mode 100644 packaging/dusk-checker/config/dusk.json create mode 100644 packaging/dusk-checker/config/external.json diff --git a/Dockerfile-rpm.cloud b/Dockerfile-rpm.cloud index 3265508..2d6687b 100644 --- a/Dockerfile-rpm.cloud +++ b/Dockerfile-rpm.cloud @@ -55,7 +55,7 @@ COPY packaging/cloud/systemd/serviceradar-cloud.service /root/rpmbuild/SOURCES/s COPY scripts/setup-rpm-*.sh /build/ # Set default version (can be overridden at build time) -ARG VERSION=1.0.18 +ARG VERSION=1.0.19 ARG RELEASE=1 # Build the RPM diff --git a/Dockerfile.rpm.simple b/Dockerfile.rpm.simple index c86ab48..d89ac36 100644 --- a/Dockerfile.rpm.simple +++ b/Dockerfile.rpm.simple @@ -54,7 +54,7 @@ RUN echo "=== Files in BUILD ===" && \ ls -la /root/rpmbuild/SOURCES/config/checkers/ # Set default version (can be overridden at build time) -ARG VERSION=1.0.18 +ARG VERSION=1.0.19 ARG RELEASE=1 # Build the RPM diff --git a/README.md b/README.md index 65834d6..fd02097 100644 --- a/README.md +++ b/README.md @@ -46,31 +46,31 @@ ServiceRadar can be installed via direct downloads from GitHub releases. Install these components on your monitored host: ```bash # Download and install core components -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-agent_1.0.18.deb \ - -O https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-poller_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-agent_1.0.19.deb \ + -O https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-poller_1.0.19.deb -sudo dpkg -i serviceradar-agent_1.0.18.deb serviceradar-poller_1.0.18.deb +sudo dpkg -i serviceradar-agent_1.0.19.deb serviceradar-poller_1.0.19.deb ``` On a separate machine (recommended) or the same host: ```bash # Download and install cloud service -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-cloud_1.0.18.deb -sudo dpkg -i serviceradar-cloud_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-cloud_1.0.19.deb +sudo dpkg -i serviceradar-cloud_1.0.19.deb ``` #### Optional: SNMP Polling Download and install the SNMP checker to collect and visualize metrics: ```bash -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-snmp-checker_1.0.18.deb -sudo dpkg -i serviceradar-snmp-checker_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-snmp-checker_1.0.19.deb +sudo dpkg -i serviceradar-snmp-checker_1.0.19.deb ``` #### Optional: Dusk Node Monitoring If you're running a [Dusk](https://dusk.network/) node and want specialized monitoring: ```bash -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-dusk-checker_1.0.18.deb -sudo dpkg -i serviceradar-dusk-checker_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-dusk-checker_1.0.19.deb +sudo dpkg -i serviceradar-dusk-checker_1.0.19.deb ``` #### Distributed Setup @@ -78,20 +78,20 @@ For larger deployments where components run on different hosts: 1. On monitored hosts: ```bash -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-agent_1.0.18.deb -sudo dpkg -i serviceradar-agent_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-agent_1.0.19.deb +sudo dpkg -i serviceradar-agent_1.0.19.deb ``` 2. On monitoring host: ```bash -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-poller_1.0.18.deb -sudo dpkg -i serviceradar-poller_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-poller_1.0.19.deb +sudo dpkg -i serviceradar-poller_1.0.19.deb ``` 3. On cloud host: ```bash -curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-cloud_1.0.18.deb -sudo dpkg -i serviceradar-cloud_1.0.18.deb +curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-cloud_1.0.19.deb +sudo dpkg -i serviceradar-cloud_1.0.19.deb ``` ## Architecture @@ -198,24 +198,24 @@ cd serviceradar 1. **Agent Installation** (on monitored hosts): ```bash -sudo dpkg -i serviceradar-dusk-checker_1.0.18.deb # For Dusk nodes +sudo dpkg -i serviceradar-dusk-checker_1.0.19.deb # For Dusk nodes # or -sudo dpkg -i serviceradar-agent_1.0.18.deb # For other hosts +sudo dpkg -i serviceradar-agent_1.0.19.deb # For other hosts ``` 2. **Poller Installation** (on any host in your network): ```bash -sudo dpkg -i serviceradar-poller_1.0.18.deb +sudo dpkg -i serviceradar-poller_1.0.19.deb ``` 3. **Cloud Installation** (on a reliable host): ```bash -sudo dpkg -i serviceradar-cloud_1.0.18.deb +sudo dpkg -i serviceradar-cloud_1.0.19.deb ``` 4. **SNMP Poller** (Optional): ```bash -sudo dpkg -i serviceradar-snmp-checker_1.0.18.deb +sudo dpkg -i serviceradar-snmp-checker_1.0.19.deb ``` ## Configuration diff --git a/packaging/agent/config/agent.json b/packaging/agent/config/agent.json index c82ec97..5b25a88 100644 --- a/packaging/agent/config/agent.json +++ b/packaging/agent/config/agent.json @@ -2,5 +2,11 @@ "checkers_dir": "/etc/serviceradar/checkers", "listen_addr": ":50051", "service_type": "grpc", - "service_name": "AgentService" + "service_name": "AgentService", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "server_name": "changeme", + "role": "agent" + } } diff --git a/packaging/cloud/config/cloud.json b/packaging/cloud/config/cloud.json index 20cbe42..977c1b9 100644 --- a/packaging/cloud/config/cloud.json +++ b/packaging/cloud/config/cloud.json @@ -8,6 +8,11 @@ "retention": 100, "max_nodes": 10000 }, + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "role": "cloud" + }, "webhooks": [ { "enabled": false, diff --git a/packaging/dusk-checker/config/dusk.json b/packaging/dusk-checker/config/dusk.json new file mode 100644 index 0000000..c0c5130 --- /dev/null +++ b/packaging/dusk-checker/config/dusk.json @@ -0,0 +1,13 @@ +{ + "name": "dusk", + "type": "grpc", + "node_address": "localhost:8080", + "address": "localhost:50052", + "listen_addr": ":50052", + "timeout": "5m", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "role": "checker" + } +} diff --git a/packaging/dusk-checker/config/external.json b/packaging/dusk-checker/config/external.json new file mode 100644 index 0000000..f048761 --- /dev/null +++ b/packaging/dusk-checker/config/external.json @@ -0,0 +1,5 @@ +{ + "name": "dusk", + "type": "grpc", + "address": "localhost:50052" +} diff --git a/packaging/poller/config/poller.json b/packaging/poller/config/poller.json index 1359e64..fd7ba8e 100644 --- a/packaging/poller/config/poller.json +++ b/packaging/poller/config/poller.json @@ -2,6 +2,10 @@ "agents": { "local-agent": { "address": "127.0.0.1:50051", + "security": { + "server_name": "changeme", + "mode": "none" + }, "checks": [ { "service_type": "process", @@ -36,5 +40,11 @@ "poll_interval": "30s", "poller_id": "dusk", "service_name": "PollerService", - "service_type": "grpc" + "service_type": "grpc", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "server_name": "changeme", + "role": "poller" + } } diff --git a/pkg/cloud/server.go b/pkg/cloud/server.go index 67343d0..446d28b 100644 --- a/pkg/cloud/server.go +++ b/pkg/cloud/server.go @@ -264,7 +264,7 @@ func (s *Server) sendStartupNotification(ctx context.Context) error { Timestamp: time.Now().UTC().Format(time.RFC3339), NodeID: "cloud", Details: map[string]any{ - "version": "1.0.18", + "version": "1.0.19", "hostname": getHostname(), }, } diff --git a/scripts/buildAll.sh b/scripts/buildAll.sh index 6d5a107..48c3931 100755 --- a/scripts/buildAll.sh +++ b/scripts/buildAll.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} ./scripts/setup-deb-poller.sh diff --git a/scripts/buildRpms.sh b/scripts/buildRpms.sh index 1dd026f..34ca583 100755 --- a/scripts/buildRpms.sh +++ b/scripts/buildRpms.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -export VERSION=${VERSION:-1.0.18} +export VERSION=${VERSION:-1.0.19} export RELEASE=${RELEASE:-1} # Create directories if they don't exist diff --git a/scripts/deployTesting.sh b/scripts/deployTesting.sh index aec30cb..4f90922 100755 --- a/scripts/deployTesting.sh +++ b/scripts/deployTesting.sh @@ -1,7 +1,7 @@ #!/bin/bash # Define the version of the packages -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} # Define the list of remote machines MACHINES=("192.168.2.10" "192.168.2.11" "192.168.2.12" "192.168.2.68") diff --git a/scripts/setup-deb-agent.sh b/scripts/setup-deb-agent.sh index 5dc7829..6ca3f8d 100755 --- a/scripts/setup-deb-agent.sh +++ b/scripts/setup-deb-agent.sh @@ -2,7 +2,7 @@ # setup-deb-agent.sh set -e # Exit on any error -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} echo "Building serviceradar-agent version ${VERSION}" echo "Setting up package structure..." @@ -64,7 +64,13 @@ cat > "${PKG_ROOT}/etc/serviceradar/agent.json" << EOF "checkers_dir": "/etc/serviceradar/checkers", "listen_addr": ":50051", "service_type": "grpc", - "service_name": "AgentService" + "service_name": "AgentService", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "server_name": "changeme", + "role": "agent" + } } EOF diff --git a/scripts/setup-deb-cloud.sh b/scripts/setup-deb-cloud.sh index 8ecdeca..457c167 100755 --- a/scripts/setup-deb-cloud.sh +++ b/scripts/setup-deb-cloud.sh @@ -4,7 +4,7 @@ set -e # Exit on any error echo "Setting up package structure..." -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} # Create package directory structure PKG_ROOT="serviceradar-cloud_${VERSION}" @@ -77,36 +77,41 @@ EOF if [ ! -f "/etc/serviceradar/cloud.json" ]; then # Create default config file cat > "${PKG_ROOT}/etc/serviceradar/cloud.json" << EOF -{ - "listen_addr": ":8090", - "grpc_addr": ":50052", - "alert_threshold": "5m", - "known_pollers": ["home-poller-1"], - "metrics": { - "enabled": true, - "retention": 100, - "max_nodes": 10000 - }, - "webhooks": [ - { - "enabled": false, - "url": "https://your-webhook-url", - "cooldown": "15m", - "headers": [ - { - "key": "Authorization", - "value": "Bearer your-token" - } - ] - }, - { - "enabled": true, - "url": "https://discord.com/api/webhooks/changeme", - "cooldown": "15m", - "template": "{\"embeds\":[{\"title\":\"{{.alert.Title}}\",\"description\":\"{{.alert.Message}}\",\"color\":{{if eq .alert.Level \"error\"}}15158332{{else if eq .alert.Level \"warning\"}}16776960{{else}}3447003{{end}},\"timestamp\":\"{{.alert.Timestamp}}\",\"fields\":[{\"name\":\"Node ID\",\"value\":\"{{.alert.NodeID}}\",\"inline\":true}{{range $key, $value := .alert.Details}},{\"name\":\"{{$key}}\",\"value\":\"{{$value}}\",\"inline\":true}{{end}}]}]}" - } - ] -} + { + "listen_addr": ":8090", + "grpc_addr": ":50052", + "alert_threshold": "5m", + "known_pollers": ["home-poller-1"], + "metrics": { + "enabled": true, + "retention": 100, + "max_nodes": 10000 + }, + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "role": "cloud" + }, + "webhooks": [ + { + "enabled": false, + "url": "https://your-webhook-url", + "cooldown": "15m", + "headers": [ + { + "key": "Authorization", + "value": "Bearer your-token" + } + ] + }, + { + "enabled": true, + "url": "https://discord.com/api/webhooks/changeme", + "cooldown": "15m", + "template": "{\"embeds\":[{\"title\":\"{{.alert.Title}}\",\"description\":\"{{.alert.Message}}\",\"color\":{{if eq .alert.Level \"error\"}}15158332{{else if eq .alert.Level \"warning\"}}16776960{{else}}3447003{{end}},\"timestamp\":\"{{.alert.Timestamp}}\",\"fields\":[{\"name\":\"Node ID\",\"value\":\"{{.alert.NodeID}}\",\"inline\":true}{{range $key, $value := .alert.Details}},{\"name\":\"{{$key}}\",\"value\":\"{{$value}}\",\"inline\":true}{{end}}]}]}" + } + ] + } EOF fi diff --git a/scripts/setup-deb-dusk-checker.sh b/scripts/setup-deb-dusk-checker.sh index 2eefa62..1d2b620 100755 --- a/scripts/setup-deb-dusk-checker.sh +++ b/scripts/setup-deb-dusk-checker.sh @@ -4,7 +4,7 @@ set -e # Exit on any error echo "Setting up package structure..." -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} # Create package directory structure PKG_ROOT="serviceradar-dusk-checker_${VERSION}" @@ -67,7 +67,12 @@ cat > "${PKG_ROOT}/etc/serviceradar/checkers/dusk.json" << EOF "node_address": "localhost:8080", "address": "localhost:50052", "listen_addr": ":50052", - "timeout": "5m" + "timeout": "5m", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "role": "checker" + } } EOF diff --git a/scripts/setup-deb-poller.sh b/scripts/setup-deb-poller.sh index 99fe974..50fbd67 100755 --- a/scripts/setup-deb-poller.sh +++ b/scripts/setup-deb-poller.sh @@ -4,7 +4,7 @@ set -e # Exit on any error echo "Setting up package structure..." -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} # Create package directory structure PKG_ROOT="serviceradar-poller_${VERSION}" @@ -64,7 +64,11 @@ cat > "${PKG_ROOT}/etc/serviceradar/poller.json" << EOF { "agents": { "local-agent": { - "address": "127.0.0.1:50051", + "address": "localhost:50051", + "security": { + "server_name": "changeme", + "mode": "none" + }, "checks": [ { "service_type": "process", @@ -79,12 +83,17 @@ cat > "${PKG_ROOT}/etc/serviceradar/poller.json" << EOF { "service_type": "grpc", "service_name": "dusk", - "details": "127.0.0.1:50052" + "details": "192.168.2.22:50052" }, - { + { + "service_type": "snmp", + "service_name": "snmp", + "details": "192.168.2.22:50054" + }, + { "service_type": "icmp", "service_name": "ping", - "details": "8.8.8.8" + "details": "8.8.8.8" }, { "service_type": "sweep", @@ -94,12 +103,18 @@ cat > "${PKG_ROOT}/etc/serviceradar/poller.json" << EOF ] } }, - "cloud_address": "changeme:50052", + "cloud_address": "localhost:50052", "listen_addr": ":50053", "poll_interval": "30s", "poller_id": "dusk", "service_name": "PollerService", - "service_type": "grpc" + "service_type": "grpc", + "security": { + "mode": "none", + "cert_dir": "/etc/serviceradar/certs", + "server_name": "changeme", + "role": "poller" + } } EOF diff --git a/scripts/setup-deb-snmp-checker.sh b/scripts/setup-deb-snmp-checker.sh index 3551229..9761ddc 100755 --- a/scripts/setup-deb-snmp-checker.sh +++ b/scripts/setup-deb-snmp-checker.sh @@ -2,7 +2,7 @@ # setup-deb-snmp-checker.sh set -e # Exit on any error -VERSION=${VERSION:-1.0.18} +VERSION=${VERSION:-1.0.19} echo "Building serviceradar-snmp-checker version ${VERSION}" echo "Setting up package structure..." @@ -62,7 +62,13 @@ cat > "${PKG_ROOT}/etc/serviceradar/checkers/snmp.json" << EOF { "node_address": "localhost:50051", "listen_addr": ":50054", - "timeout": "5m", + "security": { + "server_name": "changeme", + "mode": "none", + "role": "checker", + "cert_dir": "/etc/serviceradar/certs" + }, + "timeout": "30s", "targets": [ { "name": "test-router", diff --git a/web/package.json b/web/package.json index 5ab9c40..fe5a09f 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "serviceradar-web", - "version": "1.0.18", + "version": "1.0.19", "private": true, "type": "module", "dependencies": { From 5a09c60c26b1a53f93cb59f93b05a4a620770107 Mon Sep 17 00:00:00 2001 From: Michael Freeman Date: Fri, 21 Feb 2025 16:36:22 -0600 Subject: [PATCH 2/2] bump --- web/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index b86120f..7a2a540 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "serviceradar-web", - "version": "1.0.18", + "version": "1.0.19", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "serviceradar-web", - "version": "1.0.18", + "version": "1.0.19", "dependencies": { "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-slot": "^1.0.2",