mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-22 19:23:31 +00:00
feat: add version command and privacy disclosure
- Added 'pulse --version' and 'pulse version' commands - Version info embedded at build time (version, commit, build date) - Added Privacy section to README - no telemetry/analytics - Added example alert messages to show webhook capabilities - Build script now properly embeds version information
This commit is contained in:
@@ -37,7 +37,10 @@ Pulse is built by a solo developer in evenings and weekends. Your support helps:
|
||||
- Security headers (CSP, X-Frame-Options, etc.)
|
||||
- Comprehensive audit logging
|
||||
- Live monitoring of VMs, containers, nodes, storage
|
||||
- Alerts with email and webhooks (Discord, Slack, Telegram, Teams, ntfy.sh, Gotify)
|
||||
- **Smart Alerts**: Email and webhooks (Discord, Slack, Telegram, Teams, ntfy.sh, Gotify)
|
||||
- Example: "🔴 VM 'webserver' is down on node 'pve1'"
|
||||
- Example: "⚠️ Storage 'local-lvm' at 85% capacity"
|
||||
- Example: "✅ VM 'database' is back online"
|
||||
- Unified view of PBS backups, PVE backups, and snapshots
|
||||
- Config export/import with encryption and authentication
|
||||
- Dark/light themes, responsive design
|
||||
@@ -45,6 +48,17 @@ Pulse is built by a solo developer in evenings and weekends. Your support helps:
|
||||
|
||||
[Screenshots →](docs/SCREENSHOTS.md)
|
||||
|
||||
## Privacy
|
||||
|
||||
**Pulse respects your privacy:**
|
||||
- ✅ No telemetry or analytics collection
|
||||
- ✅ No phone-home functionality
|
||||
- ✅ No external API calls (except for configured webhooks)
|
||||
- ✅ All data stays on your server
|
||||
- ✅ Open source - verify it yourself
|
||||
|
||||
Your infrastructure data is yours alone.
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Install
|
||||
|
||||
@@ -21,10 +21,18 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// Version information (set at build time with -ldflags)
|
||||
var (
|
||||
Version = "dev"
|
||||
BuildTime = "unknown"
|
||||
GitCommit = "unknown"
|
||||
)
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "pulse",
|
||||
Short: "Pulse - Proxmox VE and PBS monitoring system",
|
||||
Long: `Pulse is a real-time monitoring system for Proxmox Virtual Environment (PVE) and Proxmox Backup Server (PBS)`,
|
||||
Version: Version,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
runServer()
|
||||
},
|
||||
@@ -33,6 +41,22 @@ var rootCmd = &cobra.Command{
|
||||
func init() {
|
||||
// Add config command
|
||||
rootCmd.AddCommand(configCmd)
|
||||
// Add version command
|
||||
rootCmd.AddCommand(versionCmd)
|
||||
}
|
||||
|
||||
var versionCmd = &cobra.Command{
|
||||
Use: "version",
|
||||
Short: "Print version information",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fmt.Printf("Pulse %s\n", Version)
|
||||
if BuildTime != "unknown" {
|
||||
fmt.Printf("Built: %s\n", BuildTime)
|
||||
}
|
||||
if GitCommit != "unknown" {
|
||||
fmt.Printf("Commit: %s\n", GitCommit)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -46,9 +46,9 @@ for build_name in "${!builds[@]}"; do
|
||||
# Get build environment
|
||||
build_env="${builds[$build_name]}"
|
||||
|
||||
# Build binary
|
||||
# Build binary with version info
|
||||
env $build_env go build \
|
||||
-ldflags="-s -w" \
|
||||
-ldflags="-s -w -X main.Version=v${VERSION} -X main.BuildTime=$(date -u '+%Y-%m-%d_%H:%M:%S') -X main.GitCommit=$(git rev-parse --short HEAD 2>/dev/null || echo 'unknown')" \
|
||||
-trimpath \
|
||||
-o "$BUILD_DIR/pulse-$build_name" \
|
||||
./cmd/pulse
|
||||
|
||||
Reference in New Issue
Block a user