install.sh + frontend: use external URL dsbmueller.spdns.org:8443, configurable via RMM_BACKEND env
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
.PHONY: all backend agent agent-linux updater plugin clean certs deploy-backend deploy-agent
|
||||
.PHONY: all backend agent agent-linux updater-freebsd updater-linux plugin clean certs release deploy-backend
|
||||
|
||||
VERSION ?= 0.0.0
|
||||
|
||||
BACKEND_BIN = build/rmm-backend
|
||||
AGENT_BIN = build/rmm-agent
|
||||
AGENT_LINUX_BIN = build/rmm-agent-linux
|
||||
UPDATER_BIN = build/rmm-updater
|
||||
UPDATER_FREEBSD_BIN = build/rmm-updater-freebsd
|
||||
UPDATER_LINUX_BIN = build/rmm-updater-linux
|
||||
|
||||
BACKEND_HOST = 192.168.85.13
|
||||
AGENT_HOST = 192.168.85.33
|
||||
SSH_USER = root
|
||||
|
||||
all: backend agent agent-linux updater
|
||||
all: backend agent agent-linux updater-freebsd updater-linux
|
||||
|
||||
backend:
|
||||
@echo "==> Building Backend (linux/amd64)..."
|
||||
@@ -26,10 +28,29 @@ agent-linux:
|
||||
cd agent-linux && GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -o ../$(AGENT_LINUX_BIN) .
|
||||
@echo "==> $(AGENT_LINUX_BIN) erstellt"
|
||||
|
||||
updater:
|
||||
updater-freebsd:
|
||||
@echo "==> Building Updater (freebsd/amd64)..."
|
||||
cd updater && GOOS=freebsd GOARCH=amd64 CGO_ENABLED=0 go build -o ../$(UPDATER_BIN) .
|
||||
@echo "==> $(UPDATER_BIN) erstellt"
|
||||
cd updater && GOOS=freebsd GOARCH=amd64 CGO_ENABLED=0 go build -o ../$(UPDATER_FREEBSD_BIN) .
|
||||
@echo "==> $(UPDATER_FREEBSD_BIN) erstellt"
|
||||
|
||||
updater-linux:
|
||||
@echo "==> Building Updater (linux/amd64)..."
|
||||
cd updater && GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ../$(UPDATER_LINUX_BIN) .
|
||||
@echo "==> $(UPDATER_LINUX_BIN) erstellt"
|
||||
|
||||
# Release: Baut alles und erzeugt ZIP-Bundles pro Plattform
|
||||
release: agent agent-linux updater-freebsd updater-linux
|
||||
@echo "==> Creating release bundles v$(VERSION)..."
|
||||
@mkdir -p build/release
|
||||
@# FreeBSD Bundle (Agent + Updater)
|
||||
@cd build && zip -j release/rmm-freebsd-$(VERSION).zip rmm-agent rmm-updater-freebsd
|
||||
@echo "==> build/release/rmm-freebsd-$(VERSION).zip erstellt"
|
||||
@# Linux Bundle (Agent + Updater)
|
||||
@cd build && zip -j release/rmm-linux-$(VERSION).zip rmm-agent-linux rmm-updater-linux
|
||||
@echo "==> build/release/rmm-linux-$(VERSION).zip erstellt"
|
||||
@echo ""
|
||||
@echo "Release v$(VERSION) fertig:"
|
||||
@ls -lh build/release/rmm-*-$(VERSION).zip
|
||||
|
||||
plugin:
|
||||
@echo "==> Building OPNsense Plugin Package..."
|
||||
@@ -51,52 +72,7 @@ certs:
|
||||
|
||||
deploy-backend: backend
|
||||
@echo "==> Deploying Backend to $(BACKEND_HOST)..."
|
||||
ssh $(SSH_USER)@$(BACKEND_HOST) "mkdir -p /opt/rmm/certs"
|
||||
scp $(BACKEND_BIN) $(SSH_USER)@$(BACKEND_HOST):/opt/rmm/rmm-backend
|
||||
scp backend/config.yaml $(SSH_USER)@$(BACKEND_HOST):/opt/rmm/config.yaml
|
||||
@echo "==> Erstelle systemd Service..."
|
||||
ssh $(SSH_USER)@$(BACKEND_HOST) 'cat > /etc/systemd/system/rmm-backend.service << EOF\n\
|
||||
[Unit]\n\
|
||||
Description=RMM Backend\n\
|
||||
After=network.target\n\
|
||||
\n\
|
||||
[Service]\n\
|
||||
Type=simple\n\
|
||||
WorkingDirectory=/opt/rmm\n\
|
||||
ExecStart=/opt/rmm/rmm-backend /opt/rmm/config.yaml\n\
|
||||
Restart=always\n\
|
||||
RestartSec=5\n\
|
||||
\n\
|
||||
[Install]\n\
|
||||
WantedBy=multi-user.target\n\
|
||||
EOF'
|
||||
ssh $(SSH_USER)@$(BACKEND_HOST) "systemctl daemon-reload && systemctl enable rmm-backend && systemctl restart rmm-backend"
|
||||
ssh $(SSH_USER)@$(BACKEND_HOST) "systemctl stop rmm-backend || true"
|
||||
scp $(BACKEND_BIN) $(SSH_USER)@$(BACKEND_HOST):/home/cynfo/rmm/rmm-backend
|
||||
ssh $(SSH_USER)@$(BACKEND_HOST) "systemctl start rmm-backend"
|
||||
@echo "==> Backend deployed und gestartet"
|
||||
|
||||
deploy-agent: agent
|
||||
@echo "==> Deploying Agent to $(AGENT_HOST)..."
|
||||
ssh $(SSH_USER)@$(AGENT_HOST) "mkdir -p /opt/rmm"
|
||||
scp $(AGENT_BIN) $(SSH_USER)@$(AGENT_HOST):/opt/rmm/rmm-agent
|
||||
scp agent/config.yaml $(SSH_USER)@$(AGENT_HOST):/opt/rmm/config.yaml
|
||||
@echo "==> Erstelle rc.d Script..."
|
||||
ssh $(SSH_USER)@$(AGENT_HOST) 'cat > /usr/local/etc/rc.d/rmm_agent << RCEOF\n\
|
||||
#!/bin/sh\n\
|
||||
#\n\
|
||||
# PROVIDE: rmm_agent\n\
|
||||
# REQUIRE: NETWORKING\n\
|
||||
# KEYWORD: shutdown\n\
|
||||
\n\
|
||||
. /etc/rc.subr\n\
|
||||
\n\
|
||||
name="rmm_agent"\n\
|
||||
rcvar="rmm_agent_enable"\n\
|
||||
pidfile="/var/run/$${name}.pid"\n\
|
||||
command="/opt/rmm/rmm-agent"\n\
|
||||
command_args="--config /opt/rmm/config.yaml --insecure &"\n\
|
||||
\n\
|
||||
load_rc_config $$name\n\
|
||||
run_rc_command "$$1"\n\
|
||||
RCEOF\n\
|
||||
chmod +x /usr/local/etc/rc.d/rmm_agent'
|
||||
ssh $(SSH_USER)@$(AGENT_HOST) 'sysrc rmm_agent_enable="YES" && service rmm_agent restart'
|
||||
@echo "==> Agent deployed und gestartet"
|
||||
|
||||
Reference in New Issue
Block a user