mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
parent
16d74a75bb
commit
0d787a4b1f
12 changed files with 173 additions and 19 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
6.0.5-rc.3
|
||||
6.0.5-rc.4
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ apiVersion: v2
|
|||
name: pulse
|
||||
description: Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
|
||||
type: application
|
||||
version: 6.0.5-rc.3
|
||||
appVersion: "6.0.5-rc.3"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.5-rc.3/docs/images/pulse-logo.svg
|
||||
version: 6.0.5-rc.4
|
||||
appVersion: "6.0.5-rc.4"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.5-rc.4/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.0.5-rc.3/docs/KUBERNETES.md
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.0.5-rc.4/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 monitoring agent.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ version: '3.8'
|
|||
|
||||
services:
|
||||
pulse:
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.5-rc.3}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.5-rc.4}
|
||||
container_name: pulse
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
|
|
|
|||
|
|
@ -7,10 +7,12 @@ For historical v4 notes that previously lived in this repo, see:
|
|||
`docs/releases/RELEASE_NOTES_v4.md`
|
||||
|
||||
For the current v6 support release candidate packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.4.md`
|
||||
|
||||
For historical v6 support release candidate packets, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.2.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.2.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.1.md`
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ This guide covers practical upgrade steps for existing Pulse installs moving to
|
|||
|
||||
For the current v6 support release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.4.md`
|
||||
|
||||
For the current stable v6 packet and rollout references, see:
|
||||
|
||||
|
|
|
|||
|
|
@ -852,9 +852,9 @@ TLS floor in the dynamic config.
|
|||
|
||||
## Current State
|
||||
|
||||
The active support prerelease `v6.0.5-rc.3` cut sets the repo-root `VERSION`,
|
||||
The active support prerelease `v6.0.5-rc.4` 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.0.5-rc.3` release
|
||||
fallback, and Helm chart release metadata to the same `6.0.5-rc.4` release
|
||||
version. This support prerelease keeps `rollback_version=v6.0.4`, publishes a
|
||||
versioned public GitHub prerelease plus versioned Docker and Helm artifacts,
|
||||
and does not move stable/latest install pointers or stable semver aliases. It
|
||||
|
|
@ -864,8 +864,11 @@ SMART temperature fallback, legacy agent update token recovery, threshold-aware
|
|||
temperature display severity, PBS backup polling memory bounds, physical disk
|
||||
SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy
|
||||
OIDC SSO discovery with CSP nonce handling, mobile onboarding URL handoff
|
||||
sanitization, SSO browser-session display labels, and route-aware Proxmox host
|
||||
URLs behind RC validation instead of publishing another same-day stable patch.
|
||||
sanitization, SSO browser-session display labels, route-aware Proxmox host
|
||||
URLs, MSP report scheduling with a portal alert rollup, per-disk-type
|
||||
temperature thresholds, PBS backup discovery recovery, host fingerprint
|
||||
auto-discovery, and surfaced agent auth failures behind RC validation instead
|
||||
of publishing another same-day stable patch.
|
||||
The initial GA promotion
|
||||
metadata remains
|
||||
`promoted_from_tag=v6.0.0-rc.7`, `rollback_version=v5.1.35`,
|
||||
|
|
@ -919,8 +922,8 @@ compose image default, standalone installer fallback constant, and packaged
|
|||
Helm metadata. A draft release workflow failure caused by stale image or chart
|
||||
pins is a release-packet blocker until the defaults, tests, and evidence
|
||||
record are refreshed from the new branch head.
|
||||
For the active support prerelease `v6.0.5-rc.3` cut, the repo-root compose
|
||||
default and `scripts/install-docker.sh` fallback must both pin `6.0.5-rc.3`
|
||||
For the active support prerelease `v6.0.5-rc.4` cut, the repo-root compose
|
||||
default and `scripts/install-docker.sh` fallback must both pin `6.0.5-rc.4`
|
||||
until the next governed stable cut moves them forward. The stable promotion
|
||||
guard remains in force by rejecting leftover `-rc.` defaults when the governed
|
||||
`VERSION` is a stable release.
|
||||
|
|
|
|||
68
docs/releases/RELEASE_NOTES_v6.0.5-rc.4.md
Normal file
68
docs/releases/RELEASE_NOTES_v6.0.5-rc.4.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Pulse v6.0.5-rc.4 Release Notes
|
||||
|
||||
`v6.0.5-rc.4` is a release candidate for the next Pulse v6 patch line. It
|
||||
follows stable `v6.0.4` and supersedes `v6.0.5-rc.3` with MSP report
|
||||
scheduling and a provider portal alert rollup, per-disk-type temperature
|
||||
thresholds, a PBS backup discovery recovery, host fingerprint auto-discovery,
|
||||
surfaced agent auth failures, and additional SSO and filter improvements. It
|
||||
retains the earlier support fixes for Patrol Gemini model readiness,
|
||||
remembered-login submit persistence, Proxmox SMART temperature fallback for
|
||||
direct SATA/SAT disks, legacy agent update token recovery, threshold-aware
|
||||
temperature display severity, PBS backup polling memory bounds, physical disk
|
||||
SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy
|
||||
OIDC SSO discovery with CSP nonce handling, Pulse Mobile pairing handoff
|
||||
sanitization, SSO browser-session display labels, and route-aware Proxmox host
|
||||
URLs.
|
||||
|
||||
## Added
|
||||
|
||||
- Reports can now be scheduled with weekly or monthly cadence, explicit
|
||||
resource or tag scoping, and PDF or CSV delivery by email or to disk. The
|
||||
MSP provider portal shows a per-workspace alert rollup so provider
|
||||
operators see client alert pressure at a glance.
|
||||
- Physical disk temperature thresholds are now configurable per disk type,
|
||||
and explicit per-disk overrides beat the per-type defaults.
|
||||
- OIDC provider settings now support editing requested scopes, and SSO
|
||||
provider restriction fields can be cleared once set.
|
||||
- Kubernetes shared toolbar filters are now URL-backed so saved views keep
|
||||
exclusions, Docker container filters support `-term` search exclusions and
|
||||
persistent saved views, and saved views are reachable from the FilterBar
|
||||
mobile expanded body.
|
||||
|
||||
## Fixed
|
||||
|
||||
- Fixed a PBS backup discovery regression from the rc.3 bounded-polling
|
||||
change: snapshot groups beyond the bound were synthesized without
|
||||
verification, size, or file data, so real deployments saw backups as
|
||||
Unverified with a collapsed timeline. Bounds are now derived from real
|
||||
snapshot data.
|
||||
- Hosts now participate in the discovery fingerprint model so they
|
||||
auto-discover instead of requiring manual entry.
|
||||
- Agent auth failures and staleness are now surfaced in the UI instead of an
|
||||
agent silently retrying 401 responses forever while the node stayed green,
|
||||
and the recovery guidance points at the Pulse UI.
|
||||
- The Pro binary now blocks in-app self-update so a paid install can no
|
||||
longer silently downgrade itself to the community build.
|
||||
- Registry rebuilds no longer write no-op relationship-change rows, which
|
||||
previously grew resource history by hundreds of thousands of rows per day
|
||||
on busy deployments.
|
||||
- Mock-mode data churn is paced to realistic homelab rates, so demo and
|
||||
evaluation deployments stop generating phantom restart and state-flap
|
||||
events.
|
||||
- Docker Swarm workload dedupe now picks cluster-scoped winners
|
||||
deterministically.
|
||||
- Legacy 3-segment OIDC SSO login and callback paths are served again so
|
||||
bookmarked or configured legacy SSO URLs keep working after upgrade.
|
||||
- Relay pairing help now points at the Pulse Mobile install page so a
|
||||
pairing QR has an obvious companion app to scan it with.
|
||||
- v5 migration recovery states are clarified so interrupted migrations
|
||||
explain what happened and what to do next.
|
||||
|
||||
## Upgrade Notes
|
||||
|
||||
Use the normal v6 install or update flow for `v6.0.5-rc.4` only when you are
|
||||
comfortable testing an RC. The rollback target for this release candidate is
|
||||
`v6.0.4`.
|
||||
|
||||
Paid Pulse Pro, Relay, and eligible legacy customers should continue to use the
|
||||
private download page and private runtime image for paid runtime features.
|
||||
73
docs/releases/V6_CHANGELOG_v6.0.5-rc.4.md
Normal file
73
docs/releases/V6_CHANGELOG_v6.0.5-rc.4.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Pulse v6.0.5-rc.4
|
||||
|
||||
_This changelog describes the `v6.0.5-rc.4` release candidate compared with
|
||||
stable `v6.0.4`._
|
||||
|
||||
## Added
|
||||
|
||||
- MSP reports now support scheduled delivery with weekly or monthly cadence,
|
||||
explicit resource or tag scoping, and PDF or CSV output by email or to
|
||||
disk, and the MSP provider portal now shows a per-workspace alert rollup.
|
||||
- Physical disk temperature thresholds are now configurable per disk type,
|
||||
with explicit per-disk overrides beating per-type defaults.
|
||||
- OIDC provider settings now support editing requested scopes, and SSO
|
||||
provider restriction fields can be cleared once set.
|
||||
- Kubernetes shared toolbar filters are now URL-backed so saved views keep
|
||||
exclusions, Docker container filters support `-term` search exclusions and
|
||||
persistent saved views, and saved views appear in the FilterBar mobile
|
||||
expanded body.
|
||||
|
||||
## Fixed
|
||||
|
||||
- Patrol readiness checks now detect Gemini tool-call capability from Gemini
|
||||
candidate parts as well as top-level tool-call lists.
|
||||
- Remembered-login state now persists the saved username when the checkbox is
|
||||
enabled during submit.
|
||||
- Proxmox SMART temperature collection now retries direct SATA/SAT disks with an
|
||||
explicit SAT probe when smartctl auto-detection returns health but no
|
||||
temperature.
|
||||
- Legacy agent update token recovery now handles v5-to-v6 update paths where a
|
||||
running agent can provide connection details even when stored state is absent.
|
||||
- Temperature displays now resolve configured alert thresholds across node,
|
||||
workload, Docker, standalone agent, and drawer surfaces.
|
||||
- PBS backup polling now keeps a bounded read-state working set during backup
|
||||
discovery.
|
||||
- PBS backup discovery now derives its memory bounds from real snapshot data,
|
||||
fixing an rc.3 regression where groups beyond the bound were synthesized
|
||||
without verification, size, file, or per-snapshot time data.
|
||||
- Physical disk SMART and Proxmox records now merge through canonical disk
|
||||
identity so NVMe, size, SMART, and temperature metadata survive enrichment.
|
||||
- Proxmox install/update flows now preserve generated token state and expose
|
||||
smoke diagnostics for setup validation.
|
||||
- Legacy OIDC SSO discovery now persists and advertises configured providers,
|
||||
with CSP nonce handling for embedded frontend assets.
|
||||
- Legacy 3-segment OIDC SSO login and callback paths are served again for
|
||||
installs configured before the route consolidation.
|
||||
- Pulse Mobile pairing now omits unsafe non-HTTPS Pulse web handoff URLs from
|
||||
QR/deep-link payloads while keeping relay pairing usable and returning an
|
||||
`instance_url_not_https` diagnostic for settings copy.
|
||||
- OIDC and SAML browser sessions now expose a separate display label for app
|
||||
chrome while authorization remains bound to the stable provider-scoped
|
||||
principal.
|
||||
- Proxmox host setup now prefers route-aware host URLs.
|
||||
- Hosts now join the discovery fingerprint model so they auto-discover.
|
||||
- Agent auth failures and staleness are now surfaced instead of a silent 401
|
||||
retry loop, with recovery guidance pointing at the Pulse UI.
|
||||
- The Pro binary now blocks in-app self-update to prevent a silent downgrade
|
||||
to the community build.
|
||||
- Registry rebuilds no longer emit no-op relationship-change records, keeping
|
||||
resource history growth bounded on busy deployments.
|
||||
- Mock-mode churn is paced to homelab rates so demo deployments stop
|
||||
generating phantom change events.
|
||||
- Docker Swarm workload dedupe now picks cluster-scoped winners
|
||||
deterministically.
|
||||
- Relay pairing help now points at the Pulse Mobile install page.
|
||||
- v5 migration recovery states are clarified for interrupted migrations.
|
||||
- Docker, Helm, installer, and release-helper metadata now track the active
|
||||
release candidate version.
|
||||
|
||||
## Release Metadata
|
||||
|
||||
- Version: `v6.0.5-rc.4`
|
||||
- Rollback target: `v6.0.4`
|
||||
- Promotion path: release candidate from `main`
|
||||
|
|
@ -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.0.5-rc.3"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.0.5-rc.4"
|
||||
|
||||
resolve_default_pulse_version() {
|
||||
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
|
||||
|
|
|
|||
|
|
@ -336,6 +336,10 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
|||
"Pulse Mobile pairing",
|
||||
"SSO browser-session display labels",
|
||||
"route-aware Proxmox host URLs",
|
||||
"MSP report scheduling",
|
||||
"portal alert rollup",
|
||||
"per-disk-type temperature thresholds",
|
||||
"PBS backup discovery recovery",
|
||||
"rollback target for this release candidate is `v"+previous+"`",
|
||||
)
|
||||
assertFileContainsAll(t, changelogPath,
|
||||
|
|
@ -355,6 +359,10 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
|||
"Pulse Mobile pairing now omits unsafe non-HTTPS Pulse web handoff URLs",
|
||||
"OIDC and SAML browser sessions now expose a separate display label",
|
||||
"Proxmox host setup now prefers route-aware host URLs",
|
||||
"MSP reports now support scheduled delivery",
|
||||
"per-workspace alert rollup",
|
||||
"Physical disk temperature thresholds are now configurable per disk type",
|
||||
"PBS backup discovery now derives its memory bounds from real snapshot data",
|
||||
)
|
||||
assertFileContainsAll(t, repoFile("docs", "RELEASE_NOTES.md"),
|
||||
"docs/releases/RELEASE_NOTES_v"+version+".md",
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
|
|||
assertFileContainsAllNormalized(t, repoFile("docs", "release-control", "v6", "internal", "subsystems", "deployment-installability.md"),
|
||||
"The active support prerelease `v"+version+"` 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 `"+version+"` release version.",
|
||||
"This support prerelease keeps `rollback_version=v"+previous+"`, publishes a versioned public GitHub prerelease plus versioned Docker and Helm artifacts, and does not move stable/latest install pointers or stable semver aliases.",
|
||||
"legacy agent update token recovery, threshold-aware temperature display severity, PBS backup polling memory bounds, physical disk SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy OIDC SSO discovery with CSP nonce handling, mobile onboarding URL handoff sanitization, SSO browser-session display labels, and route-aware Proxmox host URLs behind RC validation",
|
||||
"legacy agent update token recovery, threshold-aware temperature display severity, PBS backup polling memory bounds, physical disk SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy OIDC SSO discovery with CSP nonce handling, mobile onboarding URL handoff sanitization, SSO browser-session display labels, route-aware Proxmox host URLs, MSP report scheduling with a portal alert rollup, per-disk-type temperature thresholds, PBS backup discovery recovery, host fingerprint auto-discovery, and surfaced agent auth failures behind RC validation",
|
||||
"For the active support prerelease `v"+version+"` cut, the repo-root compose default and `scripts/install-docker.sh` fallback must both pin `"+version+"` until the next governed stable cut moves them forward.",
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue