v1 deployable pkg6 depot: pkg5 imports, retention, TLS, telemetry and release pipeline #46
No reviewers
Labels
No labels
Compat/Breaking
Crazy Idea
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
OpenIndiana/ips!46
Loading…
Reference in a new issue
No description provided.
Delete branch "v1-integration-20260923"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An existing OpenIndiana pkg5 client must be able to consume packages from one authoritative pkg6 repository while multi-package imports switch atomically and hidden old versions retain exact serving. This integration adds generation-switched
.p5pimport with no-op exact retries and conflict rejection; fail-closed KDL FMRI exclusions and protected keeps; opt-in configurable retirement with a 12-month default and no automatic purge; direct/proxy TLS with ACME HTTP-01 and Cloudflare/Gandi DNS-01; bounded OTLP traces, metrics and logs; an IPS package and SMF service; and an operator book with illumos-style installed man pages. The unfinished pkg6 client is outside the release package.Alpha, beta, RC and stable tags use one semver release workflow. Each platform builds from the immutable tag and uploads its own assets only after its gates pass; prereleases are published when both platform jobs succeed, while stable releases stay draft for operator promotion. The current tag is
v1.0.0-rc.10(f8c456f). Its Solstice run 8977 passed the Linux job, 384 release-script checks, all 407 native tests, and native.p5pconstruction. Independent local Opus review found no blocker in the latest diagnostic change.Evidence through RC9: Linux release checks and all 407 OpenIndiana native release-profile tests pass. The
.p5pinstalls and verifies on a disposable Hipster VM; all packaged manpages render; SMF starts the depot aspkg6srvand puts missing or malformed readable KDL into maintenance; the native local pkg5 client refreshes the depot catalog, receives a package, and installs/verifies/uninstalls it in a scratch image. A live package upgrade uses pkg5's documented--no-backup-beonly in the disposable VM, preserves operator-edited KDL, delivers the new default as.kdl.new, and leaves the depot online. RC9 reached livepkg uninstall, which failed when the throwaway VM's master SMF restarter lacked its NONPERSISTENTrestarterproperty group. The package must retaindisable_fmri, so RC10 added stage-specific master-restarter checks and bounded diagnostics without weakening uninstall. RC10's fresh VM lacked that property group before package install;svc.startdandsvc.configdwere running but the master instance state was unavailable. The live package test therefore stopped at preflight, and no tagged IPS asset was published. The disposable VM image needs repair before this release gate can pass.The earlier RC1–RC8 failures and focused fixes are recorded on #41. RC1 scratch testing also exposed a real pkg5 catalog compatibility bug: pkg6 omitted the required empty
updatesfield fromcatalog.attrs; RC2 corrected it. Historical Hipster 2020 client and protected snapshot-maintenance acceptance in #42 remains open. Historical sources will be copied from NFS and imported locally into one final repository; mount/access details and infrastructure work are deferred. The code-only work is ready for renewed CI once the deferred disposable-VM image repair is done. This PR is not ready for v1 merge or production cutover on current evidence.Component changes are tracked in #43, #44, #45, #47, #48, #49, #50 and #51; release acceptance is tracked in #25, #41 and #42.
No textual conflicts; Cargo.lock merged cleanly and passes `cargo metadata --locked`. Semantic reconciliation: the telemetry route classifier kept an `index` operation label, but this line no longer routes /{publisher}/index/0 (ADR-004 read-only surface). Drop HttpOperation::Index so the label set matches the routes; the route template now classifies as unmatched. Release gate: require pkg6depotd::telemetry_otlp (10 tests) and raise config_fail_closed to 11 and packaged_config to 2 for the telemetry config tests; self-tests cover the telemetry suite as well. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>WIP: Integrate pkg5 import, telemetry and tagged IPS releasesto v1 deployable pkg6 depot: pkg5 imports, retention, TLS, telemetry and release pipelineRC1 gate update for exact tag
v1.0.0-rc.1(48f8b64): PR CI and both release-profile suites passed 403/403 tests. The Linux release job succeeded and uploaded its tarball, checksums and provenance. The illumos job built the IPS archive, then failed in Test IPS package on this throwaway VM. The Forgejo log stream stops after the passing test suite, so the failed assertion is not yet visible; native scratch-image reproduction is under way. The release remains a draft with Linux assets only. The RC tag will not be moved; a fix will use a new commit andv1.0.0-rc.2. Historical Hipster 2020 client validation is still separate and pending.oibuildnative validation of the immutable RC10 source now passes: release workspace build (-j2, 16m 01s), pkg5.p5pcreation, 155 focusedpkg6repo/pkg6depotdtests, and the new unprivileged pkg5 smoke (twice, including the reviewed cleanup/proxy fixes). Commita1d715badds the reusable pre-tag check and documents how to build the candidate archive from currentHEAD. It does not move the RC10 tag or alter the tag-triggered release pipeline.The Solstice live-image package test remains the release blocker. Job 22790 failed before
pkg installbecause the fresh VM's SMF master restarter lacks its NONPERSISTENT state group. The sharedoibuildzone was not changed at the OS/package/SMF level. Evidence and exact commands are in the workspace notenotes/ips-v1-oibuild-rc10.md; issue #41 tracks the live gate.RC11 release retry and temporary fallback are now concrete. Solstice run 8984: Linux success; illumos built and passed 407/407 release-profile tests, then was marked failed after the last visible test step (the final log does not identify the failing step). The exact annotated RC11 tag was built/tested on oibuild with 407/407 nextest, native pkg5 smoke, IPS package build, checksums and provenance. The five illumos assets were uploaded with the reviewed script from this PR, and Forgejo downloads match their local SHA-256 values. Published prerelease: https://code.aopc.cloud/OpenIndiana/ips/releases/tag/v1.0.0-rc.11 . Its body explicitly says the live-image IPS/SMF gate was not run in the oibuild validation.
Head
dfbb618adds ADR-011, suspends the slow Solstice illumos release job for future tags, and keeps branch CI full. Local validation: release script tests 443/443, native link retry tests 21/21, operator book checks, bash syntax and diff checks; independent Opus review found no blocker. Exact-head branch CI run 8985 passed both Linux and illumos jobs (407/407 tests on each platform). This PR remains open for its normal review/CI gates; the live-image/SMF validation remains a separate release acceptance gap.Superseded by #54, which brings the whole RC13 line (
feat/historical-import, a strict superset ofv1-integration-20260923) tomainin one pull request, as decided in ADR-015 item 6. Nothing from this branch is lost; closing to keep one integration path.Pull request closed