diff --git a/_config.yml b/_config.yml index 4553d2c..3058422 100644 --- a/_config.yml +++ b/_config.yml @@ -23,6 +23,8 @@ collections: output: true sponsors: output: false + support: + output: false # See https://fontawesome.com/search for the icon syntax navigation: @@ -42,6 +44,9 @@ navigation: - title: Projects Overview url: /projects/ icon: fas fa-signs-post + - title: OpenVox + url: /openvox/ + icon: fas fa-meteor - title: Plugins url: /plugins/ icon: fas fa-puzzle-piece @@ -79,6 +84,21 @@ footer: - title: Dual license (CC BY-SA 4.0 + Apache 2.0) url: /license/ +subsections: + openvox: + - title: Quickstart + url: /openvox/quickstart/ + icon: fas fa-hourglass-start + - title: Install + url: /openvox/install/ + icon: fas fa-download + - title: Standards + url: /openvox/standards/ + icon: fas fa-users-rays + - title: Support + url: /openvox/support/ + icon: fas fa-headset + exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "README.md", "CNAME", "vendor"] plugins: diff --git a/_includes/nav.html b/_includes/nav.html index b53a579..de65b23 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -36,6 +36,11 @@ + +{% if page.subsection %} +{% include subsection.html %} +{% endif %} +
{% include breadcrumbs.html %}
diff --git a/_includes/sponsor-card.html b/_includes/sponsor-card.html new file mode 100644 index 0000000..75f6806 --- /dev/null +++ b/_includes/sponsor-card.html @@ -0,0 +1,12 @@ +
+
+ Sponsored by {{include.vendor.name}} +
+ {% if include.vendor.name %} +
{{include.vendor.name}}
+ {% endif %} +

{{include.vendor.content | markdownify }}

+ {{include.vendor.button}} +
+
+
diff --git a/_includes/subsection.html b/_includes/subsection.html new file mode 100644 index 0000000..20b21de --- /dev/null +++ b/_includes/subsection.html @@ -0,0 +1,11 @@ + diff --git a/_support/betadots.md b/_support/betadots.md new file mode 100644 index 0000000..e49081d --- /dev/null +++ b/_support/betadots.md @@ -0,0 +1,7 @@ +--- +logo: sponsor-betadots.png +website: https://www.betadots.de/ +button: betadots.de +--- +betadots supports many Puppet and OpenVox users in EMEA region. +They offer training, custom development and consulting plans for both Puppet Enterprise and OpenVox. diff --git a/_support/overlook.md b/_support/overlook.md new file mode 100644 index 0000000..d00bd66 --- /dev/null +++ b/_support/overlook.md @@ -0,0 +1,8 @@ +--- +logo: sponsor-overlook.png +website: https://overlookinfratech.com/ +button: overlookinfratech.com +--- + +Overlook sponsored the original community builds. +They are longtime Puppet experts and offer OpenVox support plans and custom development options. diff --git a/openvox/index.md b/openvox/index.md new file mode 100644 index 0000000..0cdf53f --- /dev/null +++ b/openvox/index.md @@ -0,0 +1,53 @@ +--- +layout: page +title: OpenVox Automation Framework +subsection: openvox +--- + +
+
+
+

+ OpenVox is the modern open source implementation of the world's most capable configuration management platform -- trusted by everyone from the smallest hobbyist to operators of some of the largest commercial infrastructures in the business. +

+

+ Try OpenVox as the engine powering your infrastructure deployment and configuration needs and see why it's the industry standard in resource abstraction and drift remediation. +

+
+
+ +
+
+
+
+ +
+
+

+ OpenVox started life as a Puppet™️ mirror by Overlook InfraTech to continue providing community packages when Perforce discontinued public packaging efforts in late Fall of 2024. + It soon became clear that they were also moving all further Puppet™️ development to internal forks and ceasing development on open source Puppet™️. + A community fork using Overlook InfraTech's packaging pipeline was the inevitable response. +

+

+ We consider OpenVox a soft-fork because we intend to maintain downstream compatibility for as long as we are able. + As such, we've created a Puppet™️ Standards Steering Committee to set the direction of features and language evolutions and have invited Perforce to participate. +

+

+ Find out more or get involved at our + GitHub namespace. +

+
+
+
+
+

+ You may see references to OpenPuppet, the OpenPuppet Project, OpenPhoenix, or other similar sounding names. + You may even see references to Overlook InfraTech. + These names all refer to the various stages in the evolution of this project, but what you are reading now is the most current information. +

+

+ Photo by Lidia Nemiroff. +

+
+
+
diff --git a/openvox/install.md b/openvox/install.md new file mode 100644 index 0000000..30c93cd --- /dev/null +++ b/openvox/install.md @@ -0,0 +1,38 @@ +--- +layout: page +title: Installing OpenVox +subsection: openvox +--- + +OpenVox package downloads are currently sponsored by [Overlook InfraTech](https://overlookinfratech.com). +Following Perforce's suggestions, these are straight rebuilds of the original packages with no branding or name changes. +Be aware that this will change as soon as the OpenVox pipelines are running. + +🚨 Before you enable and install the packages, be forewarned that these are preliminary kick-the-tires packages only. +We do not yet have a fully robust test pipeline, although with the community interest that will be forthcoming. + +## Installation + +First enable the repository, based on your Linux distribution. +Choose the appropriate repo package from either of these locations and install it. + +* Debian family: + * [https://apt.overlookinfratech.com](https://apt.overlookinfratech.com) +* RedHat family: + * [https://yum.overlookinfratech.com](https://yum.overlookinfratech.com) + +Then install the packages you want. + +* Debian + * `apt install puppet-agent` + * `apt install puppetserver` + * `apt install puppetdb` +* RedHat + * `yum install puppet-agent` + * `yum install puppetserver` + * `yum install puppetdb` + +### Sponsorship + +Many thanks to Lance and the [OSU Open Source Lab](https://osuosl.org). +They do so much for the open source world and deserve far far more recognition for it. diff --git a/openvox/quickstart.md b/openvox/quickstart.md new file mode 100644 index 0000000..17fb32f --- /dev/null +++ b/openvox/quickstart.md @@ -0,0 +1,78 @@ +--- +layout: page +title: OpenVox Quickstart Guide +subsection: openvox +--- + + + +As of now, OpenVox is effectively the same as the original Puppet™️ packages, aside from some minor build pipeline changes and package renaming. +This means that aside from the installation, all Puppet™️ docs and tutorials will still be completely applicable. + +## Installation + +Start by following the instructions on the [install page](/openvox/install) and installing the `puppet-agent` package only. +Then come back here to continue. + +## Explore the resources on your system + +Now that you have OpenVox installed, explore around and take a look at how it +sees your system. +This command will show you how OpenVox represents the current state of a specific kind of resource, in this case the `user` resources. +The output will be your first view of the Puppet™️ DSL (domain specific language). + +``` +# puppet resource user +``` + +Pick the name of one of your user resources and run again. +This shows the same output, but scoped to a single user. + +``` +# puppet resource user binford2k +``` + +Try a similar command with the `file` resource and the name of a file on your computer, maybe `/etc/hosts`. + +``` +# puppet resource file /etc/hosts +``` + +Now you see how OpenVox sees resources as the *type* and *title* of the resource and then a list of *attributes* of that resource. + +Just for fun, try using `puppet resource` to list all the `file` resources. +This doesn't work because unlike users which are easily *enumerable*, all the files on a modern computer are not computationally feasible to enumerate. + +## Manage state of a resource + +You'll notice that the output of the `puppet resource` commands is extremely thorough. +That's because it's exhaustively describing all the state known about every resource. +Generally speaking, you don't really care about all the details. +When you write Puppet™️ code, you only need to describe the things you *do* care about. + +Let's try that now. Create a *manifest*, or a source file of Puppet™️ code. + +``` puppet +# hello.pp +file { '/tmp/foo': + ensure => file, + owner => 'root', + mode => '0664', # mode is a nerdy word for "permissions" + content => "Hello there from OpenVox!\n", +} +``` + +``` +$ puppet apply hello.pp +``` + +Now examine `/tmp/foo` and see that it meets all the specifications you described in your manifest, including the string of content. + +## Go forth and experiment! + +As the OpenVox project matures, we will create more documentation, guides, and tutorials. +For the time being though, now you'll want to hop over to Puppet's own [documentation](http://puppet.com/docs) and go from there. + +Please use the *Connect* resources in the menubar to engage with us and share any questions or thoughts you have! + +Photo by Carter Yocham. diff --git a/openvox/standards.md b/openvox/standards.md new file mode 100644 index 0000000..0b23a5e --- /dev/null +++ b/openvox/standards.md @@ -0,0 +1,17 @@ +--- +layout: page +title: Puppet™️ Standards Steering Committee +subsection: openvox +--- + + + +OpenVox is backwards compatible with the Puppet language and configuration files. +As we evolve, we intend to do so in ways that benefit the whole community of users, whether paid Perforce customers or open source OpenVox users. + +To do this, we have established a standards steering committee which will make all major roadmap decisions on features and language design to ensure the maximum interoperability between the difference implementations of the Puppet standards. +As warranted, feedback from the broader community will be requested using Vox Pupuli's standard lazy consensus model. + +This group represents the diverse interests involved in the project, from companies participating in OpenVox's development to Perforce to community users and developers. + +Photo by Igor Shpilenok. diff --git a/openvox/support.md b/openvox/support.md new file mode 100644 index 0000000..d64ef18 --- /dev/null +++ b/openvox/support.md @@ -0,0 +1,21 @@ +--- +layout: page +title: OpenVox Support Options +subsection: openvox +--- + + + +Vox Pupuli is an open source community group and offers no commercial support. +You are invited to connect with us using the options at the top of the page. +In the spirit of the open source ethos, you will find peer support from others in the ecosystem and we hope you stick around to help others solve their problems afterwards too. + +If your business needs include enhanced commercial support, then connect with the friendly companies below who offer plans that might fit your needs. + +
+ {% for sponsor in site.support %} + {% include sponsor-card.html width=6 vendor=sponsor %} + {% endfor %} +
+ +Photo by Fabian Gieske. diff --git a/projects.md b/projects.md index edea8f4..333ed91 100644 --- a/projects.md +++ b/projects.md @@ -1,5 +1,5 @@ --- -layout: default +layout: page --- # Projects Overview @@ -63,3 +63,9 @@ the [Hacktoberfest](https://hacktoberfest.com) project to see how it works. * [See all projects participating in Hacktoberfest]({% include github-repo-search.html topic="hacktoberfest" %}) + +## OpenVox project + +Like the mythical bird, OpenVox has risen from the ashes of what used to be Open Source Puppet. +We are still in the process of forming and architecting the governance, so follow this space, or just jump in and get involved at [its project space](https://github.com/openvoxproject). +You can also find out more using the *Projects* menu in the navbar. diff --git a/sponsoring/index.md b/sponsoring/index.md index 593055c..0560203 100644 --- a/sponsoring/index.md +++ b/sponsoring/index.md @@ -29,15 +29,6 @@ companies sponsor our cloud/CI resources.
{% for sponsor in site.sponsors %} -
-
- Sponsored by {{sponsor.name}} -
-
Sponsored by {{sponsor.name}}
-

{{sponsor.content | markdownify }}

- {{sponsor.button}} -
-
-
+ {% include sponsor-card.html width=4 vendor=sponsor %} {% endfor %}
diff --git a/static/css/site.css b/static/css/site.css index fba30bb..d899a70 100644 --- a/static/css/site.css +++ b/static/css/site.css @@ -117,3 +117,8 @@ section.content { .card { margin: 1em 0; } + +/* bootstrap customizations */ +.w-33 { + width: 33%!important; +} diff --git a/static/images/openvox/dog.jpg b/static/images/openvox/dog.jpg new file mode 100644 index 0000000..5411561 Binary files /dev/null and b/static/images/openvox/dog.jpg differ diff --git a/static/images/openvox/fork.png b/static/images/openvox/fork.png new file mode 100644 index 0000000..48e4ba5 Binary files /dev/null and b/static/images/openvox/fork.png differ diff --git a/static/images/openvox/fox-cubs.jpg b/static/images/openvox/fox-cubs.jpg new file mode 100644 index 0000000..6dbcacf Binary files /dev/null and b/static/images/openvox/fox-cubs.jpg differ diff --git a/static/images/openvox/mannequin.png b/static/images/openvox/mannequin.png new file mode 100644 index 0000000..b11461b Binary files /dev/null and b/static/images/openvox/mannequin.png differ diff --git a/static/images/openvox/workshop.jpg b/static/images/openvox/workshop.jpg new file mode 100644 index 0000000..e541ebd Binary files /dev/null and b/static/images/openvox/workshop.jpg differ diff --git a/static/images/sponsor-overlook.png b/static/images/sponsor-overlook.png new file mode 100644 index 0000000..1c2716d Binary files /dev/null and b/static/images/sponsor-overlook.png differ