mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
Align Docker defaults with v6.0.4-rc.1
Pin Docker install defaults and Helm metadata to the support prerelease version.
This commit is contained in:
@@ -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.3
|
||||
appVersion: "6.0.3"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.3/docs/images/pulse-logo.svg
|
||||
version: 6.0.4-rc.1
|
||||
appVersion: "6.0.4-rc.1"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.4-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.0.3/docs/KUBERNETES.md
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.0.4-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 monitoring agent.
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ version: '3.8'
|
||||
|
||||
services:
|
||||
pulse:
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.3}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.4-rc.1}
|
||||
container_name: pulse
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
|
||||
@@ -804,12 +804,14 @@ TLS floor in the dynamic config.
|
||||
|
||||
## Current State
|
||||
|
||||
The active stable `v6.0.3` 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.3` release version. This patch
|
||||
release uses the stable hotfix path with `rollback_version=v6.0.2`,
|
||||
`hotfix_exception=true`, a release-owner reason, and no fabricated
|
||||
same-version RC tag. The initial GA promotion metadata remains
|
||||
The active support prerelease `v6.0.4-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.0.4-rc.1` release
|
||||
version. This support prerelease uses the private Pro support image path with a
|
||||
stable rollback reference `v6.0.3`, no `latest` movement, no stable semver tag
|
||||
movement, no R2 manifest promotion, no broker download metadata promotion, and
|
||||
no public `rcourtman/pulse` image publication. The initial GA promotion
|
||||
metadata remains
|
||||
`promoted_from_tag=v6.0.0-rc.7`, `rollback_version=v5.1.35`,
|
||||
`ga_date=2026-07-04`, and `v5_eos_date=2026-10-02` for the first stable
|
||||
`6.0.0` cut.
|
||||
@@ -861,10 +863,11 @@ 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 stable `v6.0.3` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.0.3`; the stable
|
||||
promotion guard remains in force by rejecting leftover `-rc.` defaults when
|
||||
the governed `VERSION` is a stable release.
|
||||
For the active support prerelease `v6.0.4-rc.1` cut, the repo-root compose
|
||||
default and `scripts/install-docker.sh` fallback must both pin `6.0.4-rc.1`
|
||||
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.
|
||||
The RC7 packet refresh records `fc10de9b5477613316473267b72b05b6b2b7aaff`
|
||||
as the current validation-risk commit. That head includes the earlier
|
||||
Docker-default correction plus the follow-on capacity-forecast and Patrol
|
||||
|
||||
@@ -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.3"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.0.4-rc.1"
|
||||
|
||||
resolve_default_pulse_version() {
|
||||
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
|
||||
|
||||
@@ -107,6 +107,10 @@ func TestBuildReleaseUsesV6InstallScripts(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func shieldsBadgeMessage(value string) string {
|
||||
return strings.ReplaceAll(value, "-", "--")
|
||||
}
|
||||
|
||||
func TestCreateReleaseUploadsPowerShellInstaller(t *testing.T) {
|
||||
content, err := os.ReadFile(repoFile(".github", "workflows", "create-release.yml"))
|
||||
if err != nil {
|
||||
@@ -736,9 +740,10 @@ func TestDeploymentDefaultsPinVersionedImagesAndHelmDocsChecksum(t *testing.T) {
|
||||
t.Fatalf("read Helm README.md: %v", err)
|
||||
}
|
||||
chartReadme := string(chartReadmeBytes)
|
||||
badgeVersion := shieldsBadgeMessage(version)
|
||||
chartReadmeRequired := []string{
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
for _, needle := range chartReadmeRequired {
|
||||
if !strings.Contains(chartReadme, needle) {
|
||||
|
||||
@@ -42,6 +42,17 @@ func previousStablePatchVersion(version string) (string, bool) {
|
||||
return fmt.Sprintf("%s.%s.%d", parts[0], parts[1], patch-1), true
|
||||
}
|
||||
|
||||
func previousStableForPrereleaseVersion(version string) (string, bool) {
|
||||
if !isPrereleaseVersion(version) {
|
||||
return "", false
|
||||
}
|
||||
base, _, ok := strings.Cut(version, "-")
|
||||
if !ok {
|
||||
return "", false
|
||||
}
|
||||
return previousStablePatchVersion(base)
|
||||
}
|
||||
|
||||
func TestInstallDockerScriptUsesConfiguredImageRepoDefault(t *testing.T) {
|
||||
workDir := t.TempDir()
|
||||
version := currentReleaseVersion(t)
|
||||
@@ -172,6 +183,23 @@ func TestInstallDockerProofTracksStablePatchReleaseContract(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
|
||||
version := currentReleaseVersion(t)
|
||||
if !isPrereleaseVersion(version) {
|
||||
t.Skip("current release is stable")
|
||||
}
|
||||
previous, ok := previousStableForPrereleaseVersion(version)
|
||||
if !ok {
|
||||
t.Skip("current prerelease does not have a previous stable patch")
|
||||
}
|
||||
|
||||
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 uses the private Pro support image path with a stable rollback reference `v"+previous+"`, no `latest` movement, no stable semver tag movement, no R2 manifest promotion, no broker download metadata promotion, and no public `rcourtman/pulse` image publication.",
|
||||
"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.",
|
||||
)
|
||||
}
|
||||
|
||||
func runInstallDockerScript(t *testing.T, workDir string, envVars ...string) {
|
||||
t.Helper()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user