Add "Component versions in recent OpenVox releases" reference page#339
Open
miharp wants to merge 1 commit into
Open
Add "Component versions in recent OpenVox releases" reference page#339miharp wants to merge 1 commit into
miharp wants to merge 1 commit into
Conversation
21 tasks
Contributor
|
Does OpenBolt also have a requirement for OpenVox? (bolt apply) |
Contributor
Author
|
Good question — yes,
I could add an OpenVox column to the OpenBolt table, generated per release from
One reservation: this column shows a requirement range ( |
Contributor
|
OK from my side to use a version range, as this is the way how OpenBolt deals with this dependency. |
OpenVox ships its components on independent version lines (openvox-agent, openvox-server, openvoxdb, and OpenBolt all release separately with no shared version), so there is no single bundled version that answers "what's in this release?". Add a dedicated reference page with one generated table per component, each keyed by that component's own release. - New generators (mirroring AgentReleaseTable) resolve bundled versions from upstream component pins: ServerReleaseTable (server -> JRuby via the jruby-utils/jruby-deps chain), OpenvoxdbReleaseTable (release tags), and OpenboltReleaseTable (openbolt -> Ruby/OpenSSL/r10k). Unresolvable older tags skip with a warning; an empty resolve refuses to overwrite committed data. - Rake tasks references:server_versions, references:openvoxdb_versions, references:openbolt_versions, plus an umbrella references:component_versions; wired into build.yaml with committed-data fallback. - Multi-series ready: the per-OpenVox-series tables (agent/server/openvoxdb) write into _data/<table>/<nav_key>.yml and the page renders its own series via site.data.<table>[page.nav], so a future 9.x collection gets its own data file with no collision (validated with a throwaway 9.x cutover). OpenBolt is independent of the OpenVox major and stays shared in a single data file. - Fix a pre-existing bug: the agent table listed r10k, but r10k is bundled by openbolt-runtime, not the agent runtime (agent-runtime-8.x), so it does not ship in openvox-agent. Drop r10k from AgentReleaseTable and the agent table, and surface it in the OpenBolt table where it is actually bundled. Java and PostgreSQL are supported-version requirements, not pins, so they are shown as hand-maintained notes; openvoxdb-termini tracks openvoxdb and is noted, not tabled. - Move the agent release-contents table off about_agent.md (now a pointer) to avoid duplication; add nav entry and repoint the collection index link. Part of OpenVoxProject#333 Signed-off-by: Michael Harp <mike@mikeharp.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
100e97c to
7b3cb40
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
docs/_openvox_8x/component_versions.md— a "Component versions in recent OpenVox releases" reference page (the OpenVox analog of PE'scomponent_versions_in_recent_pe_releases), so a reader can see which version of each stack component ships in each release in one place.Why this is several tables, not one
Unlike Puppet Enterprise, OpenVox has no single bundling version —
openvox-agent,openvox-server,openvoxdb, andopenboltrelease on independent version lines (e.g. agent 8.28.0, server 8.13.0, openbolt 5.6.0 — unrelated numbers). A unified matrix would need an invented join key, so each component gets its own table keyed by its own release.What's generated vs hand-maintained
Generated from upstream component pins (never hand-maintained), via new tasks under
references:component_versions:jruby-utils→jruby-deps.Hand-maintained with explicit "not bundled" notes (no upstream pin exists): Java (
17, 21) and PostgreSQL (11+, 14+ recommended — matchingconfigure_postgres).openvoxdb-terminitracksopenvoxdband is noted rather than tabled.Fixes a pre-existing r10k bug
The old agent table listed r10k, but r10k is bundled by
openbolt-runtime, not the agent runtime (agent-runtime-8.x) — it never shipped inopenvox-agent. r10k is dropped from the agent table and surfaced on the OpenBolt table where it's actually bundled. (Verified: r10k is absent from an installedopenvox-agentgem list and present in OpenBolt's.)Multi-version ready
Per-OpenVox-series tables write to
_data/<table>/<nav_key>.ymland the page renders its own series viasite.data.<table>[page.nav], so a future 9.x collection gets its own data file with no collision. OpenBolt is independent of the OpenVox major and stays shared. Validated with a throwaway 9.x cutover (8.x and 9.x pages rendered their own data), composing with the cutover runbook from #337.Implementation notes
lib/puppet_references/release_tables.rb: aReleaseTablebase (shared GitHub releases/contents plumbing) + four thin subclasses.about_agent.md(now a pointer) to avoid duplication; nav entry + collection index link added.build.yamlwith a committed-data fallback so a transient GitHub API failure never breaks the build.Validation
rake rubocop, markdown-lint, andjekyll buildclean; generated data regenerates byte-identical.Follow-up (not in this PR)
MAINTAINING.md(added in #337) should gain the per-seriesrake references:*_versions SERIES=9.step so a maintainer doing the 9.x cutover regenerates these data files. Happy to do that as a separate focused PR.Part of #333