Skip to content

Commit d80d1aa

Browse files
miharpclaude
andcommitted
Finish OpenVox 8.x markdownlint cleanup
Fix the remaining markdownlint violations across docs/_openvox_8x, including line reflows, fenced code language/style cleanup, heading normalization, list indentation, and reference/HTML lint fixes. Part of #344 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
1 parent 27e17f7 commit d80d1aa

37 files changed

Lines changed: 200 additions & 151 deletions

docs/_openvox_8x/bgtm.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ To help plan your module appropriately, consider:
2727
2828
It is standard practice for Puppet users to have 200 or more modules in an environment. Simple is better. Each module in your environment should contain related resources that enable it to accomplish a task. Create multiple modules for more complex needs. The practice of having many small, focused modules promotes code reuse and turns modules into building blocks.
2929

30-
As an example, let's take a look at the [`puppetlabs-puppetdb`](https://forge.puppet.com/puppetlabs/puppetdb) module. This module deals solely with the the setup, configuration, and management of PuppetDB. However, PuppetDB stores its data in a PostgreSQL database. Rather than having the module manage PostgreSQL, the author included the [`puppetlabs-postgresql`](https://forge.puppet.com/puppetlabs/postgresql) module as a dependency, leveraging the postgresql module's classes and resources to build out the right configuration for PuppetDB. Similarly, the `puppetdb-module` needs to manipulate the `puppet.conf` file in order to operate PuppetDB. Instead of having the `puppetdb-module` handle `puppet.conf` changes internally, the author used the [`puppetlabs-inifile`](https://forge.puppet.com/puppetlabs/inifile) module to enable `puppetlabs-puppetdb` to make only the required edits to `puppet.conf`.
30+
As an example, let's take a look at the [`puppetlabs-puppetdb`](https://forge.puppet.com/puppetlabs/puppetdb) module. This module deals solely with the the setup, configuration, and management of PuppetDB. However, PuppetDB stores its data in a PostgreSQL database.
31+
Rather than having the module manage PostgreSQL, the author included the [`puppetlabs-postgresql`](https://forge.puppet.com/puppetlabs/postgresql) module as a dependency, leveraging the postgresql module's classes and resources to build out the right configuration for PuppetDB.
32+
Similarly, the `puppetdb-module` needs to manipulate the `puppet.conf` file in order to operate PuppetDB. Instead of having the `puppetdb-module` handle `puppet.conf` changes internally, the author used the [`puppetlabs-inifile`](https://forge.puppet.com/puppetlabs/inifile) module to enable `puppetlabs-puppetdb` to make only the required edits to `puppet.conf`.
3133

3234
## Structuring your module
3335

@@ -54,7 +56,8 @@ In terms of class structure we recommend the following (more detail below):
5456

5557
#### `module`
5658

57-
The main class of any module must share the name of the module and be located in the `init.pp` file. The name and location of the main module class is extremely important, as it guides the [autoloader](./lang_namespaces.html#autoloader-behavior) behavior. The main class of a module is its interface point and ought to be the only parameterized class if possible. Limiting the parameterized classes to just the main class allows you to control usage of the entire module with the inclusion of a single class. This class should provide sensible defaults so that a user can get going with `include module`.
59+
The main class of any module must share the name of the module and be located in the `init.pp` file. The name and location of the main module class is extremely important, as it guides the [autoloader](./lang_namespaces.html#autoloader-behavior) behavior.
60+
The main class of a module is its interface point and ought to be the only parameterized class if possible. Limiting the parameterized classes to just the main class allows you to control usage of the entire module with the inclusion of a single class. This class should provide sensible defaults so that a user can get going with `include module`.
5861

5962
For instance, the main `ntp` class in the `ntp` module looks like this:
6063

@@ -199,7 +202,8 @@ To maximize the usability of your module, make it flexible by adding parameters.
199202

200203
You must not hardcode data in your modules, and having more parameters is the best alternative. Hardcoding data in your module makes it inflexible, and means your module requires manifest changes to be used in even slightly different circumstances.
201204

202-
Avoid adding parameters that allow you to override templates. When your parameters allow template overrides, users can override your template with a custom template that contains additional hardcoded parameters. Hardcoded parameters in templates inhibits flexibility over time. It is far better to create more parameters and then modify the original template, or have a parameter which accepts an arbitrary chunk of text added to the template, than it is to override the template with a customized one.
205+
Avoid adding parameters that allow you to override templates. When your parameters allow template overrides, users can override your template with a custom template that contains additional hardcoded parameters.
206+
Hardcoded parameters in templates inhibits flexibility over time. It is far better to create more parameters and then modify the original template, or have a parameter which accepts an arbitrary chunk of text added to the template, than it is to override the template with a customized one.
203207

204208
For an example of a module that capitalizes on offering many parameters, please see [puppetlabs-apache](https://forge.puppet.com/puppetlabs/apache).
205209

@@ -313,7 +317,8 @@ We encourage you to publish your modules on the [Puppet Forge](https://forge.pup
313317

314318
Sharing your modules allows other users to write improvements to the modules you make available and contribute them back to you, effectively giving you free improvements to your modules.
315319

316-
Additionally, publishing your modules to the Forge helps foster community among Puppet users, and allows other Puppet community members to download and use your module. If the Puppet community routinely releases and iterates on modules on the Forge, the quality of available modules increases dramatically and gives you access to more modules to download and modify for your own purposes. Details on how to publish modules to the Forge can be found in the [module publishing guide](./modules_publishing.html).
320+
Additionally, publishing your modules to the Forge helps foster community among Puppet users, and allows other Puppet community members to download and use your module.
321+
If the Puppet community routinely releases and iterates on modules on the Forge, the quality of available modules increases dramatically and gives you access to more modules to download and modify for your own purposes. Details on how to publish modules to the Forge can be found in the [module publishing guide](./modules_publishing.html).
317322

318323
## Community Resources
319324

docs/_openvox_8x/cheatsheet_core_types.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -166,14 +166,16 @@ Executes an arbitrary command on the agent node. When using execs, you must eith
166166

167167
Manages user accounts; mostly used for system users.
168168

169-
user { 'jane':
170-
ensure => present,
171-
uid => '507',
172-
gid => 'admin',
173-
shell => '/bin/zsh',
174-
home => '/home/jane',
175-
managehome => true,
176-
}
169+
```puppet
170+
user { 'jane':
171+
ensure => present,
172+
uid => '507',
173+
gid => 'admin',
174+
shell => '/bin/zsh',
175+
home => '/home/jane',
176+
managehome => true,
177+
}
178+
```
177179

178180
#### Important Attributes
179181

docs/_openvox_8x/cheatsheet_module.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This directory holds the module's Puppet code.
3434
* Filenames and class/defined type names are related; see the examples below.
3535
* Within a module, the special `$module_name` variable always contains the module's name.
3636

37-
**apache/manifests/init.pp**
37+
#### apache/manifests/init.pp
3838

3939
```puppet
4040
class apache {
@@ -44,7 +44,7 @@ class apache {
4444

4545
`init.pp` is special; it should contain a class (or defined type) with the same name as the module.
4646

47-
**apache/manifests/vhost.pp**
47+
#### apache/manifests/vhost.pp
4848

4949
```puppet
5050
define apache::vhost(
@@ -59,7 +59,7 @@ Other classes (and defined types) should be named
5959
`modulename::filename` (without the .pp extension).
6060

6161

62-
**apache/manifests/config/ssl.pp**
62+
#### apache/manifests/config/ssl.pp
6363

6464
```puppet
6565
class apache::config::ssl {
@@ -79,7 +79,7 @@ Nodes can download any files in this directory from Puppet's built-in file serve
7979
filename`.
8080

8181

82-
**apache/files/httpd.conf**
82+
#### apache/files/httpd.conf
8383

8484
To fetch this file:
8585

@@ -90,7 +90,7 @@ file { '/etc/apache2/httpd.conf':
9090
}
9191
```
9292

93-
**apache/files/extra/ssl**
93+
#### apache/files/extra/ssl
9494

9595
Puppet's file server can navigate any subdirectories:
9696

@@ -122,7 +122,7 @@ This directory holds ERB templates.
122122
* Use the content attribute to fill file contents with a string.
123123
* Template files are referenced as modulename/filename.erb.
124124

125-
**apache/templates/vhost.erb**
125+
#### apache/templates/vhost.erb
126126

127127
To use this template:
128128

docs/_openvox_8x/config_about_settings.markdown

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ For help setting your operating system's locale or adding new locales, consult i
8585

8686
To check your current locale settings, run the `locale` command. This outputs the settings used by your current shell.
8787

88-
```
88+
```console
8989
$ locale
9090
LANG="en_US.UTF-8"
9191
LC_COLLATE="en_US.UTF-8"
@@ -101,15 +101,15 @@ To see which locales are supported by your system, run `locale -a`, which output
101101

102102
To check the current status of environment variables that might conflict with or override your locale settings, use the `set` command. For example, this command lists the set environment variables and searches for those containing `LANG` or `LC_`:
103103

104-
```
104+
```console
105105
sudo set | egrep 'LANG|LC_'
106106
```
107107

108108
### Checking your locale settings on Windows
109109

110110
To check your current locale setting, run the `Get-WinSystemLocale` command from PowerShell.
111111

112-
```
112+
```powershell
113113
PS C:\> Get-WinSystemLocale
114114
LCID Name DisplayName
115115
---- ---- -----------
@@ -124,7 +124,7 @@ You can use environment variables to set your locale for processes started on th
124124

125125
For example, to set the locale to Japanese for a terminal session on SLES:
126126

127-
```
127+
```console
128128
export LANG=ja_JP.UTF-8
129129
export LANGUAGE=''
130130
export LC_ALL=''
@@ -156,12 +156,13 @@ On Windows, Puppet uses the `LANG` environment variable if it is set. If not, it
156156

157157
On Windows 10, you can use PowerShell to set the system locale:
158158

159-
```
159+
```powershell
160160
Set-WinSystemLocale en-US
161161
```
162162

163163
### Disabling internationalized strings
164164

165-
Puppet 5.3.2 added the optional Boolean `disable_i18n` setting, which you can configure in `puppet.conf`. If set to `true`, Puppet disables localized strings in log messages, reports, and parts of the command-line interface. This can improve performance when using Puppet modules, especially if [environment caching](./configuration.html#environment_timeout) is disabled, and even if you don't need localized strings or the modules aren't localized. This setting is `false` by default in open source Puppet.
165+
Puppet 5.3.2 added the optional Boolean `disable_i18n` setting, which you can configure in `puppet.conf`. If set to `true`, Puppet disables localized strings in log messages, reports, and parts of the command-line interface.
166+
This can improve performance when using Puppet modules, especially if [environment caching](./configuration.html#environment_timeout) is disabled, and even if you don't need localized strings or the modules aren't localized. This setting is `false` by default in open source Puppet.
166167

167168
If you're experiencing performance issues, configure this setting in the `[server]` section of the OpenVox Server's `puppet.conf` file. To force unlocalized messages, which are in English by default, configure this section in a node's `[main]` or `[user]` sections of `puppet.conf`.

docs/_openvox_8x/config_file_autosign.markdown

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ The default `confdir` path depends on your operating system. [See the confdir do
2929

3030
The `autosign.conf` file is a line-separated list of certnames or domain name globs. Each line represents a node name or group of node names for which the CA OpenVox Server will automatically sign certificate requests.
3131

32-
```
32+
```text
3333
rebuilt.example.com
3434
*.scratch.example.com
3535
*.local
3636
```
3737

3838
Domain name globs do not function as normal globs: an asterisk can only represent one or more subdomains at the front of a certname that resembles a fully qualified domain name (FQDN). If your certnames don't look like FQDNs, the `autosign.conf` whitelist might not be effective.
3939

40-
> **Note:** The `autosign.conf` file can safely be an empty file or not-existent, even if the `autosign` setting is enabled. An empty or non-existent `autosign.conf` file is an empty whitelist, meaning that Puppet does not autosign any requests. If you create `autosign.conf` as a non-executable file and add certnames to it, Puppet then automatically uses the file to whitelist incoming requests without needing to modify `puppet.conf`.
40+
> **Note:** The `autosign.conf` file can safely be an empty file or not-existent, even if the `autosign` setting is enabled. An empty or non-existent `autosign.conf` file is an empty whitelist, meaning that Puppet does not autosign any requests.
41+
> If you create `autosign.conf` as a non-executable file and add certnames to it, Puppet then automatically uses the file to whitelist incoming requests without needing to modify `puppet.conf`.
4142
>
4243
> To _explicitly_ disable autosigning, set `autosign = false` in the `[server]` section of the CA OpenVox Server's `puppet.conf`, which disables CA autosigning even if `autosign.conf` or a custom policy executable exists.

docs/_openvox_8x/config_file_fileserver.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The location of the `confdir` depends on your OS. [See the confdir documentation
2828

2929
## Example
3030

31-
```
31+
```ini
3232
# Files in the /path/to/files directory will be served
3333
# at puppet:///extra_files/.
3434
[extra_files]

docs/_openvox_8x/config_important_settings.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ These settings affect the way OpenVox agent acts when running as a long-lived se
110110

111111
### Useful when running agent from cron
112112

113-
* [`splay`][splay] and [`splaylimit`][splaylimit] --- Together, these allow you to spread out agent runs. When running the agent as a daemon, the services will usually have been started far enough out of sync to make this a non-issue, but it's useful with cron agents. For example, if your agent cron job happens on the hour, you could set `splay = true` and `splaylimit = 60m` to keep the master from getting briefly hammered and then left idle for the next 50 minutes.
113+
* [`splay`][splay] and [`splaylimit`][splaylimit] --- Together, these allow you to spread out agent runs. When running the agent as a daemon, the services will usually have been started far enough out of sync to make this a non-issue, but it's useful with cron agents.
114+
For example, if your agent cron job happens on the hour, you could set `splay = true` and `splaylimit = 60m` to keep the master from getting briefly hammered and then left idle for the next 50 minutes.
114115
* [`daemonize`][daemonize] --- Whether to daemonize. Set this to false when running the agent from cron.
115116
* [`onetime`][onetime] --- Whether to exit after finishing the current Puppet run. Set this to true when running the agent from cron.
116117

@@ -155,4 +156,3 @@ These features configure add-ons and optional features.
155156

156157
* [`ca_ttl`][ca_ttl] --- How long newly signed certificates should be valid for.
157158
* [`autosign`][autosign] --- Whether (and how) to autosign certificates. See [the autosigning page][ssl_autosign] for details.
158-

docs/_openvox_8x/custom_types.markdown

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ Puppet types and providers must always be written in Ruby. If you're new to Ruby
2323

2424
The internals of how types are created have changed over Puppet's lifetime, and this document will focus on best practices, skipping over all the things you can but probably shouldn't do.
2525

26-
> **Note:** Often the best way to learn types and providers is to read the existing type and providers in Puppet's core codebase. One warning: Don't start with the `file` type; start with `user` or `package` instead. New extension writers often expect that `file` would be a nice easy one to get started with, and it's actually an incredibly complicated morass of special cases that most types just don't have to deal with.
26+
> **Note:** Often the best way to learn types and providers is to read the existing type and providers in Puppet's core codebase.
27+
> One warning: Don't start with the `file` type; start with `user` or `package` instead. New extension writers often expect that `file` would be a nice easy one to get started with, and it's actually an incredibly complicated morass of special cases that most types just don't have to deal with.
2728
>
2829
> User or package, not file.
2930
@@ -101,7 +102,8 @@ Puppet::Type.newtype(:database) do
101102
end
102103
```
103104

104-
In this example, any whitespace would be trimmed from the first line (in this case, it's zero spaces), then the greatest common amount would be trimmed from remaining lines. Three lines have four leading spaces, two lines have six, and two lines have eight, so four leading spaces would be trimmed from each line. This leaves the example code block indented by four spaces, and thus doesn't break the Markdown formatting.
105+
In this example, any whitespace would be trimmed from the first line (in this case, it's zero spaces), then the greatest common amount would be trimmed from remaining lines.
106+
Three lines have four leading spaces, two lines have six, and two lines have eight, so four leading spaces would be trimmed from each line. This leaves the example code block indented by four spaces, and thus doesn't break the Markdown formatting.
105107

106108
### Properties and Parameters
107109

@@ -302,13 +304,17 @@ There are three ways to designate a namevar. Every type must have **exactly one*
302304
>
303305
> **Puppet 2.7:**
304306
>
305-
> $ puppet apply -e "testing { h: }"
306-
> Error: undefined method `merge' for []:Array
307+
> ```console
308+
> $ puppet apply -e "testing { h: }"
309+
> Error: undefined method `merge' for []:Array
310+
> ```
307311
>
308312
> **Puppet 3:**
309313
>
310-
> $ puppet apply -e "testing { h: }"
311-
> Error: No set of title patterns matched the title "h".
314+
> ```console
315+
> $ puppet apply -e "testing { h: }"
316+
> Error: No set of title patterns matched the title "h".
317+
> ```
312318
>
313319
> The fact that these are not particularly helpful is tracked as [issue 5220](http://projects.puppetlabs.com/issues/5220).
314320
@@ -507,4 +513,3 @@ a bunch of class methods on the provider:
507513

508514
Additionally, each feature gets a separate boolean method, so the
509515
above example would result in a paint? method on the provider.
510-

0 commit comments

Comments
 (0)