Modified curl so that it ignores SSL errors, more for those who self host.

Modified installer to not replace exisitng crontab entries
This commit is contained in:
Muhammad Ibrahim
2025-09-29 17:08:44 +01:00
parent 470948165c
commit b49d225e32
2 changed files with 13 additions and 13 deletions

View File

@@ -144,7 +144,7 @@ EOF
test_credentials() { test_credentials() {
load_credentials load_credentials
local response=$(curl -s -X POST \ local response=$(curl -ksv -X POST \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-H "X-API-ID: $API_ID" \ -H "X-API-ID: $API_ID" \
-H "X-API-KEY: $API_KEY" \ -H "X-API-KEY: $API_KEY" \
@@ -809,7 +809,7 @@ EOF
local payload=$(echo "$base_payload $merged_json" | jq -s '.[0] * .[1]') local payload=$(echo "$base_payload $merged_json" | jq -s '.[0] * .[1]')
local response=$(curl -s -X POST \ local response=$(curl -ksv -X POST \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-H "X-API-ID: $API_ID" \ -H "X-API-ID: $API_ID" \
-H "X-API-KEY: $API_KEY" \ -H "X-API-KEY: $API_KEY" \
@@ -877,7 +877,7 @@ EOF
ping_server() { ping_server() {
load_credentials load_credentials
local response=$(curl -s -X POST \ local response=$(curl -ksv -X POST \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-H "X-API-ID: $API_ID" \ -H "X-API-ID: $API_ID" \
-H "X-API-KEY: $API_KEY" \ -H "X-API-KEY: $API_KEY" \
@@ -920,7 +920,7 @@ check_version() {
info "Checking for agent updates..." info "Checking for agent updates..."
local response=$(curl -s -X GET "$PATCHMON_SERVER/api/$API_VERSION/hosts/agent/version") local response=$(curl -ksv -X GET "$PATCHMON_SERVER/api/$API_VERSION/hosts/agent/version")
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
local current_version=$(echo "$response" | grep -o '"currentVersion":"[^"]*' | cut -d'"' -f4) local current_version=$(echo "$response" | grep -o '"currentVersion":"[^"]*' | cut -d'"' -f4)
@@ -955,7 +955,7 @@ update_agent() {
info "Updating agent script..." info "Updating agent script..."
local response=$(curl -s -X GET "$PATCHMON_SERVER/api/$API_VERSION/hosts/agent/version") local response=$(curl -ksv -X GET "$PATCHMON_SERVER/api/$API_VERSION/hosts/agent/version")
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
local download_url=$(echo "$response" | grep -o '"downloadUrl":"[^"]*' | cut -d'"' -f4) local download_url=$(echo "$response" | grep -o '"downloadUrl":"[^"]*' | cut -d'"' -f4)
@@ -973,7 +973,7 @@ update_agent() {
cp "$0" "$0.backup.$(date +%Y%m%d_%H%M%S)" cp "$0" "$0.backup.$(date +%Y%m%d_%H%M%S)"
# Download new version # Download new version
if curl -s -o "/tmp/patchmon-agent-new.sh" "$download_url"; then if curl -ksv -o "/tmp/patchmon-agent-new.sh" "$download_url"; then
# Verify the downloaded script is valid # Verify the downloaded script is valid
if bash -n "/tmp/patchmon-agent-new.sh" 2>/dev/null; then if bash -n "/tmp/patchmon-agent-new.sh" 2>/dev/null; then
# Replace current script # Replace current script
@@ -1009,7 +1009,7 @@ update_agent() {
update_crontab() { update_crontab() {
load_credentials load_credentials
info "Updating crontab with current policy..." info "Updating crontab with current policy..."
local response=$(curl -s -X GET "$PATCHMON_SERVER/api/$API_VERSION/settings/update-interval") local response=$(curl -ksv -X GET "$PATCHMON_SERVER/api/$API_VERSION/settings/update-interval")
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
local update_interval=$(echo "$response" | grep -o '"updateInterval":[0-9]*' | cut -d':' -f2) local update_interval=$(echo "$response" | grep -o '"updateInterval":[0-9]*' | cut -d':' -f2)
if [[ -n "$update_interval" ]]; then if [[ -n "$update_interval" ]]; then

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# PatchMon Agent Installation Script # PatchMon Agent Installation Script
# Usage: curl -sSL {PATCHMON_URL}/api/v1/hosts/install | bash -s -- {PATCHMON_URL} {API_ID} {API_KEY} # Usage: curl -ksSL {PATCHMON_URL}/api/v1/hosts/install | bash -s -- {PATCHMON_URL} {API_ID} {API_KEY}
set -e set -e
@@ -74,10 +74,10 @@ PATCHMON_URL="http://localhost:3001"
# Parse arguments # Parse arguments
if [[ $# -ne 3 ]]; then if [[ $# -ne 3 ]]; then
echo "Usage: curl -sSL {PATCHMON_URL}/api/v1/hosts/install | bash -s -- {PATCHMON_URL} {API_ID} {API_KEY}" echo "Usage: curl -ksSL {PATCHMON_URL}/api/v1/hosts/install | bash -s -- {PATCHMON_URL} {API_ID} {API_KEY}"
echo "" echo ""
echo "Example:" echo "Example:"
echo "curl -sSL http://patchmon.example.com/api/v1/hosts/install | bash -s -- http://patchmon.example.com patchmon_1a2b3c4d abcd1234567890abcdef1234567890abcdef1234567890abcdef1234567890" echo "curl -ksSL http://patchmon.example.com/api/v1/hosts/install | bash -s -- http://patchmon.example.com patchmon_1a2b3c4d abcd1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
echo "" echo ""
echo "Contact your PatchMon administrator to get your API credentials." echo "Contact your PatchMon administrator to get your API credentials."
exit 1 exit 1
@@ -110,7 +110,7 @@ mkdir -p /etc/patchmon
# Download the agent script # Download the agent script
info "📥 Downloading PatchMon agent script..." info "📥 Downloading PatchMon agent script..."
curl -sSL "$PATCHMON_URL/api/v1/hosts/agent/download" -o /usr/local/bin/patchmon-agent.sh curl -ksSL "$PATCHMON_URL/api/v1/hosts/agent/download" -o /usr/local/bin/patchmon-agent.sh
chmod +x /usr/local/bin/patchmon-agent.sh chmod +x /usr/local/bin/patchmon-agent.sh
# Get the agent version from the downloaded script # Get the agent version from the downloaded script
@@ -118,7 +118,7 @@ AGENT_VERSION=$(grep '^AGENT_VERSION=' /usr/local/bin/patchmon-agent.sh | cut -d
info "📋 Agent version: $AGENT_VERSION" info "📋 Agent version: $AGENT_VERSION"
# Get expected agent version from server # Get expected agent version from server
EXPECTED_VERSION=$(curl -s "$PATCHMON_URL/api/v1/hosts/agent/version" | grep -o '"currentVersion":"[^"]*' | cut -d'"' -f4 2>/dev/null || echo "Unknown") EXPECTED_VERSION=$(curl -ksv "$PATCHMON_URL/api/v1/hosts/agent/version" | grep -o '"currentVersion":"[^"]*' | cut -d'"' -f4 2>/dev/null || echo "Unknown")
if [[ "$EXPECTED_VERSION" != "Unknown" ]]; then if [[ "$EXPECTED_VERSION" != "Unknown" ]]; then
info "📋 Expected version: $EXPECTED_VERSION" info "📋 Expected version: $EXPECTED_VERSION"
if [[ "$AGENT_VERSION" != "$EXPECTED_VERSION" ]]; then if [[ "$AGENT_VERSION" != "$EXPECTED_VERSION" ]]; then
@@ -127,7 +127,7 @@ if [[ "$EXPECTED_VERSION" != "Unknown" ]]; then
fi fi
# Get update interval policy from server # Get update interval policy from server
UPDATE_INTERVAL=$(curl -s "$PATCHMON_URL/api/v1/settings/update-interval" | grep -o '"updateInterval":[0-9]*' | cut -d':' -f2 2>/dev/null || echo "60") UPDATE_INTERVAL=$(curl -ksv "$PATCHMON_URL/api/v1/settings/update-interval" | grep -o '"updateInterval":[0-9]*' | cut -d':' -f2 2>/dev/null || echo "60")
info "📋 Update interval: $UPDATE_INTERVAL minutes" info "📋 Update interval: $UPDATE_INTERVAL minutes"
# Create credentials file # Create credentials file