diff --git a/_layouts/default.html b/_layouts/default.html index dd186a4..bc99639 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -57,18 +57,19 @@ {% endfor %} - + - Home - What OpenVox Is - Why OpenVox Products + Why OpenVox Get Support + Community + About + - Get Started + Get Started
@@ -78,15 +79,26 @@
+ + OpenVox + OpenVox Server + OpenVoxDB + OpenFact + OpenBolt + OpenVox Containers + - What OpenVox Is + About Why OpenVox Products + Get Started + Installation Guide Documentation Get Support Accessibility & VPAT + Join the Community GitHub Vox Pupuli Get Involved diff --git a/what-is-openvox.html b/about.html similarity index 96% rename from what-is-openvox.html rename to about.html index 46c03a8..306c22a 100644 --- a/what-is-openvox.html +++ b/about.html @@ -1,11 +1,11 @@ --- -pageId: what-is -title: "What OpenVox Is — OpenVox" +pageId: about +title: "About OpenVox — OpenVox" description: "OpenVox is the community-maintained open source implementation of Puppet, forked and stewarded in the open by Vox Pupuli." --- Home - What is OpenVox + About @@ -16,7 +16,7 @@ actually use it.

- Get Started + Get Started Why OpenVox
diff --git a/community.html b/community.html new file mode 100644 index 0000000..21d9e81 --- /dev/null +++ b/community.html @@ -0,0 +1,88 @@ +--- +pageId: community +title: "Join the Community — OpenVox" +description: "Ways to connect with the OpenVox and Vox Pupuli community: Slack, IRC, mailing lists, GitHub, contributing, and sponsoring." +--- + + Home + Join the Community + + + +

+ OpenVox is stewarded in the open by Vox Pupuli. Decisions happen in public channels, + not behind closed doors, and anyone can take part. Pick whichever fits how you like + to communicate. +

+
+ Join Slack + GitHub +
+
+ +
+

Talk with us

+ + + + Real-time chat with channels for OpenVox, individual modules, and community + organization. The most active channel. + + + + #voxpupuli on Libera.Chat, for anyone who'd rather not run another + chat app. Works right in the browser. + + + + Announcements, blog notifications, and official decision threads land here first. + + + + Where the code lives. File issues, open pull requests, and follow development + directly. + + +
+ * We have an IRC bridge for Slack so you can use either. +
+
+ +
+

Get involved

+ + + + Browse open issues across the OpenVox and Vox Pupuli repositories and find + something that matches your interests. + + + + Fund the CI/CD infrastructure and community work that keeps OpenVox running, via + Open Collective or GitHub Sponsors. + + + + Need help rather than a way to help out? See free peer support and commercial + OpenVox partners. + + +
+ +
+

Stay in the loop

+
+

+ Track releases via RSS for + OpenVox, + OpenVox Server, + and + OpenVoxDB. + Vox Pupuli also posts news on + Mastodon, + Bluesky, + LinkedIn, and + Reddit. +

+
+
diff --git a/get-started.html b/get-started.html new file mode 100644 index 0000000..01b65d4 --- /dev/null +++ b/get-started.html @@ -0,0 +1,132 @@ +--- +pageId: get-started +title: "Get Started — OpenVox" +description: "Install OpenVox and get your first node under management: agent install for Debian/Ubuntu and RHEL, a local test run, and where to go next." +--- + + Home + Get Started + + + +

+ This page is about getting OpenVox running, nothing else. Still deciding if it's the + right tool? Read about OpenVox or + why teams choose it first. +

+
+ Full Documentation + Get Support +
+
+ +
+

Choose your path

+
+

+ OpenVox runs standalone on a single machine, or as an agent checking in with a + central server across a fleet. Pick whichever matches what you're doing today — it's + easy to add a server later without redoing any of your code. +

+
+ + + + Install the agent, write a manifest, and apply it locally with + puppet apply. No server, no certificates, nothing to stand up first. + Good for trying OpenVox out or managing a single machine. + + + Install OpenVox Server and point agents + at it. Agents check in on a schedule, pull their catalog, and report back, so drift + gets corrected without anyone running anything by hand. + + +
+ +
+

Install the agent

+
+

+ Packages are published at + apt.voxpupuli.org and + yum.voxpupuli.org. Both + commands below detect your release automatically. +

+
+ + + Debian / Ubuntu + RHEL / EL + +
release="$(. /etc/os-release && echo "${ID}${VERSION_ID}")"
+wget "https://apt.voxpupuli.org/openvox8-release-${release}.deb"
+sudo dpkg -i "openvox8-release-${release}.deb"
+sudo apt update
+sudo apt install openvox-agent
+
+ +
sudo rpm -Uvh "https://yum.voxpupuli.org/openvox8-release-el-$(rpm -E %rhel).noarch.rpm"
+sudo yum install openvox-agent
+
+
+ +
+

+ That's the whole install. For prerequisites, connecting an agent to a server, and + Windows/macOS, see the Installation Guide. +

+
+
+ +
+

Try it

+
+

With the agent installed, apply a manifest directly, no server required:

+
+
puppet apply -e "notify { 'hello, world': }"
+
+

+ From here, the + Hello World quick start + walks through writing a real module and applying it with an agent and server via + puppet agent -t. +

+
+
+ +
+

Go further

+ + + + Existing Puppet manifests, Hiera data, and Forge modules carry over unchanged. + Browse the Forge for thousands of ready-made ones. + + + + OpenVox Server, OpenVoxDB, OpenBolt, and container images for running the whole + stack. + + + + Full reference documentation for every OpenVox product, kept in sync with each + release. + + + + Free peer support from the community, plus commercial partners for training and + custom development. + + +
+ +
+ +

Your manifests, modules, and workflows all carry over. Nothing to rewrite.

+
+ Full Documentation + Join the Community +
+
+
diff --git a/get-support.html b/get-support.html index b8fa040..a2030cf 100644 --- a/get-support.html +++ b/get-support.html @@ -11,14 +11,12 @@

Vox Pupuli is an open source community group and offers no commercial support of its - own. For free, peer support, join the community on - Slack - or see the other channels at - voxpupuli.org/connect. + own. For free, peer support, join the community on + Slack, IRC, or the mailing list.

Documentation - Join the Community + Join the Community
diff --git a/index.html b/index.html index 3564ba0..7e8c267 100644 --- a/index.html +++ b/index.html @@ -11,69 +11,13 @@ actually use it.

- Get Started - Read the Story + Get Started + Read the Story
- - -

- For nearly two decades, Puppet defined what configuration management could be. In - late 2024, its corporate owner moved development behind closed doors and attached - licensing terms that put open access out of reach for the community that had - sustained the project for years. -

-

- So Vox Pupuli, the collective of longtime Puppet module and tooling maintainers, - forked the last truly open releases and kept going. That fork is OpenVox. -

-
- Read the full story -
-
-
- -
- +
+
+ + +

+ For nearly two decades, Puppet defined what configuration management could be. In + late 2024, its corporate owner moved development behind closed doors and attached + licensing terms that put open access out of reach for the community that had + sustained the project for years. +

+

+ So Vox Pupuli, the collective of longtime Puppet module and tooling maintainers, + forked the last truly open releases and kept going. That fork is OpenVox. +

+
+ Read the full story +
+
+
+

Install OpenVox in minutes and bring your existing Puppet code with you.

- Installation Guide - Join the Community + Installation Guide + Join the Community
diff --git a/install.html b/install.html new file mode 100644 index 0000000..8d8ac5f --- /dev/null +++ b/install.html @@ -0,0 +1,179 @@ +--- +pageId: install +title: "Installation Guide — OpenVox" +description: "Step-by-step OpenVox agent installation: prerequisites, adding the package repository, installing on Debian, Ubuntu, RHEL, and other EL distributions, and getting the agent checked in." +--- + + Home + Installation Guide + + + +

+ A full walkthrough: prerequisites, adding the package repository, installing, and + getting the agent checked in. Looking for the two-command version instead? See + Get Started. +

+
+ Full Documentation + Get Started +
+
+ +
+

Before you begin

+
+
    +
  • + Pick a deployment model. Standalone (puppet apply, + no server) or agent-server (agents check in on a schedule). See the + architecture overview + if you're unsure which fits. +
  • +
  • + Check system requirements. Confirm your OS and node counts are + within OpenVox's + tested platforms and sizing. +
  • +
  • + Migrating from Puppet? Back up /etc/puppetlabs/ + first, especially on the server. OpenVox packages reuse that same directory + structure, and OpenVox can't run alongside an existing Puppet install. +
  • +
  • + Networking. Agents need to reach the server on port 8140, and + forward/reverse DNS should resolve correctly for every node. +
  • +
  • + Time sync. Certificate issuance depends on accurate system + clocks — make sure NTP (or similar) is running before agents request + certificates. +
  • +
+
+ + + Install and validate OpenVox Server + first, before rolling the agent out to managed nodes. Running standalone? Skip + straight to the install steps below. + +
+ +
+

Enable the repository and install

+
+

+ Packages are published at + apt.voxpupuli.org and + yum.voxpupuli.org. The + commands below detect your release automatically. +

+
+ + + Debian / Ubuntu + RHEL / EL + +

Add the repository:

+
release="$(. /etc/os-release && echo "${ID}${VERSION_ID}")"
+wget "https://apt.voxpupuli.org/openvox8-release-${release}.deb"
+sudo dpkg -i "openvox8-release-${release}.deb"
+

Install the package:

+
sudo apt update
+sudo apt install openvox-agent
+
+ +

Add the repository:

+
sudo rpm -Uvh "https://yum.voxpupuli.org/openvox8-release-el-$(rpm -E %rhel).noarch.rpm"
+

Install the package:

+
sudo yum install openvox-agent
+
+
+ + + See the full + Windows + and + macOS + install guides, or the + full Linux guide + for distributions not covered above. + +
+ +
+

Confirm the executables are on PATH

+
+

+ OpenVox installs to /opt/puppetlabs/bin, which usually isn't on + PATH by default. Add it for the current session, and to your shell + profile if you want it to stick: +

+
+
export PATH=/opt/puppetlabs/bin:$PATH
+
+ +
+

Point the agent at your server

+
+

+ Running agent-server and your server isn't reachable at the hostname + puppet? Set it explicitly in + /etc/puppetlabs/puppet/puppet.conf: +

+
+
[main]
+server = puppet.example.com
+
+

+ Running standalone with puppet apply, or your server really is + reachable as puppet? Skip this step. +

+
+
+ +
+

Start and enable the service

+
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
+
+ +
+

Run a test check-in

+
sudo /opt/puppetlabs/bin/puppet agent --test
+
+

+ On agent-server, the first run generates a certificate signing request. If your + server requires manual signing, sign it on the CA: +

+
+
sudo /opt/puppetlabs/bin/puppetserver ca list
+sudo /opt/puppetlabs/bin/puppetserver ca sign --certname <NAME>
+
+

Then re-run the test check-in on the node.

+
+
+ +
+

What's next

+ + + + Apply a manifest locally with puppet apply, no server required. + + + + Manage Puppet code across your infrastructure with r10k and write your first + module. + + +
+ +
+ +

Your manifests, modules, and workflows all carry over. Nothing to rewrite.

+
+ Full Documentation + Join the Community +
+
+
diff --git a/openvox-vs-ansible.html b/openvox-vs-ansible.html index 298cd20..9cee9b9 100644 --- a/openvox-vs-ansible.html +++ b/openvox-vs-ansible.html @@ -17,7 +17,7 @@ remembers to.

- Get Started + Get Started Why OpenVox
@@ -125,8 +125,8 @@

Where Ansible is the better fit

Install OpenVox in minutes and bring your existing Puppet code with you.

- Installation Guide - Join the Community + Installation Guide + Join the Community
diff --git a/package-lock.json b/package-lock.json index d1bb253..313fbfd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "openvoxproject", "dependencies": { - "@openvoxproject/voxblocks": "^0.9.0" + "@openvoxproject/voxblocks": "^0.10.0" }, "devDependencies": { "concurrently": "^9.1.0", @@ -29,9 +29,9 @@ } }, "node_modules/@openvoxproject/voxblocks": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@openvoxproject/voxblocks/-/voxblocks-0.9.0.tgz", - "integrity": "sha512-x8GFT8L9q6qGV7AHd1BGvfY7u7HYXkZV8vzmtU57RY93PmaUge+8tHIQjnhsfNHx+PO63frA1ujSOEIMioa23Q==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@openvoxproject/voxblocks/-/voxblocks-0.10.0.tgz", + "integrity": "sha512-WxWJyaBbGSDieJI6wPlpba3weqc1VJiVpON9HYecpZzUOdzqrb8sC93E9SV3MhZgTE1ZjbYzF1xpmcSVVfqPYA==", "license": "Apache-2.0", "dependencies": { "lit": "^3.2.0" @@ -827,9 +827,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index ee263bc..6890baf 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@openvoxproject/voxblocks": "^0.9.0" + "@openvoxproject/voxblocks": "^0.10.0" }, "devDependencies": { "concurrently": "^9.1.0", diff --git a/src/site.css b/src/site.css index 76974fa..5cb2a19 100644 --- a/src/site.css +++ b/src/site.css @@ -126,6 +126,19 @@ vox-card [slot='icon'] svg { vertical-align: -0.05em; } +.code-block { + margin: 0; + padding: var(--vox-space-4); + background-color: var(--vox-color-bg-elv); + border: 1px solid var(--vox-color-divider); + border-radius: var(--vox-radius-md); + overflow-x: auto; + font-family: var(--vox-font-family-mono); + font-size: 13px; + line-height: 1.7; + color: var(--vox-color-text-1); +} + .billboard-graphic { display: block; width: 100%; @@ -134,3 +147,15 @@ vox-card [slot='icon'] svg { margin: 0 auto; color: var(--vox-color-brand-1); } + +/* Logo glow is scoped to the home page (body.is-home, set in + _layouts/default.html) so the mark reads as a "you are home" cue rather + than decoration on every page. The lives in light DOM + (it's authored directly under in the layout), so it's + reachable with a plain descendant selector here — no ::slotted needed, + since that only applies to stylesheets inside the component's own + shadow root. drop-shadow (not box-shadow) follows the SVG's own + silhouette instead of glowing its rectangular bounding box. */ +body.is-home vox-header svg[slot='logo'] { + filter: drop-shadow(0 0 10px var(--vox-color-brand-1)); +} diff --git a/why-openvox.html b/why-openvox.html index c233085..2b063e4 100644 --- a/why-openvox.html +++ b/why-openvox.html @@ -14,8 +14,8 @@ run, forever.

- Get Started - What OpenVox Is + Get Started + About OpenVox
@@ -69,8 +69,8 @@

Install OpenVox in minutes and bring your existing Puppet code with you.

- Installation Guide - Join the Community + Installation Guide + Join the Community