mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
docs: update all files to ensure proper Proxmox trademark usage - Update documentation, comments, and text to properly acknowledge Proxmox trademark and use correct terminology
This commit is contained in:
+2
-2
@@ -1,5 +1,5 @@
|
||||
# ProxMox Node Configuration
|
||||
# Replace with your ProxMox node details
|
||||
# Proxmox VE Node Configuration
|
||||
# Replace with your Proxmox VE node details
|
||||
|
||||
# Node 1
|
||||
PROXMOX_NODE_1_NAME=Proxmox Node 1
|
||||
|
||||
@@ -27,7 +27,7 @@ If applicable, add screenshots to help explain your problem.
|
||||
## Environment
|
||||
- OS: [e.g. Ubuntu 22.04, Windows 11, macOS 13.0]
|
||||
- Browser: [e.g. Chrome 108, Firefox 106]
|
||||
- ProxMox Version: [e.g. 7.3-3]
|
||||
- Proxmox VE Version: [e.g. 7.3-3]
|
||||
- Pulse Version: [e.g. 1.2.1]
|
||||
- Deployment Method: [e.g. Docker, Docker Compose]
|
||||
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
# Contributing to ProxMox Pulse
|
||||
# Contributing to Pulse for Proxmox VE
|
||||
|
||||
Thank you for considering contributing to ProxMox Pulse! This document outlines the process for contributing to the project.
|
||||
Thank you for considering contributing to Pulse for Proxmox VE! This document outlines the process for contributing to the project.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
@@ -31,8 +31,8 @@ This section guides you through submitting an enhancement suggestion, including
|
||||
* **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
|
||||
* **Provide specific examples to demonstrate the steps**. Include copy/pasteable snippets which you use in those examples.
|
||||
* **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
|
||||
* **Include screenshots and animated GIFs** which help you demonstrate the steps or point out the part of ProxMox Pulse which the suggestion is related to.
|
||||
* **Explain why this enhancement would be useful** to most ProxMox Pulse users.
|
||||
* **Include screenshots and animated GIFs** which help you demonstrate the steps or point out the part of Pulse for Proxmox VE which the suggestion is related to.
|
||||
* **Explain why this enhancement would be useful** to most Pulse for Proxmox VE users.
|
||||
* **List some other applications where this enhancement exists.**
|
||||
|
||||
### Pull Requests
|
||||
@@ -79,4 +79,4 @@ This section guides you through submitting an enhancement suggestion, including
|
||||
|
||||
## License
|
||||
|
||||
By contributing to ProxMox Pulse, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).
|
||||
By contributing to Pulse for Proxmox VE, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).
|
||||
+1
-1
@@ -23,7 +23,7 @@ FROM node:18-slim
|
||||
|
||||
# Add version labels
|
||||
LABEL version="1.3.0"
|
||||
LABEL description="ProxMox Pulse - A lightweight monitoring application for ProxMox"
|
||||
LABEL description="Pulse - A lightweight monitoring application for Proxmox VE"
|
||||
LABEL maintainer="Richard Courtman"
|
||||
|
||||
# Create a non-root user
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Screenshot Automation for ProxMox Pulse
|
||||
# Screenshot Automation for Pulse for Proxmox VE
|
||||
|
||||
This document explains how to use the screenshot automation tool to keep the documentation images up-to-date with the latest UI changes.
|
||||
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Pulse - Real-time system monitoring dashboard with live updates" />
|
||||
<title>Pulse</title>
|
||||
<meta name="description" content="Pulse - Real-time monitoring dashboard for Proxmox VE with live updates" />
|
||||
<title>Pulse for Proxmox VE</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
],
|
||||
"author": "Richard Courtman",
|
||||
"license": "MIT",
|
||||
"description": "A lightweight, responsive ProxMox monitoring application that displays real-time metrics for CPU, memory, network, and disk usage across multiple nodes.",
|
||||
"description": "A lightweight, responsive monitoring application for Proxmox VE that displays real-time metrics for CPU, memory, network, and disk usage across multiple nodes.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/rcourtman/pulse.git"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ProxMox Pulse Screenshot Generator
|
||||
# Pulse for Proxmox VE Screenshot Generator
|
||||
# Automates the process of generating screenshots for documentation
|
||||
# by starting required servers with mock data and running the screenshot tool.
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ export async function subscribeToEvents(this: ProxmoxClient, callback: (event: P
|
||||
}
|
||||
|
||||
// Set up polling interval - this is a fallback method
|
||||
// ProxMox doesn't have a true WebSocket event API, but we can optimize our polling
|
||||
// Proxmox doesn't have a true WebSocket event API, but we can optimize our polling
|
||||
// to be more responsive and efficient
|
||||
|
||||
let isPolling = false;
|
||||
|
||||
@@ -138,7 +138,7 @@ export async function getContainers(this: ProxmoxClient): Promise<ProxmoxContain
|
||||
vmid: container.vmid,
|
||||
cpus: status.cpus || container.cpus || 1,
|
||||
// Use CPU usage from detailed resource data or fallback to status
|
||||
// Do NOT multiply by 100 - use the raw value from ProxMox
|
||||
// Do NOT multiply by 100 - use the raw value from Proxmox
|
||||
cpu: (resourceData.cpu !== undefined && resourceData.cpu !== null) ?
|
||||
resourceData.cpu :
|
||||
(status.cpu !== undefined && status.cpu !== null) ?
|
||||
|
||||
@@ -49,7 +49,7 @@ export class ProxmoxClient extends EventEmitter implements ProxmoxClientMethods
|
||||
};
|
||||
|
||||
this.client = axios.create(axiosConfig);
|
||||
this.logger.info(`ProxMox API client created with timeout: ${apiTimeoutMs}ms and ${this.retryAttempts} retry attempts`);
|
||||
this.logger.info(`Proxmox API client created with timeout: ${apiTimeoutMs}ms and ${this.retryAttempts} retry attempts`);
|
||||
|
||||
// Add request interceptor for logging
|
||||
this.client.interceptors.request.use(request => {
|
||||
@@ -116,7 +116,7 @@ export class ProxmoxClient extends EventEmitter implements ProxmoxClientMethods
|
||||
setupEventPolling(): void { throw new Error('Not implemented'); }
|
||||
|
||||
/**
|
||||
* Test the connection to the ProxMox API
|
||||
* Test the connection to the Proxmox API
|
||||
*/
|
||||
async testConnection(): Promise<boolean> {
|
||||
try {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ProxmoxClient } from './index';
|
||||
|
||||
/**
|
||||
* Discover the actual ProxMox node name
|
||||
* Discover the actual Proxmox node name
|
||||
*/
|
||||
export async function discoverNodeName(this: ProxmoxClient): Promise<string> {
|
||||
// If we already discovered the node name, return it
|
||||
@@ -88,16 +88,8 @@ export async function getNodeNameAsync(this: ProxmoxClient): Promise<string> {
|
||||
* Get node name (legacy method, will be deprecated)
|
||||
*/
|
||||
export function getNodeName(this: ProxmoxClient): string {
|
||||
// In ProxMox, the node name is typically the hostname of the server
|
||||
// We'll try to get it from the API, but for now use a hardcoded value based on the node ID
|
||||
// This assumes your node IDs in the config match the actual ProxMox node names
|
||||
if (this.config.id === 'node-1') {
|
||||
return 'pve'; // Typical default name for the first node in a ProxMox cluster
|
||||
} else if (this.config.id === 'node-2') {
|
||||
return 'pve2'; // Typical name for the second node
|
||||
}
|
||||
|
||||
// Fallback to the old method if we can't determine the node name
|
||||
const url = new URL(this.config.host);
|
||||
return url.hostname;
|
||||
// In Proxmox, the node name is typically the hostname of the server
|
||||
// This assumes your node IDs in the config match the actual Proxmox node names
|
||||
// If not found, return 'pve' which is the typical default name for the first node in a Proxmox cluster
|
||||
return 'pve';
|
||||
}
|
||||
+1
-1
@@ -80,7 +80,7 @@ function parseNodeConfigs(): NodeConfig[] {
|
||||
function validateConfig(config: AppConfig): void {
|
||||
// Check if at least one node is configured
|
||||
if (config.nodes.length === 0) {
|
||||
throw new Error('No valid ProxMox nodes configured. Please check your environment variables.');
|
||||
throw new Error('No valid Proxmox VE nodes configured. Please check your environment variables.');
|
||||
}
|
||||
|
||||
// Validate port
|
||||
|
||||
@@ -133,7 +133,7 @@ export class MetricsService extends EventEmitter {
|
||||
guestId,
|
||||
type,
|
||||
metrics: {
|
||||
// ProxMox returns CPU as a decimal (e.g., 0.0854 for 8.54%)
|
||||
// Proxmox returns CPU as a decimal (e.g., 0.0854 for 8.54%)
|
||||
// We need to multiply by 100 to get the percentage
|
||||
cpu: guest.cpu !== undefined ? guest.cpu * 100 : (guest.cpus > 0 ? 0 : 0),
|
||||
memory: {
|
||||
|
||||
@@ -240,7 +240,7 @@ export class NodeManager extends EventEmitter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle event from ProxMox
|
||||
* Handle event from Proxmox
|
||||
*/
|
||||
private handleEvent(nodeId: string, event: ProxmoxEvent): void {
|
||||
// Only process important events
|
||||
|
||||
@@ -80,7 +80,7 @@ async function validateNodeConfig(nodeConfig: NodeConfig, ignoreSSLErrors: boole
|
||||
|
||||
// Test connection
|
||||
const response = await client.get('/version');
|
||||
logger.info(`Node ${nodeConfig.id}: Successfully connected to ProxMox API version ${response.data.data.version}`);
|
||||
logger.info(`Node ${nodeConfig.id}: Successfully connected to Proxmox API version ${response.data.data.version}`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
if (axios.isAxiosError(error)) {
|
||||
@@ -129,9 +129,9 @@ export async function validateAndLogHelp(config: AppConfig): Promise<boolean> {
|
||||
|
||||
if (!isValid) {
|
||||
logger.info('Configuration validation failed. Here are some troubleshooting tips:');
|
||||
logger.info('1. Check network connectivity to the ProxMox nodes');
|
||||
logger.info('2. Verify that the API tokens have the correct permissions');
|
||||
logger.info('3. Make sure the ProxMox API is accessible on the specified port');
|
||||
logger.info('1. Check network connectivity to the Proxmox nodes');
|
||||
logger.info('2. Verify your API token has the correct permissions (PVEAuditor role)');
|
||||
logger.info('3. Make sure the Proxmox API is accessible on the specified port');
|
||||
logger.info('4. Check for special characters in token IDs that might need escaping');
|
||||
|
||||
// Generate curl examples for each node
|
||||
|
||||
@@ -132,7 +132,7 @@ export class WebSocketServer {
|
||||
// Send connected message
|
||||
socket.emit('message', this.createMessage(WebSocketMessageType.CONNECTED, {
|
||||
timestamp: Date.now(),
|
||||
message: 'Connected to ProxMox Monitor WebSocket server'
|
||||
message: 'Connected to Pulse for Proxmox VE WebSocket server'
|
||||
}));
|
||||
|
||||
// Send all nodes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# ProxMox Pulse Screenshot Automation Tool
|
||||
# Screenshot Automation Tool for Pulse for Proxmox VE
|
||||
|
||||
This tool automates the process of taking screenshots for the ProxMox Pulse application documentation. It can capture screenshots in both light and dark modes, create split-view images, and crop specific regions of the UI.
|
||||
This tool automates the process of taking screenshots for the Pulse for Proxmox VE application documentation. It can capture screenshots in both light and dark modes, create split-view images, and crop specific regions of the UI.
|
||||
|
||||
## Features
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import { logger } from './logger';
|
||||
// Set up command line interface
|
||||
program
|
||||
.name('screenshot-tool')
|
||||
.description('Automated screenshot tool for ProxMox Pulse')
|
||||
.description('Automated screenshot tool for Pulse for Proxmox VE')
|
||||
.version('1.0.0')
|
||||
.option('-c, --config <path>', 'Path to config file', './screenshot-config.json')
|
||||
.option('-u, --url <url>', 'Base URL to use (overrides config file)')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "pulse-screenshot-tool",
|
||||
"version": "1.0.0",
|
||||
"description": "Automated screenshot tool for ProxMox Pulse",
|
||||
"description": "Automated screenshot tool for Pulse for Proxmox VE",
|
||||
"main": "dist/cli.js",
|
||||
"bin": {
|
||||
"pulse-screenshots": "dist/cli.js"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Update Screenshots Script for ProxMox Pulse
|
||||
# Update Screenshots Script for Pulse for Proxmox VE
|
||||
# This script automates the process of taking screenshots for documentation
|
||||
|
||||
# Set default values
|
||||
|
||||
Reference in New Issue
Block a user