Skip to content

Commit eeb3fa2

Browse files
authored
Add Percona repository profile and role (#238)
- Add role::percona_server - Add profile::percona and profile::percona::repo - Install Percona repo via percona-release package - Add Hiera data for percona_server role Closes #233
1 parent f937b23 commit eeb3fa2

5 files changed

Lines changed: 63 additions & 0 deletions

File tree

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
puppet-code (0.1.0-1build276) noble; urgency=medium
2+
3+
* commit event. see changes history in git log
4+
5+
-- root <packager@infrahouse.com> Sun, 18 Jan 2026 18:11:05 +0000
6+
17
puppet-code (0.1.0-1build275) noble; urgency=medium
28

39
* commit event. see changes history in git log
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
classes:
3+
- role::percona_server
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# @summary: Installs Percona Server and related components
2+
class profile::percona () {
3+
4+
include 'profile::percona::repo'
5+
6+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# @summary: Installs Percona repository using percona-release package.
2+
class profile::percona::repo () {
3+
$release_package_url = 'https://repo.percona.com/apt/percona-release_latest.generic_all.deb'
4+
$release_package_path = '/var/tmp/percona-release_latest.generic_all.deb'
5+
6+
package { ['gnupg2', 'curl', 'lsb-release']:
7+
ensure => 'installed',
8+
}
9+
10+
exec { 'download-percona-release':
11+
path => '/usr/bin',
12+
command => "curl -o ${release_package_path} ${release_package_url}",
13+
creates => $release_package_path,
14+
require => Package['curl'],
15+
}
16+
17+
exec { 'install-percona-release':
18+
path => '/usr/bin:/usr/sbin:/sbin:/bin',
19+
command => "dpkg -i ${release_package_path}",
20+
unless => 'dpkg -l percona-release',
21+
require => [
22+
Exec['download-percona-release'],
23+
Package['gnupg2'],
24+
Package['lsb-release'],
25+
],
26+
notify => Exec['percona-release-setup'],
27+
}
28+
29+
exec { 'percona-release-setup':
30+
path => '/usr/bin:/usr/sbin:/sbin:/bin',
31+
command => 'percona-release setup ps80 -y',
32+
refreshonly => true,
33+
notify => Exec['update-percona-repo'],
34+
}
35+
36+
exec { 'update-percona-repo':
37+
path => '/usr/bin',
38+
command => 'apt-get update',
39+
refreshonly => true,
40+
}
41+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# @summary: Puppet role for a Percona Server node
2+
class role::percona_server () {
3+
4+
include 'profile::base'
5+
include 'profile::percona'
6+
7+
}

0 commit comments

Comments
 (0)