Skip to content

Commit 5e29d8f

Browse files
feat: EL10 support
Add an "unholy hack" (quote) to support EL10 while it's added to postgresql Co-authored-by: Corporate Gadfly <corporate-gadfly@users.noreply.github.com>
1 parent b32a25f commit 5e29d8f

10 files changed

Lines changed: 74 additions & 12 deletions

File tree

data/common.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
---

data/os/RedHat/AlmaLinux/10.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
# As of v10.6.1, puppetlabs/postgresql does not have EL10 support/data
3+
openvoxdb::manage_package_repo: false
4+
openvoxdb::postgres_version: '16'

data/os/RedHat/CentOS/10.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
# As of v10.6.1, puppetlabs/postgresql does not have EL10 support/data
3+
openvoxdb::manage_package_repo: false
4+
openvoxdb::postgres_version: '16'

data/os/RedHat/OracleLinux/10.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
# As of v10.6.1, puppetlabs/postgresql does not have EL10 support/data
3+
openvoxdb::manage_package_repo: false
4+
openvoxdb::postgres_version: '16'

data/os/RedHat/RedHat/10.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
# As of v10.6.1, puppetlabs/postgresql does not have EL10 support/data
3+
openvoxdb::manage_package_repo: false
4+
openvoxdb::postgres_version: '16'

data/os/RedHat/Rocky/10.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
# As of v10.6.1, puppetlabs/postgresql does not have EL10 support/data
3+
openvoxdb::manage_package_repo: false
4+
openvoxdb::postgres_version: '16'

hiera.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
version: 5
3+
4+
hierarchy:
5+
- name: "OS version"
6+
path: "os/%{facts.os.family}/%{facts.os.name}/%{facts.os.release.major}.yaml"
7+
- name: "OS variant"
8+
path: "os/%{facts.os.family}/%{facts.os.name}.yaml"
9+
- name: "OS family"
10+
path: "os/%{facts.os.family}.yaml"
11+
- name: "common"
12+
path: "common.yaml"

manifests/database/postgresql.pp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,23 @@
9898
$port = scanf($database_port, '%i')[0]
9999

100100
if $manage_server {
101-
class { 'postgresql::globals':
102-
manage_package_repo => $manage_package_repo,
103-
version => $postgres_version,
101+
# Workaround for EL10 support
102+
if $facts['os']['family'] == 'RedHat' and $facts['os']['release']['major'] == '10' {
103+
class { 'postgresql::globals':
104+
manage_package_repo => $manage_package_repo,
105+
manage_dnf_module => false,
106+
version => $postgres_version,
107+
datadir => '/var/lib/pgsql/data',
108+
confdir => '/var/lib/pgsql/data',
109+
service_name => 'postgresql',
110+
}
111+
} else {
112+
class { 'postgresql::globals':
113+
manage_package_repo => $manage_package_repo,
114+
version => $postgres_version,
115+
}
104116
}
117+
105118
# get the pg server up and running
106119
class { 'postgresql::server':
107120
ip_mask_allow_all_users => '0.0.0.0/0',

metadata.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@
3030
"operatingsystem": "AlmaLinux",
3131
"operatingsystemrelease": [
3232
"8",
33-
"9"
33+
"9",
34+
"10"
3435
]
3536
},
3637
{
3738
"operatingsystem": "CentOS",
3839
"operatingsystemrelease": [
39-
"9"
40+
"9",
41+
"10"
4042
]
4143
},
4244
{
@@ -51,21 +53,24 @@
5153
"operatingsystem": "OracleLinux",
5254
"operatingsystemrelease": [
5355
"8",
54-
"9"
56+
"9",
57+
"10"
5558
]
5659
},
5760
{
5861
"operatingsystem": "RedHat",
5962
"operatingsystemrelease": [
6063
"8",
61-
"9"
64+
"9",
65+
"10"
6266
]
6367
},
6468
{
6569
"operatingsystem": "Rocky",
6670
"operatingsystemrelease": [
6771
"8",
68-
"9"
72+
"9",
73+
"10"
6974
]
7075
},
7176
{

spec/unit/classes/init_spec.rb

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,23 @@
1717
it { is_expected.to contain_postgresql__server__db('puppetdb') }
1818
end
1919

20+
el10 = facts.dig(:os, 'family') == 'RedHat' && facts.dig(:os, 'release', 'major') == '10'
21+
2022
describe 'without managed postgresql' do
2123
let :pre_condition do
22-
<<-HEREDOC
23-
class { 'postgresql::server':
24-
}
25-
HEREDOC
24+
if el10
25+
<<-HEREDOC
26+
class { 'postgresql::globals':
27+
version => '16',
28+
}
29+
-> class { 'postgresql::server': }
30+
HEREDOC
31+
else
32+
<<-HEREDOC
33+
class { 'postgresql::server':
34+
}
35+
HEREDOC
36+
end
2637
end
2738

2839
let :params do

0 commit comments

Comments
 (0)