Skip to content

Commit 69968d8

Browse files
miharpclaude
andcommitted
Add a generated supported-platforms page
Render an OpenVox supported-platforms page from the authoritative platforms.json in OpenVoxProject/shared-actions, the same list the build system uses to decide where it builds packages, so the docs never drift from what actually ships. A new SupportedPlatforms generator fetches platforms.json, normalizes the OS and architecture tokens, and collapses the per-build-system platform lists into one row per operating system: the vanagon group becomes the openvox-agent / OpenBolt arches, the ezbake groups become openvox-server / OpenVoxDB availability, and redhatfips / ezbake-fips-rpm set a FIPS flag. Unknown tokens warn and pass through so a new upstream platform never breaks the build or silently disappears. The rake task writes _data/supported_platforms.yml (committed as a fallback), and build.yaml refreshes it at deploy time with the same fall-back-to-committed guard as the component-version tables. The page renders both series (8.x and the in-development next major) and is added to the OpenVox 8 nav. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
1 parent db17644 commit 69968d8

6 files changed

Lines changed: 512 additions & 0 deletions

File tree

.github/workflows/build.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ jobs:
9292
bundle exec rake references:server_versions || echo 'server_versions refresh failed; using committed _data'
9393
bundle exec rake references:openvoxdb_versions || echo 'openvoxdb_versions refresh failed; using committed _data'
9494
bundle exec rake references:openbolt_versions || echo 'openbolt_versions refresh failed; using committed _data'
95+
# Refresh the supported-platforms table from the shared-actions
96+
# platforms.json, falling back to the committed _data file if unreachable.
97+
bundle exec rake references:supported_platforms || echo 'supported_platforms refresh failed; using committed _data'
9598
bundle exec jekyll build
9699
- name: Archive website
97100
run: |

Rakefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,14 @@ namespace :references do
147147
desc 'Generate all component-version data files (agent, server, openvoxdb, openbolt)'
148148
task component_versions: %i[agent_versions server_versions openvoxdb_versions openbolt_versions]
149149

150+
desc 'Generate _data/supported_platforms.yml from the shared-actions platforms.json'
151+
task :supported_platforms do
152+
require 'puppet_references/supported_platforms'
153+
path = ENV.fetch('SUPPORTED_PLATFORMS_DATA', '_data/supported_platforms.yml')
154+
data = PuppetReferences::SupportedPlatforms.write_data_file(path:)
155+
puts "Wrote #{data.values.sum(&:size)} platform rows across #{data.size} series to #{path}"
156+
end
157+
150158
task :check do
151159
puts 'No VERSION given to build references for - using latest tag' unless ENV['VERSION']
152160
puts "Building into collection #{ENV.fetch('COLLECTION')}" if ENV['COLLECTION']

_data/nav/openvox_8x.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
link: "about_agent.html"
1212
- text: Component versions in recent releases
1313
link: "component_versions.html"
14+
- text: Supported platforms
15+
link: "supported_platforms.html"
1416
- text: Getting started
1517
items:
1618
- text: Getting started with OpenVox

_data/supported_platforms.yml

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
---
2+
main:
3+
- os: Enterprise Linux 8
4+
family: el
5+
agent_bolt:
6+
- x86-64
7+
- Arm64
8+
server_db: true
9+
fips: true
10+
- os: Enterprise Linux 9
11+
family: el
12+
agent_bolt:
13+
- x86-64
14+
- Arm64
15+
server_db: true
16+
fips: true
17+
- os: Enterprise Linux 10
18+
family: el
19+
agent_bolt:
20+
- x86-64
21+
- Arm64
22+
server_db: true
23+
fips: false
24+
- os: Amazon Linux 2023
25+
family: amazon
26+
agent_bolt:
27+
- x86-64
28+
- Arm64
29+
server_db: true
30+
fips: false
31+
- os: Fedora 43
32+
family: fedora
33+
agent_bolt:
34+
- x86-64
35+
- Arm64
36+
server_db: true
37+
fips: false
38+
- os: Fedora 44
39+
family: fedora
40+
agent_bolt:
41+
- x86-64
42+
- Arm64
43+
server_db: true
44+
fips: false
45+
- os: SLES 15
46+
family: sles
47+
agent_bolt:
48+
- x86-64
49+
server_db: true
50+
fips: false
51+
- os: SLES 16
52+
family: sles
53+
agent_bolt:
54+
- x86-64
55+
- Arm64
56+
server_db: true
57+
fips: false
58+
- os: Debian 12
59+
family: debian
60+
agent_bolt:
61+
- x86-64
62+
- Arm64
63+
server_db: false
64+
fips: false
65+
- os: Debian 13
66+
family: debian
67+
agent_bolt:
68+
- x86-64
69+
- Arm64
70+
- armhf
71+
server_db: true
72+
fips: false
73+
- os: Ubuntu 22.04
74+
family: ubuntu
75+
agent_bolt:
76+
- x86-64
77+
- Arm64
78+
server_db: true
79+
fips: false
80+
- os: Ubuntu 24.04
81+
family: ubuntu
82+
agent_bolt:
83+
- x86-64
84+
- Arm64
85+
- armhf
86+
server_db: true
87+
fips: false
88+
- os: Ubuntu 26.04
89+
family: ubuntu
90+
agent_bolt:
91+
- x86-64
92+
- Arm64
93+
- armhf
94+
server_db: true
95+
fips: false
96+
- os: macOS
97+
family: macos
98+
agent_bolt:
99+
- Intel
100+
- Apple Silicon
101+
server_db: false
102+
fips: false
103+
- os: Windows
104+
family: windows
105+
agent_bolt:
106+
- x86-64
107+
server_db: false
108+
fips: false
109+
8.x:
110+
- os: Enterprise Linux 7
111+
family: el
112+
agent_bolt:
113+
- x86-64
114+
server_db: false
115+
fips: false
116+
- os: Enterprise Linux 8
117+
family: el
118+
agent_bolt:
119+
- x86-64
120+
- Arm64
121+
server_db: true
122+
fips: true
123+
- os: Enterprise Linux 9
124+
family: el
125+
agent_bolt:
126+
- x86-64
127+
- Arm64
128+
server_db: true
129+
fips: true
130+
- os: Enterprise Linux 10
131+
family: el
132+
agent_bolt:
133+
- x86-64
134+
- Arm64
135+
server_db: true
136+
fips: false
137+
- os: Amazon Linux 2
138+
family: amazon
139+
agent_bolt:
140+
- x86-64
141+
- Arm64
142+
server_db: true
143+
fips: false
144+
- os: Amazon Linux 2023
145+
family: amazon
146+
agent_bolt:
147+
- x86-64
148+
- Arm64
149+
server_db: true
150+
fips: false
151+
- os: Fedora 42
152+
family: fedora
153+
agent_bolt:
154+
- x86-64
155+
- Arm64
156+
server_db: true
157+
fips: false
158+
- os: Fedora 43
159+
family: fedora
160+
agent_bolt:
161+
- x86-64
162+
- Arm64
163+
server_db: true
164+
fips: false
165+
- os: Fedora 44
166+
family: fedora
167+
agent_bolt:
168+
- x86-64
169+
- Arm64
170+
server_db: true
171+
fips: false
172+
- os: SLES 15
173+
family: sles
174+
agent_bolt:
175+
- x86-64
176+
server_db: true
177+
fips: false
178+
- os: SLES 16
179+
family: sles
180+
agent_bolt:
181+
- x86-64
182+
- Arm64
183+
server_db: true
184+
fips: false
185+
- os: Debian 11
186+
family: debian
187+
agent_bolt:
188+
- x86-64
189+
- Arm64
190+
server_db: true
191+
fips: false
192+
- os: Debian 12
193+
family: debian
194+
agent_bolt:
195+
- x86-64
196+
- Arm64
197+
server_db: true
198+
fips: false
199+
- os: Debian 13
200+
family: debian
201+
agent_bolt:
202+
- x86-64
203+
- Arm64
204+
- armhf
205+
server_db: true
206+
fips: false
207+
- os: Ubuntu 22.04
208+
family: ubuntu
209+
agent_bolt:
210+
- x86-64
211+
- Arm64
212+
server_db: true
213+
fips: false
214+
- os: Ubuntu 24.04
215+
family: ubuntu
216+
agent_bolt:
217+
- x86-64
218+
- Arm64
219+
- armhf
220+
server_db: true
221+
fips: false
222+
- os: Ubuntu 25.04
223+
family: ubuntu
224+
agent_bolt:
225+
- x86-64
226+
- Arm64
227+
- armhf
228+
server_db: true
229+
fips: false
230+
- os: Ubuntu 26.04
231+
family: ubuntu
232+
agent_bolt:
233+
- x86-64
234+
- Arm64
235+
- armhf
236+
server_db: true
237+
fips: false
238+
- os: macOS
239+
family: macos
240+
agent_bolt:
241+
- Intel
242+
- Apple Silicon
243+
server_db: false
244+
fips: false
245+
- os: Windows
246+
family: windows
247+
agent_bolt:
248+
- x86-64
249+
server_db: false
250+
fips: false
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
layout: default
3+
title: "Supported platforms"
4+
---
5+
6+
[platforms_json]: https://github.com/OpenVoxProject/shared-actions/blob/main/platforms.json
7+
[component_versions]: ./component_versions.html
8+
9+
This page lists the operating systems OpenVox builds packages for. It is generated
10+
from [`platforms.json`][platforms_json] in `OpenVoxProject/shared-actions`, the same
11+
list the build system uses to decide where packages are produced, so it always
12+
matches what actually ships.
13+
14+
For the component versions inside a given release (Ruby, OpenSSL, JRuby, and so on),
15+
see [Component versions in recent releases][component_versions].
16+
17+
## How to read these tables
18+
19+
OpenVox ships on two build systems, which is why each row has two columns:
20+
21+
- **openvox-agent / OpenBolt** — the Ruby components, built per CPU architecture.
22+
The cell lists the architectures available for that OS.
23+
- **openvox-server / OpenVoxDB** — the JVM components, which are
24+
architecture-independent. A check mark means packages are built for that OS; a
25+
dash means they are not (the agent still runs there, but you would run the server
26+
or database on a different platform).
27+
28+
A dagger (†) marks operating systems with FIPS-validated builds. FIPS builds are
29+
x86-64 only.
30+
31+
## OpenVox 8.x
32+
33+
{% assign rows = site.data.supported_platforms["8.x"] %}
34+
35+
<!-- markdownlint-disable MD055 MD056 -->
36+
37+
| Operating system | openvox-agent / OpenBolt | openvox-server / OpenVoxDB |
38+
| --- | --- | --- |
39+
{% for r in rows %}| {{ r.os }}{% if r.fips %} †{% endif %} | {% if r.agent_bolt %}{{ r.agent_bolt | join: ", " }}{% else %}—{% endif %} | {% if r.server_db %}✓{% else %}—{% endif %} |
40+
{% endfor %}
41+
42+
## Next major version (in development)
43+
44+
> **In development.** These are the platforms targeted by the next major OpenVox
45+
> release while it is being developed. The list can change before that release is
46+
> final.
47+
48+
{% assign rows = site.data.supported_platforms["main"] %}
49+
50+
| Operating system | openvox-agent / OpenBolt | openvox-server / OpenVoxDB |
51+
| --- | --- | --- |
52+
{% for r in rows %}| {{ r.os }}{% if r.fips %} †{% endif %} | {% if r.agent_bolt %}{{ r.agent_bolt | join: ", " }}{% else %}—{% endif %} | {% if r.server_db %}✓{% else %}—{% endif %} |
53+
{% endfor %}
54+
<!-- markdownlint-enable MD055 MD056 -->
55+
56+
> **Enterprise Linux** covers RHEL and its rebuilds (AlmaLinux, Rocky Linux, Oracle
57+
> Linux). A platform being listed means OpenVox publishes packages for it; see
58+
> [Installing OpenVox](./install_pre.html) for how to configure the repository on
59+
> your OS.

0 commit comments

Comments
 (0)