Commit Graph

211 Commits

Author SHA1 Message Date
pulse-triage[bot] c8f19c1dbc chore(release): prepare repaired v6.4.4-beta.2
Freeze the protected notification recovery repair as the next beta checkpoint and align version pins, tester notes, rollback guidance, and the zero-capture visual plan.

Contract-Neutral: release preparation changes version and delivery metadata only; product runtime and public API behavior remain the reviewed release-line checkpoint.
Change-source: pulse-maintainer
(cherry picked from commit 9a1f44d7c8a3e7757f5f3f3a1f8016997f04fc72)
2026-09-09 14:41:55 +01:00
pulse-triage[bot] 2455c36112 chore(release): prepare v6.4.4-beta.1 checkpoint
Advance the protected v6.4 release line to the bounded alert-reliability beta, align install and chart metadata, and add the user-facing packet. Extend same-commit package and installer proof so alpha, beta, and RC preparation is governed without weakening the completion guard. Disclose the fresh stable Retry/Dismiss 503 report without claiming this candidate repairs that installed failure.

Change-source: pulse-maintainer
2026-09-07 10:45:36 +01:00
rcourtman 62bfdbca7e Prepare v6.4.3-rc.1 release
Open the v6.4.3 candidate line from main. The v6.4.2 tag was staged on
2026-08-31 but never activated: its release run was cancelled after the
private Pro build failed the compiler memory gate, so the latest published
stable is still v6.4.1. This candidate carries the complete v6.4.2 change
set plus the corrections landed since that tag, including the stale PBS
Backup Running state (#1815), the Windows Unified Agent auto-update 404
(#1820), and shared-token same-hostname agent identity collapse (#1753).

Packet: VERSION, compose and install-docker defaults, Helm chart metadata,
release notes with a declined visual plan, changelog, pointer docs and
the shipped docs mirror, and the deployment-installability cutoff note.
Rollback target is v6.4.1 and the mobile decision is no-mobile-impact.

Tests: the packet tests now describe the 6.4.3 train, v6.4.2 is recorded
as an unpublished stable so it is never derived as the previous stable or
rollback target, and the Python v6.4.2 notes expectation matches the
phrase the notes actually use.
2026-09-01 21:37:41 +01:00
Richard Courtman d3884d64db Prepare v6.4.2 security patch 2026-08-31 01:03:09 +01:00
pulse-triage[bot] 0d32dac16e Keep release toolchains within support 2026-08-30 06:40:25 +01:00
pulse-triage[bot] d80a6a44b3 Prepare v6.4.1 stable patch 2026-08-29 11:06:26 +01:00
Richard Courtman 41428f46a3 Prepare v6.4.0 stable release 2026-08-28 23:57:03 +01:00
pulse-triage[bot] bd458f8f05 Prepare v6.4.0-rc.13 release
Package the bounded stopped-container inspection cadence and same-name Proxmox agent-link correction as the next governed release candidate. Keep stable pointers on v6.3.2 and record unchanged mobile compatibility and Windows signing posture.\n\nContract-Neutral: versioned release metadata only; runtime changes landed in preceding commits
2026-08-28 20:02:31 +01:00
Pulse Test dae55f0977 fix(release): complete v6.4.0-rc.12 install packet
Contract-Neutral: versioned release metadata and install defaults only; runtime behavior and proof changes landed in preceding commits
2026-08-28 15:25:46 +01:00
pulse-triage[bot] f20cec6b70 Prepare v6.4.0-rc.11 release 2026-08-28 10:08:42 +01:00
Richard Courtman 827017e196 Prepare v6.4.0-rc.10 release 2026-08-28 02:23:24 +01:00
Richard Courtman dac72894a2 Prepare v6.4.0-rc.9 release 2026-08-28 01:36:53 +01:00
Richard Courtman bac7e5d952 Prepare v6.4.0-rc.8 release
Advance the immutable candidate after rc.7 failed its backend gate, keep stable rollback on v6.3.2, and refresh release, Docker, Helm, and mobile-compatibility metadata.

Change-source: pulse-maintainer
2026-08-28 01:05:24 +01:00
Richard Courtman 595c369d85 Prepare v6.4.0-rc.7 release
Package durable alert lifecycle recovery, richer scheduling and routing, capacity forecasting, host disk policy, external availability monitoring, and governed action verification for the next prerelease.

Change-source: pulse-maintainer
2026-08-28 00:22:44 +01:00
pulse-triage[bot] 1f28d950c3 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
2026-08-27 05:47:17 +01:00
pulse-triage[bot] aa50087c08 security(build): advance release toolchain to Go 1.26.7
Use the current supported Go 1.26 security patch across source, release, dev, and production container build surfaces. Keep the immutable official builder pin and governance proofs aligned with the exact toolchain.

Change-source: pulse-maintainer
2026-08-27 05:04:03 +01:00
pulse-triage[bot] 5859f49817 security(build): upgrade release toolchain to Go 1.26.6
Advance local, release, and container build surfaces together so reachable standard-library advisories cannot re-enter shipped binaries. Pin the official amd64 builder manifest and govern the updated floor with installability and dev-runtime proofs.

Change-source: pulse-maintainer
2026-08-27 04:24:10 +01:00
pulse-triage[bot] 3b21d4c257 Prepare v6.4.0-rc.5 release
Package the atomic API-token deletion fix, alert delivery evidence, reducer-backed lifecycle cutover, separated agent install tokens, and filesystem history feedback for the next release candidate.

Change-source: pulse-maintainer
2026-08-27 00:55:23 +01:00
rcourtman 5194e0ca4d Prepare v6.4.0-rc.4 release 2026-08-26 19:08:28 +01:00
Richard Courtman 8051e54d9a Prepare v6.4.0-rc.3 release 2026-08-26 00:58:11 +01:00
Richard Courtman adc20fc74a Prepare v6.4.0-rc.2 release 2026-08-25 23:37:05 +01:00
rcourtman 831e55f011 Prepare v6.4.0-rc.1 release 2026-08-25 09:51:51 +01:00
rcourtman e51618a9ce Prepare v6.3.1 stable patch release 2026-08-23 10:38:19 +01:00
rcourtman b88e05d1ce Prepare v6.3.0 stable release 2026-08-22 10:35:27 +01:00
rcourtman 0cd70edd90 Prepare v6.3.0-rc.6 release 2026-08-21 18:56:45 +01:00
rcourtman 4217f72bdc Prepare v6.3.0-rc.5 release 2026-08-21 15:14:23 +01:00
rcourtman ae317c96bb Publish images from exact candidate payloads 2026-08-21 14:17:12 +01:00
rcourtman 7da385cf28 Prepare v6.3.0-rc.4 release 2026-08-21 00:00:37 +01:00
rcourtman 2f6f2396b6 Prepare v6.3.0-rc.3 release
Contract-Neutral: Routine release-preparation cut for v6.3.0-rc.3. deployment-installability.md IS staged with the substantive active-prerelease and mobile-decision updates for this cut. The residual demand is a verification artifact, and the registry-listed proof scripts/installtests/build_release_assets_test.go plus install_docker_sh_test.go already cover this change and pass against it; they validate the packet dynamically from the repo-root VERSION rather than pinning a literal, so they have no diff to stage. Both were run green immediately before this commit and caught two real errors in the mobile-decision clauses, which are fixed here.
2026-08-18 22:36:10 +01:00
rcourtman 2eeb643afe Prepare v6.3.0-rc.2 release 2026-08-18 13:31:21 +01:00
rcourtman 2c59fb742e Prepare v6.3.0-rc.1 release 2026-08-17 22:04:54 +01:00
rcourtman b1fc6c7dca Prepare v6.2.2-rc.3 release 2026-08-17 20:57:22 +01:00
rcourtman 929c03b490 Prepare v6.2.2-rc.2 release 2026-08-13 10:54:36 +01:00
rcourtman 2c48696ad7 Prepare v6.2.2-rc.1 release 2026-08-12 17:22:10 +01:00
rcourtman 56262c6368 Fix provider MSP evaluation setup flow 2026-08-11 16:51:15 +01:00
rcourtman c17664b3da Distinguish MSP evaluation issuance from readiness 2026-08-11 14:50:47 +01:00
rcourtman 9449a6909e Make provider MSP evaluation activation attributable 2026-08-11 14:27:29 +01:00
rcourtman 5a865820a6 Prepare v6.2.1 emergency patch release 2026-08-10 00:54:43 +01:00
rcourtman e9904157e7 Prepare v6.2.0 stable release 2026-08-09 10:43:19 +01:00
Richard Courtman 894e0eb213 chore(release): prepare v6.2.0-rc.11 2026-08-08 20:26:15 +01:00
rcourtman 81ccca17a5 Prepare v6.2.0-rc.10 release 2026-08-08 17:34:07 +01:00
rcourtman fbee92614a fix(release): restore verifiable MSP evaluation delivery 2026-08-08 01:04:07 +01:00
rcourtman 4885c378aa Keep the operator .env out of the Traefik container and unhardcode the DNS-01 provider
Traefik took the whole operator .env via env_file, so the internet-facing
container's environment carried CP_ADMIN_KEY and the entitlement signing
private key, neither of which it needs. It now receives only ACME/DNS
material: the CF token by explicit passthrough plus an optional
dns-credentials.env that setup.sh creates 0600.

The same wiring removes the silent Cloudflare-only narrowing: the resolver
provider is now ACME_DNS_PROVIDER (default cloudflare) via Traefik's env
override, the CF token is required only for the default provider, and any
other Traefik dnsChallenge provider supplies its credential variables through
dns-credentials.env. Pinned by
TestProviderMSPTraefikEnvIsMinimalAndDNSProviderOverridable; contract delta
in deployment-installability.
2026-08-07 10:47:13 +01:00
Richard Courtman 8a616b4b56 Prepare v6.2.0-rc.9 release 2026-08-07 10:03:16 +01:00
rcourtman 7c9a572349 chore(ci): stop resurrecting the pulse-agent GHCR package
The agent_runtime verify-only build pointed its registry buildcache at
ghcr.io/<owner>/pulse-agent, a package no workflow publishes. A cache ref
creates the package it points at, so every release recreated it and the
repository's Packages sidebar advertised an empty pulse-agent entry that
reads like a pullable agent image sitting beside the real pulse,
pulse-control-plane and pulse-chart/pulse packages. The only release tag it
ever carried is a stray v6.0.0-rc.3.

Move the cache to ghcr.io/<owner>/pulse:agent-buildcache, alongside the
runtime stage's existing pulse:buildcache tag, so it lives in the package
that actually ships and shares backend-builder layers with the runtime
build.

TestAgentBuildCacheDoesNotResurrectPulseAgentPackage locks this in. It scans
every workflow for registry-qualified refs to the pulse-agent package,
collapsing ${{ }} expressions first so an interpolated owner cannot hide one
behind its spaces, and asserts both the new cache target and the chart's
published agent image default. Verified red on a restored buildcache ref and
red again on a ref hidden behind ${{ github.repository_owner }}.

Two stale claims corrected while here. The chart values comment said the old
agent.image default was never published, when it did carry v6.0.0-rc.3. The
deployment-installability contract called rcourtman/pulse the only image
publish-docker.yml pushes, when the same workflow also pushes the MSP
pulse-control-plane image. The contract now also forbids buildcache
references to the pulse-agent package, which is what let this regress.

Deleting the orphaned package itself remains a manual GHCR step.
2026-08-06 10:48:05 +01:00
rcourtman f5c492357e Revert "Prepare v6.2.0-rc.9 release"
Restore RC8 release metadata and remove the unpublished RC9 packet after cancelling its release workflow.
2026-08-05 22:18:52 +01:00
rcourtman c16a9901b4 Prepare v6.2.0-rc.9 release
Advance the governed install, Docker, and Helm metadata together; add the RC9 release packet for the post-RC8 notification, lifecycle, and resource-read fixes; and record the existing mobile-candidate compatibility decision.
2026-08-05 21:34:53 +01:00
rcourtman fdcb223e6f Prepare v6.2.0-rc.8 release 2026-08-05 14:43:37 +01:00
rcourtman 27948c6de4 Prepare v6.2.0-rc.7 release 2026-08-03 22:17:03 +01:00
rcourtman 9d9f13e7b0 Self-issue the MSP evaluation licence, and fix two things it exposed
The evaluation mode added earlier today was hollow. An unlicensed control
plane starts, but release-build client runtimes only trust entitlement
leases chained to a Pulse-signed licence, so its client workspaces ran
without the capabilities the provider was evaluating. Standing the stack
up proved the portal and the isolation boundary and nothing else.

setup.sh now requests a capped evaluation licence from the licence server
when no licence path is set, sending only the public half of the key it
generated locally. It degrades rather than blocks: a missing key, an
unreachable server, or a licence-free response leaves the install
unlicensed with an explicit warning, an existing licence on disk is
reused, and PULSE_PROVIDER_MSP_SKIP_EVAL_LICENSE skips it for air-gapped
hosts. Guarded with an if-test rather than a trailing true inside the
command substitution, because the derive helper calls die and exit in a
subshell is not a status that can be caught, so setup.sh aborted under
set -e.

Second fix. The lease capability ceiling was selected by licence
presence, so an unlicensed provider control plane fell through to the
Pulse-hosted branch and minted leases claiming relay, mobile and push,
which a provider deployment cannot serve and which previously caused
repeating relay registration failures in client runtimes. The ceiling now
follows hosting via SetProviderHosted. providerChained keeps its narrower
meaning of having a licence available to embed.

Third. Corrects a sentence I wrote into cloud-paid.md this afternoon
claiming msp_eval carries the same MSP capabilities. A plan version
selects the workspace cap; it does not entitle a workspace.

The regression test was negative-tested by reverting the ceiling selector
and confirming it catches relay. All three setup.sh degradation paths
were exercised directly. Licence server side is pulse-pro 7f6a319 and is
not live until the next deploy-license-server run.
2026-08-03 18:14:05 +01:00