Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding community fork section #407

Merged
merged 7 commits into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ collections:
output: true
sponsors:
output: false
support:
output: false

# See https://fontawesome.com/search for the icon syntax
navigation:
Expand All @@ -42,6 +44,9 @@ navigation:
- title: Projects Overview
url: /projects/
icon: fas fa-signs-post
- title: OpenPuppet
url: /openpuppet/
icon: fas fa-meteor
- title: Plugins
url: /plugins/
icon: fas fa-puzzle-piece
Expand Down Expand Up @@ -79,6 +84,21 @@ footer:
- title: Dual license (CC BY-SA 4.0 + Apache 2.0)
url: /license/

subsections:
openpuppet:
- title: Quickstart
url: /openpuppet/quickstart/
icon: fas fa-hourglass-start
- title: Install
url: /openpuppet/install/
icon: fas fa-download
- title: Standards
url: /openpuppet/standards/
icon: fas fa-users-rays
- title: Support
url: /openpuppet/support/
icon: fas fa-headset

exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "README.md", "CNAME", "vendor"]

plugins:
Expand Down
5 changes: 5 additions & 0 deletions _includes/nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@
</div>
</div>
</nav>

{% if page.subsection %}
{% include subsection.html %}
{% endif %}

<div class="container pt-3">
{% include breadcrumbs.html %}
</div>
12 changes: 12 additions & 0 deletions _includes/sponsor-card.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<div class="col-md-{{include.width}} d-flex align-items-stretch">
<div class="card">
<img class="card-img-top" src="{{ site.url }}{{ site.baseurl }}/static/images/{{include.vendor.logo}}" alt="Sponsored by {{include.vendor.name}}">
<div class="card-body d-flex flex-column">
{% if include.vendor.name %}
<h5 class="card-title">{{include.vendor.name}}</h5>
{% endif %}
<p class="card-text">{{include.vendor.content | markdownify }}</p>
<a href="{{include.vendor.website}}" class="btn btn-primary mt-auto">{{include.vendor.button}}</a>
</div>
</div>
</div>
11 changes: 11 additions & 0 deletions _includes/subsection.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<ul class="nav nav-tabs justify-content-end">
{% for link in site.subsections[page.subsection] %}
{% assign active = nil %}
{% if page.url contains link.url %}
{% assign active = 'active' %}
{% endif %}
<li class="nav-item">
<a class="nav-link {{ active }}" href="{{ link.url }}" data-proofer-ignore>{% if link.icon %}<i class="fa {{ link.icon }}"></i> {% endif %}{{ link.title }}</a>
</li>
{% endfor %}
</ul>
7 changes: 7 additions & 0 deletions _support/betadots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
logo: sponsor-betadots.png
website: https://www.betadots.de/
button: betadots.de
---
Betadots supports the majority of Puppet and OpenPuppet users in Germany. They
binford2k marked this conversation as resolved.
Show resolved Hide resolved
offers consulting plans for both Puppet Enterprise and OpenPuppet.
9 changes: 9 additions & 0 deletions _support/overlook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
logo: sponsor-overlook.png
website: https://overlookinfratech.com/
button: overlookinfratech.com
---

Overlook sponsored the original community builds when packaging was closed. They
are longtime Puppet experts and offer OpenPuppet support plans and
custom development options.
44 changes: 44 additions & 0 deletions openpuppet/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
layout: page
title: OpenPuppet Automation Framework
subsection: openpuppet
---

<div class="container">
<div class="row">
<div class="col align-self-center">
<img class="img-fluid img-thumbnail shadow-lg" src="/static/images/openpuppet/meteor.png" />
</div>
<div class="col align-self-center">
<p>
OpenPuppet 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.
</p>
<p>
Try OpenPuppet as the engine powering your infrastructure deployment and
configuration needs and see why it's the industry standard in resource
abstraction and drift remediation.
</p>
</div>
</div>
<div class="row">
<div class="col align-self-center">
<p>
OpenPuppet started life as a community maintained soft-fork of Puppet™️ in
late fall of 2024. Perforce moved all further Puppet™️ development to
internal forks of the public repositories and discontinued public packaging
efforts. A community fork was the inevitable response.
</p>
<p>
We call it a soft-fork because we intend to maintain downstream
compatibility for as long as we are able. As such, we've created a
<i>Puppet™️ Standards Steering Committee</i> to set the direction of
features and language evolutions and have invited Perforce to participate.
</p>
</div>
<div class="col">
<img class="img-fluid w-75" src="/static/images/openpuppet/fork.png" />
</div>
</div>
</div>
40 changes: 40 additions & 0 deletions openpuppet/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
layout: page
title: Installing OpenPuppet
subsection: openpuppet
---

OpenPuppet 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 OpenPuppet 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.
85 changes: 85 additions & 0 deletions openpuppet/quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
layout: page
title: OpenPuppet Quickstart Guide
subsection: openpuppet
---

<img class="float-end w-33 mx-5 img-thumbnail shadow-lg" src="/static/images/openpuppet/manikin.png" />

As of now, OpenPuppet 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](/openpuppet/install)
and installing the `puppet-agent` package only. Then come back here to continue.

## Explore the resources on your system

Now that you have OpenPuppet installed, explore around and take a look at how it
sees your system. This command will show you how OpenPuppet 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 OpenPuppet 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 OpenPuppet!\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 OpenPuppet 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!
25 changes: 25 additions & 0 deletions openpuppet/standards.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
layout: page
title: Puppet™️ Standards Steering Committee
subsection: openpuppet
---

OpenPuppet 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 OpenPuppet 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 is made up of representatives from each of the major companies
participating in OpenPuppet's development, from the Vox Pupuli PMC, from
Perforce, and from interested members of the community.

- Two representatives from Betadots
- Two representatives from Overlook InfraTech
- Two representatives from Perforce
- Two community developers
- The Vox Pupuli PMC
23 changes: 23 additions & 0 deletions openpuppet/support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
layout: page
title: OpenPuppet Support Options
subsection: openpuppet
---

<img class="float-end w-33 mx-5 img-thumbnail shadow-lg" src="/static/images/openpuppet/dog.jpg" />

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.

Nevertheless, we understand that for many, a commercial support
contract is required in order to use OpenPuppet. The companies below have
indicated that they offer OpenPuppet support tiers.

<div class="row">
{% for sponsor in site.support %}
{% include sponsor-card.html width=6 vendor=sponsor %}
{% endfor %}
</div>
11 changes: 1 addition & 10 deletions sponsoring/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,6 @@ companies sponsor our cloud/CI resources.

<div class="row">
{% for sponsor in site.sponsors %}
<div class="col-md-4 d-flex align-items-stretch">
<div class="card">
<img class="card-img-top" src="{{ site.url }}{{ site.baseurl }}/static/images/{{sponsor.logo}}" alt="Sponsored by {{sponsor.name}}">
<div class="card-body d-flex flex-column">
<h5 class="card-title">Sponsored by {{sponsor.name}}</h5>
<p class="card-text">{{sponsor.content | markdownify }}</p>
<a href="{{sponsor.website}}" class="btn btn-primary mt-auto">{{sponsor.button}}</a>
</div>
</div>
</div>
{% include sponsor-card.html width=4 vendor=sponsor %}
{% endfor %}
</div>
5 changes: 5 additions & 0 deletions static/css/site.css
Original file line number Diff line number Diff line change
Expand Up @@ -117,3 +117,8 @@ section.content {
.card {
margin: 1em 0;
}

/* bootstrap customizations */
.w-33 {
width: 33%!important;
}
Binary file added static/images/openpuppet/dog.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/openpuppet/fork.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/openpuppet/manikin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/openpuppet/meteor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/sponsor-overlook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading