Skip to content

Commit 60fa24d

Browse files
authored
Merge pull request #331 from slauger/develop
Release v0.5.0 (minor)
2 parents bf1a670 + 13e7108 commit 60fa24d

23 files changed

Lines changed: 258 additions & 51 deletions

File tree

.github/workflows/_container-build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ jobs:
168168

169169
- name: Install cosign
170170
if: inputs.sign
171-
uses: sigstore/cosign-installer@v3
171+
uses: sigstore/cosign-installer@v4.1.1
172172

173173
- name: Create and push manifest
174174
run: |

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040

4141
- name: Run semantic-release
4242
id: semantic
43-
uses: cycjimmy/semantic-release-action@v4
43+
uses: cycjimmy/semantic-release-action@v6.0.0
4444
env:
4545
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4646

api/v1alpha1/config_types.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,24 @@ type PuppetSpec struct {
361361
// +optional
362362
Reports string `json:"reports,omitempty"`
363363

364-
// ExtraConfig is a map of additional puppet.conf entries.
364+
// ExtraConfig adds additional puppet.conf entries to specific INI sections.
365365
// +optional
366-
ExtraConfig map[string]string `json:"extraConfig,omitempty"`
366+
ExtraConfig *PuppetExtraConfig `json:"extraConfig,omitempty"`
367+
}
368+
369+
// PuppetExtraConfig holds additional puppet.conf entries per INI section.
370+
type PuppetExtraConfig struct {
371+
// Main adds entries to the [main] section.
372+
// +optional
373+
Main map[string]string `json:"main,omitempty"`
374+
375+
// Server adds entries to the [server] section.
376+
// +optional
377+
Server map[string]string `json:"server,omitempty"`
378+
379+
// Agent adds entries to the [agent] section.
380+
// +optional
381+
Agent map[string]string `json:"agent,omitempty"`
367382
}
368383

369384
// PuppetDBSpec defines the OpenVox DB connection.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 38 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/openvox-operator/crds/openvox.voxpupuli.org_configs.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,24 @@ spec:
211211
When unset, Puppet's default (0 = no caching) is used.
212212
type: string
213213
extraConfig:
214-
additionalProperties:
215-
type: string
216-
description: ExtraConfig is a map of additional puppet.conf entries.
214+
description: ExtraConfig adds additional puppet.conf entries to
215+
specific INI sections.
216+
properties:
217+
agent:
218+
additionalProperties:
219+
type: string
220+
description: Agent adds entries to the [agent] section.
221+
type: object
222+
main:
223+
additionalProperties:
224+
type: string
225+
description: Main adds entries to the [main] section.
226+
type: object
227+
server:
228+
additionalProperties:
229+
type: string
230+
description: Server adds entries to the [server] section.
231+
type: object
217232
type: object
218233
hieraConfig:
219234
default: $confdir/hiera.yaml

charts/openvox-stack/tests/config_test.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,20 +180,27 @@ tests:
180180
path: spec.puppet.storeBackend
181181
value: puppetdb
182182

183-
- it: should propagate puppet extraConfig
183+
- it: should propagate puppet extraConfig sections
184184
set:
185185
config:
186186
puppet:
187187
extraConfig:
188-
strict_variables: "true"
189-
parser: future
188+
main:
189+
environment: staging
190+
server:
191+
strict_variables: "true"
192+
agent:
193+
noop: "true"
190194
asserts:
191195
- equal:
192-
path: spec.puppet.extraConfig.strict_variables
196+
path: spec.puppet.extraConfig.main.environment
197+
value: staging
198+
- equal:
199+
path: spec.puppet.extraConfig.server.strict_variables
193200
value: "true"
194201
- equal:
195-
path: spec.puppet.extraConfig.parser
196-
value: future
202+
path: spec.puppet.extraConfig.agent.noop
203+
value: "true"
197204

198205
- it: should propagate puppetserver settings
199206
set:

charts/openvox-stack/values.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,11 @@ config:
2222
reports: store
2323
extraConfig: {}
2424
# extraConfig:
25-
# strict_variables: "true"
26-
# parser: future
25+
# main:
26+
# environment: production
27+
# server:
28+
# strict_variables: "true"
29+
# agent: {}
2730
code:
2831
image: ""
2932
imagePullPolicy: IfNotPresent

config/crd/bases/openvox.voxpupuli.org_configs.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,24 @@ spec:
211211
When unset, Puppet's default (0 = no caching) is used.
212212
type: string
213213
extraConfig:
214-
additionalProperties:
215-
type: string
216-
description: ExtraConfig is a map of additional puppet.conf entries.
214+
description: ExtraConfig adds additional puppet.conf entries to
215+
specific INI sections.
216+
properties:
217+
agent:
218+
additionalProperties:
219+
type: string
220+
description: Agent adds entries to the [agent] section.
221+
type: object
222+
main:
223+
additionalProperties:
224+
type: string
225+
description: Main adds entries to the [main] section.
226+
type: object
227+
server:
228+
additionalProperties:
229+
type: string
230+
description: Server adds entries to the [server] section.
231+
type: object
217232
type: object
218233
hieraConfig:
219234
default: $confdir/hiera.yaml

docs/concepts/architecture.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ Server pods can optionally use `readOnlyRootFilesystem: true` for security harde
138138
| `logback-xml` | ConfigMap | `.../puppetserver/logback.xml` | Yes | Logging configuration |
139139
| `metrics-conf` | ConfigMap | `.../conf.d/metrics.conf` | Yes | Metrics endpoint configuration |
140140
| `puppetserver-data` | emptyDir | `/run/puppetserver` | No | Server runtime data (`server-var-dir`) |
141+
| `puppet-cache` | emptyDir | `/opt/puppetlabs/puppet/cache` | No | Puppet vardir (facts, state, lib) |
142+
| `puppet-run` | emptyDir | `/var/run/puppetlabs` | No | Puppet rundir (PID files) |
141143
| `tmp` | emptyDir | `/tmp` | No | Temporary files |
142144
| `var-log` | emptyDir | `/var/log/puppetlabs` | No | Server logs |
143145

@@ -240,7 +242,7 @@ The operator uses a minimal container image:
240242

241243
**Included:**
242244

243-
- UBI9 + JDK 17
245+
- UBI9 + JDK 21
244246
- Tarball installation (puppet-server-release.jar, CLI tools, vendored JRuby gems)
245247
- OpenVox DB termini
246248
- OpenShift random-UID pattern (chgrp 0, chmod g=u)

docs/reference/config.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,28 @@ spec:
4949
| `storeconfigs` | bool | `true` | Enable storeconfigs |
5050
| `storeBackend` | string | `puppetdb` | Storeconfigs backend |
5151
| `reports` | string | `puppetdb` | Report processors |
52-
| `extraConfig` | map[string]string | - | Additional puppet.conf entries |
52+
| `extraConfig` | [PuppetExtraConfig](#puppetextraconfig) | - | Additional puppet.conf entries per INI section |
53+
54+
### PuppetExtraConfig
55+
56+
Additional puppet.conf entries grouped by INI section.
57+
58+
| Field | Type | Default | Description |
59+
|---|---|---|---|
60+
| `main` | map[string]string | - | Entries for the `[main]` section |
61+
| `server` | map[string]string | - | Entries for the `[server]` section |
62+
| `agent` | map[string]string | - | Entries for the `[agent]` section |
63+
64+
Example:
65+
66+
```yaml
67+
puppet:
68+
extraConfig:
69+
main:
70+
environment: staging
71+
server:
72+
strict_variables: "true"
73+
```
5374

5475
### PuppetDBSpec
5576

0 commit comments

Comments
 (0)