mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-03 04:38:48 +00:00
Prepare v6.4.0-rc.6 release
Package the standalone PBS detail restoration, SMART CRC growth alerts, consolidated alert policy, bounded event queries, and Go 1.26.7 toolchain for the next prerelease. Change-source: pulse-maintainer
This commit is contained in:
parent
aa50087c08
commit
1f28d950c3
13 changed files with 118 additions and 45 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
6.4.0-rc.5
|
||||
6.4.0-rc.6
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ apiVersion: v2
|
|||
name: pulse
|
||||
description: Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent.
|
||||
type: application
|
||||
version: 6.4.0-rc.5
|
||||
appVersion: "6.4.0-rc.5"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-rc.5/docs/images/pulse-logo.svg
|
||||
version: 6.4.0-rc.6
|
||||
appVersion: "6.4.0-rc.6"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-rc.6/docs/images/pulse-logo.svg
|
||||
keywords:
|
||||
- monitoring
|
||||
- proxmox
|
||||
|
|
@ -32,7 +32,7 @@ annotations:
|
|||
description: Smoke tests with kind cluster deployment
|
||||
artifacthub.io/links: |
|
||||
- name: Documentation
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.4.0-rc.5/docs/KUBERNETES.md
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.4.0-rc.6/docs/KUBERNETES.md
|
||||
- name: Support
|
||||
url: https://github.com/rcourtman/Pulse/discussions
|
||||
artifacthub.io/maintainers: |
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# pulse
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ version: '3.8'
|
|||
|
||||
services:
|
||||
pulse:
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.5}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.6}
|
||||
container_name: pulse
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ For historical v4 notes that previously lived in this repo, see:
|
|||
`docs/releases/RELEASE_NOTES_v4.md`
|
||||
|
||||
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.6.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.6.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.3.2.md`
|
||||
|
|
@ -19,10 +19,12 @@ For the preceding stable v6 packet, see:
|
|||
- `docs/releases/V6_CHANGELOG_v6.3.1.md`
|
||||
|
||||
For the preceding v6.4 release candidate packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ This guide covers practical upgrade steps for existing Pulse installs moving to
|
|||
|
||||
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.6.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.6.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
|
|
@ -19,11 +19,13 @@ For the preceding stable v6 packet, see:
|
|||
|
||||
For the preceding v6.4 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
|
||||
|
|
|
|||
|
|
@ -1782,19 +1782,18 @@ diagnostics. The same release workflow also executes the generated self-signed
|
|||
and custom-CA Windows installer commands through Windows PowerShell 5.1 before
|
||||
release assembly, so the first HTTPS fetch is release proof rather than a
|
||||
string-shape assertion.
|
||||
The active prerelease `v6.4.0-rc.5` cut sets the repo-root `VERSION`, repo-root
|
||||
The active prerelease `v6.4.0-rc.6` cut sets the repo-root `VERSION`, repo-root
|
||||
`docker-compose.yml` image default, `scripts/install-docker.sh` fallback, and
|
||||
Helm chart release metadata to the same `6.4.0-rc.5` release version. It follows
|
||||
`v6.4.0-rc.4` on the published `v6.4.0` candidate line. This prerelease keeps
|
||||
Helm chart release metadata to the same `6.4.0-rc.6` release version. It follows
|
||||
`v6.4.0-rc.5` on the published `v6.4.0` candidate line. This prerelease keeps
|
||||
`rollback_version=v6.3.2`, publishes a versioned public GitHub prerelease
|
||||
plus versioned Docker and Helm artifacts, and does not move stable/latest
|
||||
install pointers or stable semver aliases. The candidate makes API-token
|
||||
deletion atomic across persistence failures; adds append-only alert transition
|
||||
and notification-decision evidence; exposes delivery outcomes and held reasons
|
||||
on existing browser surfaces; separates agent install tokens from generated
|
||||
commands; and moves canonical metric, lifecycle, and stateful alert families
|
||||
onto the deterministic reducer core with confirmation, recovery,
|
||||
acknowledgement, and refire parity proof. The changes since `v6.4.0-rc.4` do not
|
||||
install pointers or stable semver aliases. The candidate restores complete
|
||||
merged host detail on the standalone PBS surface; detects SMART UDMA CRC
|
||||
counter growth; resolves alert configuration through one declarative policy
|
||||
fold; removes the superseded transition-tracking maps; bounds alert-event query
|
||||
allocation by the effective result limit; and advances the release toolchain to
|
||||
Go 1.26.7. The changes since `v6.4.0-rc.5` do not
|
||||
require a Pulse Mobile client change and preserve
|
||||
the existing mobile, Relay, onboarding, and mobile-facing API contracts, so the
|
||||
server cut is classified `no-mobile-impact`; no companion upload or public
|
||||
|
|
@ -1811,10 +1810,15 @@ only after the release owner explicitly confirms that production credentials
|
|||
and certificate authorization are ready and a reviewed policy/code change
|
||||
restores it.
|
||||
|
||||
The preceding `v6.4.0-rc.5` cut published from exact source SHA
|
||||
`3b21d4c257a5e140af05af0973ce6cb1f1effc4d`. Its tag and versioned artifacts
|
||||
remain immutable; `v6.4.0-rc.6` supersedes it without moving stable install
|
||||
pointers or stable semver aliases from `v6.3.2`.
|
||||
|
||||
The preceding `v6.4.0-rc.4` cut published from exact source SHA
|
||||
`8fb7b3764183168f93140d83e2b18b4e953b6cd8`. Its tag and versioned artifacts
|
||||
remain immutable; `v6.4.0-rc.5` supersedes it without moving stable install
|
||||
pointers or stable semver aliases from `v6.3.2`.
|
||||
remain immutable; later `v6.4.0` prereleases supersede it without moving stable
|
||||
install pointers or stable semver aliases from `v6.3.2`.
|
||||
|
||||
The preceding `v6.4.0-rc.3` cut published from exact source SHA
|
||||
`cf0ca6f127540e9997c2eb97eeed32f27619d242`. Its tag and versioned artifacts
|
||||
|
|
@ -2258,8 +2262,8 @@ For the active stable `v6.1.2` cut, the repo-root compose default and
|
|||
`scripts/install-docker.sh` fallback must both pin `6.1.2` whenever the
|
||||
governed `VERSION` is that stable cut. The stable promotion guard remains in
|
||||
force and rejects leftover `-rc.` defaults.
|
||||
For the active prerelease `v6.4.0-rc.5` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.5` until the next
|
||||
For the active prerelease `v6.4.0-rc.6` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.6` until the next
|
||||
governed stable cut moves them forward. Each new release moves
|
||||
these two pins together with the repo-root `VERSION` and the Helm chart metadata
|
||||
in the same commit; a cut that leaves any of the four on a superseded value is a
|
||||
|
|
|
|||
29
docs/releases/RELEASE_NOTES_v6.4.0-rc.6.md
Normal file
29
docs/releases/RELEASE_NOTES_v6.4.0-rc.6.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Pulse v6.4.0-rc.6 Release Notes
|
||||
|
||||
`v6.4.0-rc.6` is a release candidate for the next v6 minor release. It restores complete hardware detail for standalone Proxmox Backup Server hosts, warns when SMART CRC counters grow, and completes the alert engine's policy consolidation.
|
||||
|
||||
## What's improved
|
||||
|
||||
- **Complete standalone PBS details** — Backup-server rows now open the full resource drawer with system, hardware, network, disk, thermal, service, history, and management information when a Pulse Agent source is available.
|
||||
- **Earlier disk-cabling warnings** — Pulse establishes a SMART UDMA CRC baseline and raises a disk-health warning when the counter grows, helping expose link or cabling faults that a current-state health check can miss.
|
||||
- **More consistent alerts** — Alert policy is resolved consistently through one declarative path, with the superseded transition-tracking maps removed.
|
||||
- **Current release toolchain** — Release builds use Go 1.26.7 and its current security fixes.
|
||||
|
||||
## Fixes
|
||||
|
||||
- Standalone PBS hosts no longer lose their agent-reported hardware details when they are represented on the Proxmox backup surface ([#1723](https://github.com/rcourtman/Pulse/issues/1723)).
|
||||
- SMART UDMA CRC growth now creates a warning, treats a counter reset or disk replacement as a new baseline, and resolves the active growth event after a stable sample ([#1776](https://github.com/rcourtman/Pulse/issues/1776)).
|
||||
- Alert configuration values, built-in defaults, and enabled state now use one policy fold across resource families instead of parallel resolution paths.
|
||||
- Alert-event queries now allocate from the bounded effective result limit rather than an untrusted requested limit.
|
||||
- Legacy alert transition state has been removed after the reducer cutover, eliminating a second mutable source of lifecycle truth.
|
||||
|
||||
## Before you upgrade
|
||||
|
||||
- This is a release candidate. Stable installations remain on v6.3.2 unless an operator explicitly selects this version.
|
||||
- Existing configurations remain valid and no manual data migration is required.
|
||||
- Pulse Mobile does not consume the changed PBS browser detail or alert evaluation internals. Existing mobile, Relay, onboarding, pairing, push, and mobile-facing API contracts are unchanged, so no companion update is required.
|
||||
- Windows Unified Agent binaries are checksum- and detached-signature-verified but are not Authenticode-signed, so Windows may show an Unknown Publisher warning.
|
||||
|
||||
## Known issues
|
||||
|
||||
- Windows Authenticode signing remains unavailable for this candidate; use the published checksum and detached signature when verifying Windows agent downloads.
|
||||
33
docs/releases/V6_CHANGELOG_v6.4.0-rc.6.md
Normal file
33
docs/releases/V6_CHANGELOG_v6.4.0-rc.6.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Pulse v6.4.0-rc.6
|
||||
|
||||
_This changelog describes the changes since `v6.4.0-rc.5` included in
|
||||
`v6.4.0-rc.6`._
|
||||
|
||||
## Added
|
||||
|
||||
- SMART UDMA CRC counter growth now raises a disk-health warning after the initial baseline sample.
|
||||
- Standalone PBS backup-server entries expose the full merged host resource drawer when agent hardware evidence is available.
|
||||
|
||||
## Changed
|
||||
|
||||
- Alert configuration resolves through one declarative policy fold for enabled state, thresholds, delays, and built-in defaults.
|
||||
- Legacy transition-tracking maps have been removed now that reducer-owned alert lifecycle state is authoritative.
|
||||
- Release builds use Go 1.26.7 across the public server, agent, provider control plane, and release scripts.
|
||||
|
||||
## Fixed
|
||||
|
||||
- Standalone PBS rows open the canonical resource drawer instead of a limited four-field summary, restoring system, hardware, network, disks, thermals, services, history, and management context ([#1723](https://github.com/rcourtman/Pulse/issues/1723)).
|
||||
- SMART CRC growth treats resets and disk replacements as a new baseline and resolves an active growth event on a stable follow-up sample ([#1776](https://github.com/rcourtman/Pulse/issues/1776)).
|
||||
- Alert-event queries allocate from the bounded effective result limit rather than the raw client-supplied limit.
|
||||
- Alert policy evaluation no longer relies on duplicated resource-family lookup branches or legacy mutable transition mirrors.
|
||||
|
||||
## Release Metadata
|
||||
|
||||
- Version: `v6.4.0-rc.6`
|
||||
- Previous candidate tag: `v6.4.0-rc.5`
|
||||
- Previous stable: `v6.3.2`
|
||||
- Rollback target: `v6.3.2`
|
||||
- Rollback command: `./scripts/install.sh --version v6.3.2`
|
||||
- Promotion path: exact-SHA single-build release candidate from `main`
|
||||
- Windows signing decision: prereleases publish checksum- and detached-signature-verified Windows agents without Authenticode while SignPath remains unavailable; Windows may show an Unknown Publisher warning
|
||||
- Mobile decision: `no-mobile-impact`; the changed PBS browser detail, SMART alerting, and alert evaluation internals preserve the existing mobile, Relay, onboarding, route, request/response, pairing, and push contracts, so no companion build or public store rollout is required
|
||||
|
|
@ -4,8 +4,8 @@ This guide covers practical upgrade steps for existing Pulse installs moving to
|
|||
|
||||
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.6.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.6.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
|
|
@ -19,11 +19,13 @@ For the preceding stable v6 packet, see:
|
|||
|
||||
For the preceding v6.4 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ set -euo pipefail
|
|||
|
||||
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
|
||||
DOCKER_IMAGE_REPO="${DOCKER_IMAGE_REPO:-rcourtman/pulse}"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.4.0-rc.5"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.4.0-rc.6"
|
||||
|
||||
resolve_default_pulse_version() {
|
||||
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
|
||||
|
|
|
|||
|
|
@ -887,11 +887,11 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
|||
"## Fixes",
|
||||
"## Before you upgrade",
|
||||
"## Known issues",
|
||||
"Clearer notification evidence",
|
||||
"More reliable alert lifecycles",
|
||||
"API-token deletion now persists the reduced inventory atomically",
|
||||
"Filesystem history drawers again show loading progress",
|
||||
"Pulse Mobile does not consume the changed alert transition internals",
|
||||
"Complete standalone PBS details",
|
||||
"Earlier disk-cabling warnings",
|
||||
"Alert policy is resolved consistently",
|
||||
"Alert-event queries now allocate",
|
||||
"Pulse Mobile does not consume the changed PBS browser detail or alert evaluation internals",
|
||||
"not Authenticode-signed",
|
||||
"Unknown Publisher warning",
|
||||
)
|
||||
|
|
@ -901,12 +901,12 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
|||
"Rollback target: `v"+previous+"`",
|
||||
"Promotion path: exact-SHA single-build release candidate from `main`",
|
||||
"This changelog describes the changes since `v"+comparisonVersion+"`",
|
||||
"The append-only alert event log records lifecycle transitions and notification decisions",
|
||||
"Canonical metric, lifecycle, and stateful alert families use the deterministic reducer core",
|
||||
"API-token deletion snapshots the full inventory",
|
||||
"Canonically keyed metric alerts resolve through their canonical identity",
|
||||
"Stateful manual clears preserve recent-resolution and acknowledgement retention",
|
||||
"Filesystem history drawers again render loading progress",
|
||||
"SMART UDMA CRC counter growth now raises a disk-health warning",
|
||||
"Alert configuration resolves through one declarative policy fold",
|
||||
"Legacy transition-tracking maps have been removed",
|
||||
"Standalone PBS rows open the canonical resource drawer",
|
||||
"Alert-event queries allocate from the bounded effective result limit",
|
||||
"Release builds use Go 1.26.7",
|
||||
"Windows signing decision: prereleases publish checksum- and detached-signature-verified Windows agents without Authenticode",
|
||||
"Mobile decision: `no-mobile-impact`",
|
||||
"no companion build or public store rollout is required",
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T)
|
|||
{version: "6.4.0-rc.3", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.4", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.5", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.6", want: "6.3.2"},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue