Summary
Build a "Component versions in recent OpenVox releases" reference page, modeled on Puppet's PE equivalent (component_versions_in_recent_pe_releases). The goal is a single page where a reader can see which versions of every stack component ship in each OpenVox release.
Why
Today version information is scattered:
docs/_openvox_8x/about_agent.md has a generated table, but it is agent-only (OpenFact, Ruby, OpenSSL, curl, r10k) and per-series.
- Server-side components (Puppet Server, JRuby, Java) and data components (OpenVoxDB, PostgreSQL) aren't surfaced together anywhere.
- There's no full-stack, per-release matrix, which is the most common "what's actually in this release?" question — exactly what prompted the discussion (the OpenVox 8/9 platform overview ask in Slack).
Model: the PE page structure
The PE page uses two tables across recent releases:
- Agent and server components — PE Version, Puppet/agent, Facter, MRI Ruby, JRuby, OpenSSL.
- Server node components — PE Version, Puppet Server, PuppetDB, r10k, Bolt Services, ACE Services, PostgreSQL, Java, Nginx.
The OpenVox analog should cover the components we actually ship. Proposed (refine during implementation):
- Agent / runtime: OpenVox (agent) release, OpenFact, Ruby, OpenSSL, curl, r10k
- Server: OpenVox Server, JRuby, Java
- Data: OpenVoxDB, PostgreSQL
- Language: Puppet DSL version
(Drop PE-specific rows that have no OpenVox equivalent, e.g. ACE.)
OpenFact note: include OpenFact as a bundled-component column (it's the Facter-equivalent row and is already generated in about_agent.md), but present it as the bundled version with a link to the _openfact docs. This page is not the authoritative OpenFact changelog — the OpenFact collection is — so the column is a pointer, not a duplicate source of truth.
Data sourcing
The agent columns already come from generated, authoritative component pins via rake references:agent_versions (PuppetReferences::AgentReleaseTable, reading OpenVoxProject/openvox + puppet-runtime pins). This page should extend that generated approach rather than be hand-maintained:
- Reuse the existing agent-contents data for agent/runtime columns (incl. OpenFact).
- Add resolvers for server components (JRuby/Java from
openvox-server pins) and OpenVoxDB/PostgreSQL.
- Anything that genuinely can't be generated yet can start hand-maintained with a clear "regenerate with…" note, but the bias should be generated to avoid drift.
Relationship to other issues
Open questions
- Placement: dedicated reference page in the
openvox nav, vs. an expansion of about_agent.md. (Leaning dedicated page, since it spans agent + server + data, not just the agent package.)
- One combined table vs. PE's split (agent/server + server-node). Likely two tables for readability.
- Which release depth to show (PE shows ~19, mostly LTS). OpenVox should pick a sensible window (e.g. current series back to a min release, matching the
MIN_RELEASE convention).
Acceptance criteria
Summary
Build a "Component versions in recent OpenVox releases" reference page, modeled on Puppet's PE equivalent (component_versions_in_recent_pe_releases). The goal is a single page where a reader can see which versions of every stack component ship in each OpenVox release.
Why
Today version information is scattered:
docs/_openvox_8x/about_agent.mdhas a generated table, but it is agent-only (OpenFact, Ruby, OpenSSL, curl, r10k) and per-series.Model: the PE page structure
The PE page uses two tables across recent releases:
The OpenVox analog should cover the components we actually ship. Proposed (refine during implementation):
(Drop PE-specific rows that have no OpenVox equivalent, e.g. ACE.)
OpenFact note: include OpenFact as a bundled-component column (it's the Facter-equivalent row and is already generated in
about_agent.md), but present it as the bundled version with a link to the_openfactdocs. This page is not the authoritative OpenFact changelog — the OpenFact collection is — so the column is a pointer, not a duplicate source of truth.Data sourcing
The agent columns already come from generated, authoritative component pins via
rake references:agent_versions(PuppetReferences::AgentReleaseTable, readingOpenVoxProject/openvox+puppet-runtimepins). This page should extend that generated approach rather than be hand-maintained:openvox-serverpins) and OpenVoxDB/PostgreSQL.Relationship to other issues
Open questions
openvoxnav, vs. an expansion ofabout_agent.md. (Leaning dedicated page, since it spans agent + server + data, not just the agent package.)MIN_RELEASEconvention).Acceptance criteria