Skip to content

Add 'Component versions in recent OpenVox releases' page (PE-style full-stack matrix) #333

@miharp

Description

@miharp

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:

  1. Agent and server components — PE Version, Puppet/agent, Facter, MRI Ruby, JRuby, OpenSSL.
  2. 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

  • A reference page lists OpenVox releases with the version of each shipped component.
  • Agent/runtime columns (incl. OpenFact bundled version) are generated from the existing component-pin pipeline (no hand-maintained drift).
  • Server (JRuby/Java/Puppet Server) and data (OpenVoxDB/PostgreSQL) columns are included, generated where feasible.
  • OpenFact column links to the OpenFact docs and is presented as the bundled version, not an authoritative changelog.
  • Linked from the OpenVox index and reachable from the nav.
  • Works per-series so it survives the addition of a 9.x collection (see Make openvox-agent release-contents table multi-series before 9.x collection (prereq for #325) #332).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions