mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
Prepare v6.3.0-rc.1 release
This commit is contained in:
@@ -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.2.2-rc.3
|
||||
appVersion: "6.2.2-rc.3"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.2.2-rc.3/docs/images/pulse-logo.svg
|
||||
version: 6.3.0-rc.1
|
||||
appVersion: "6.3.0-rc.1"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.3.0-rc.1/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.2.2-rc.3/docs/KUBERNETES.md
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.3.0-rc.1/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.
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ version: '3.8'
|
||||
|
||||
services:
|
||||
pulse:
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.2.2-rc.3}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.3.0-rc.1}
|
||||
container_name: pulse
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
|
||||
@@ -6,9 +6,9 @@ Pulse release notes live on GitHub:
|
||||
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.2.2-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
|
||||
For the current v6 release candidate packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.2.1.md`
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
|
||||
This guide covers practical upgrade steps for existing Pulse installs moving to v6.
|
||||
|
||||
For the current v6 support release candidate packet, see:
|
||||
For the current v6 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.2.2-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
|
||||
@@ -1447,25 +1447,25 @@ 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 support prerelease `v6.2.2-rc.3` cut sets the repo-root `VERSION`,
|
||||
The active prerelease `v6.3.0-rc.1` 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.2.2-rc.3` release
|
||||
version. It follows stable `v6.2.1`, supersedes `v6.2.2-rc.2`, uses
|
||||
fallback, and Helm chart release metadata to the same `6.3.0-rc.1` release
|
||||
version. It follows stable `v6.2.1`, opens the 6.3 candidate line, uses
|
||||
`rollback_version=v6.2.1`, and keeps stable/latest pointers on `v6.2.1`. This
|
||||
candidate retains the complete earlier packet and adds durable scoped Patrol
|
||||
candidate establishes the new minor-release packet with durable scoped Patrol
|
||||
objectives, validated read-only observers, verified work receipts, agent action
|
||||
preflight with stable refusal codes, large-estate response improvements, and
|
||||
monitoring correctness fixes. Subscription-backed Patrol turns also bound
|
||||
command cleanup after an idle deadline so descendant-held output pipes cannot
|
||||
extend the caller-owned stall budget. The changes since `v6.2.2-rc.2` do not require a
|
||||
extend the caller-owned stall budget. The changes since `v6.2.1` 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 mobile-store rollout is part
|
||||
of this candidate.
|
||||
The prerelease Windows path retains exact-SHA, checksum, and detached-signature
|
||||
verification without Authenticode; stable `v6.2.2` restores mandatory SignPath
|
||||
verification without Authenticode; stable `v6.3.0` restores mandatory SignPath
|
||||
signing unless a new version-bound decision is recorded.
|
||||
This support prerelease keeps `rollback_version=v6.2.1`, publishes a versioned
|
||||
This prerelease keeps `rollback_version=v6.2.1`, publishes a versioned
|
||||
public GitHub prerelease plus versioned Docker and Helm artifacts, and does not
|
||||
move stable/latest install pointers or stable semver aliases.
|
||||
|
||||
@@ -1738,8 +1738,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 support prerelease `v6.2.2-rc.3` cut, the repo-root compose
|
||||
default and `scripts/install-docker.sh` fallback must both pin `6.2.2-rc.3`
|
||||
For the active prerelease `v6.3.0-rc.1` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.3.0-rc.1`
|
||||
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
|
||||
|
||||
+8
-9
@@ -1,10 +1,9 @@
|
||||
# Pulse v6.2.2-rc.3 Release Notes
|
||||
# Pulse v6.3.0-rc.1 Release Notes
|
||||
|
||||
`v6.2.2-rc.3` is a release candidate for the next Pulse v6 patch. It follows
|
||||
stable `v6.2.1` and supersedes `v6.2.2-rc.2`. This candidate includes the
|
||||
complete earlier packet and introduces the Patrol v2 operating model, guarded
|
||||
agent action preflight, large-estate response improvements, and monitoring
|
||||
correctness fixes.
|
||||
`v6.3.0-rc.1` is a release candidate for the next Pulse v6 minor release and
|
||||
the first candidate in the 6.3 line. It follows stable `v6.2.1` and introduces
|
||||
the Patrol v2 operating model, guarded agent action preflight, large-estate
|
||||
response improvements, and monitoring correctness fixes.
|
||||
|
||||
## Highlights
|
||||
|
||||
@@ -73,7 +72,7 @@ correctness fixes.
|
||||
|
||||
## Upgrade Notes
|
||||
|
||||
Use the normal v6 install or update flow for `v6.2.2-rc.3` only when you are
|
||||
Use the normal v6 install or update flow for `v6.3.0-rc.1` only when you are
|
||||
comfortable testing a release candidate. The rollback target is `v6.2.1`.
|
||||
|
||||
The exact rollback reinstall command is:
|
||||
@@ -82,14 +81,14 @@ The exact rollback reinstall command is:
|
||||
./scripts/install.sh --version v6.2.1
|
||||
```
|
||||
|
||||
The changes since `v6.2.2-rc.2` do not require a Pulse Mobile client change and
|
||||
The changes since `v6.2.1` do not require a Pulse Mobile client change and
|
||||
preserve the existing mobile, Relay, onboarding, and mobile-facing API
|
||||
contracts. No companion mobile build upload or public mobile-store rollout is
|
||||
part of this candidate.
|
||||
|
||||
Windows Unified Agent binaries in this prerelease retain exact-SHA, checksum,
|
||||
and detached-signature verification but are not Authenticode-signed, so Windows
|
||||
may display an Unknown Publisher warning. Stable `v6.2.2` still requires the
|
||||
may display an Unknown Publisher warning. Stable `v6.3.0` still requires the
|
||||
normal SignPath Authenticode lane unless a separate version-bound owner decision
|
||||
is recorded.
|
||||
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
# Pulse v6.2.2-rc.3
|
||||
# Pulse v6.3.0-rc.1
|
||||
|
||||
_This changelog describes the changes since `v6.2.2-rc.2`.
|
||||
`v6.2.2-rc.3` remains a prerelease and rolls back to stable `v6.2.1`._
|
||||
_This changelog describes the changes since `v6.2.1`.
|
||||
`v6.3.0-rc.1` is a prerelease and rolls back to stable `v6.2.1`._
|
||||
|
||||
## Added
|
||||
|
||||
@@ -50,8 +50,8 @@ _This changelog describes the changes since `v6.2.2-rc.2`.
|
||||
|
||||
## Release Metadata
|
||||
|
||||
- Version: `v6.2.2-rc.3`
|
||||
- Previous candidate: `v6.2.2-rc.2`
|
||||
- Version: `v6.3.0-rc.1`
|
||||
- Previous release: `v6.2.1`
|
||||
- Previous stable: `v6.2.1`
|
||||
- Rollback target: `v6.2.1`
|
||||
- Rollback command: `./scripts/install.sh --version v6.2.1`
|
||||
@@ -59,7 +59,7 @@ _This changelog describes the changes since `v6.2.2-rc.2`.
|
||||
published as a support prerelease without moving stable or latest pointers
|
||||
- Windows signing decision: the standing prerelease path publishes exact-SHA,
|
||||
checksum, and detached-signature verified Windows agents without
|
||||
Authenticode; stable `v6.2.2` restores mandatory SignPath signing
|
||||
- Mobile decision: `no-mobile-impact`; changes since `v6.2.2-rc.2` preserve the
|
||||
Authenticode; stable `v6.3.0` restores mandatory SignPath signing
|
||||
- Mobile decision: `no-mobile-impact`; changes since `v6.2.1` preserve the
|
||||
existing mobile, Relay, onboarding, and mobile-facing API contracts, and no
|
||||
companion upload or public store rollout is required
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
This guide covers practical upgrade steps for existing Pulse installs moving to v6.
|
||||
|
||||
For the current v6 support release candidate packet, see:
|
||||
For the current v6 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.2.2-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
|
||||
@@ -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.2.2-rc.3"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.3.0-rc.1"
|
||||
|
||||
resolve_default_pulse_version() {
|
||||
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
|
||||
|
||||
@@ -628,7 +628,7 @@ func TestCurrentStableMinorReleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
version := currentReleaseVersion(t)
|
||||
if !isPrereleaseVersion(version) {
|
||||
t.Skip("current release is stable")
|
||||
@@ -641,9 +641,9 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatalf("current prerelease %q has no stable target", version)
|
||||
}
|
||||
previousCandidate, ok := previousPrereleaseVersion(version)
|
||||
comparisonVersion, ok := previousPrereleaseVersion(version)
|
||||
if !ok {
|
||||
t.Fatalf("current support prerelease %q has no previous candidate", version)
|
||||
comparisonVersion = previous
|
||||
}
|
||||
|
||||
releaseNotesPath := repoFile("docs", "releases", "RELEASE_NOTES_v"+version+".md")
|
||||
@@ -658,7 +658,7 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
"Action refusal telemetry now classifies target changes, prerequisites, contract failures",
|
||||
"Subscription-backed turns now complete their idle timeout promptly",
|
||||
"The rollback target is `v"+previous+"`",
|
||||
"The changes since `v"+previousCandidate+"` do not require a Pulse Mobile client change",
|
||||
"The changes since `v"+comparisonVersion+"` do not require a Pulse Mobile client change",
|
||||
"preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
|
||||
"Windows Unified Agent binaries in this prerelease retain exact-SHA, checksum, and detached-signature verification but are not Authenticode-signed",
|
||||
"Stable `v"+stableTarget+"` still requires the normal SignPath Authenticode lane",
|
||||
@@ -669,24 +669,24 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
"Previous stable: `v"+previous+"`",
|
||||
"Rollback target: `v"+previous+"`",
|
||||
"Promotion path: exact-SHA single-build release candidate from `main`",
|
||||
"This changelog describes the changes since `v"+previousCandidate+"`",
|
||||
"This changelog describes the changes since `v"+comparisonVersion+"`",
|
||||
"Durable, scoped Patrol objectives and validated read-only observer missions",
|
||||
"Typed Unified Agent action preflight for supported host and Docker operations",
|
||||
"Stable pre-mutation refusal codes and fleet telemetry buckets",
|
||||
"Windows signing decision: the standing prerelease path publishes exact-SHA, checksum, and detached-signature verified Windows agents without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing",
|
||||
"Mobile decision: `no-mobile-impact`",
|
||||
"changes since `v"+previousCandidate+"` preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
|
||||
"changes since `v"+comparisonVersion+"` preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
|
||||
"no companion upload or public store rollout is required",
|
||||
)
|
||||
assertFileContainsAll(t, repoFile("docs", "RELEASE_NOTES.md"),
|
||||
"docs/releases/RELEASE_NOTES_v"+version+".md",
|
||||
"docs/releases/V6_CHANGELOG_v"+version+".md",
|
||||
"current v6 support release candidate packet",
|
||||
"current v6 release candidate packet",
|
||||
)
|
||||
assertFileContainsAll(t, repoFile("docs", "UPGRADE_v6.md"),
|
||||
"docs/releases/RELEASE_NOTES_v"+version+".md",
|
||||
"docs/releases/V6_CHANGELOG_v"+version+".md",
|
||||
"current v6 support release candidate packet",
|
||||
"current v6 release candidate packet",
|
||||
)
|
||||
assertFileContainsAll(t, repoFile("deploy", "helm", "pulse", "Chart.yaml"),
|
||||
"version: "+version,
|
||||
@@ -706,10 +706,10 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
`CANONICAL_DEFAULT_PULSE_VERSION="`+version+`"`,
|
||||
)
|
||||
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.",
|
||||
"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.",
|
||||
"The changes since `v"+previousCandidate+"` 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 mobile-store rollout is part of this candidate.",
|
||||
"The active 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 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.",
|
||||
"For the active 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.",
|
||||
"The changes since `v"+comparisonVersion+"` 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 mobile-store rollout is part of this candidate.",
|
||||
"The prerelease Windows path retains exact-SHA, checksum, and detached-signature verification without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing unless a new version-bound decision is recorded.",
|
||||
)
|
||||
}
|
||||
|
||||
@@ -139,6 +139,7 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T)
|
||||
{version: "6.2.2-rc.1", want: "6.2.1"},
|
||||
{version: "6.2.2-rc.2", want: "6.2.1"},
|
||||
{version: "6.2.2-rc.3", want: "6.2.1"},
|
||||
{version: "6.3.0-rc.1", want: "6.2.1"},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
@@ -336,7 +337,7 @@ func TestInstallDockerProofTracksStableMinorContract(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
|
||||
func TestInstallDockerProofTracksPrereleaseContract(t *testing.T) {
|
||||
version := currentReleaseVersion(t)
|
||||
if !isPrereleaseVersion(version) {
|
||||
t.Skip("current release is stable")
|
||||
@@ -349,17 +350,17 @@ func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatalf("current prerelease %q has no stable target", version)
|
||||
}
|
||||
previousCandidate, ok := previousPrereleaseVersion(version)
|
||||
comparisonVersion, ok := previousPrereleaseVersion(version)
|
||||
if !ok {
|
||||
t.Fatalf("current support prerelease %q has no previous candidate", version)
|
||||
comparisonVersion = previous
|
||||
}
|
||||
|
||||
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.",
|
||||
"The changes since `v"+previousCandidate+"` 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 mobile-store rollout is part of this candidate.",
|
||||
"The active 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 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.",
|
||||
"The changes since `v"+comparisonVersion+"` 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 mobile-store rollout is part of this candidate.",
|
||||
"The prerelease Windows path retains exact-SHA, checksum, and detached-signature verification without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing unless a new version-bound decision is recorded.",
|
||||
"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.",
|
||||
"For the active 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.",
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user