Skip to content

Commit

Permalink
add SLES support
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Alfke committed Aug 22, 2020
1 parent 900babd commit d6a35dd
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 28 deletions.
3 changes: 3 additions & 0 deletions data/family/Suse.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
grafana::install_method: 'package'
grafana::sysconfig_location: '/etc/sysconfig/grafana-server'
9 changes: 4 additions & 5 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
$cfg = $grafana::cfg
$myprovision = false

file { 'grafana.ini':
file { 'grafana.ini':
ensure => file,
path => $grafana::cfg_location,
content => template('grafana/config.ini.erb'),
Expand All @@ -23,7 +23,7 @@
$cfg = $grafana::cfg
$myprovision = true

file { 'grafana.ini':
file { 'grafana.ini':
ensure => file,
path => $grafana::cfg_location,
content => template('grafana/config.ini.erb'),
Expand All @@ -38,8 +38,8 @@
if $sysconfig_location and $sysconfig {
$changes = $sysconfig.map |$key, $value| { "set ${key} ${value}" }

augeas{'sysconfig/grafana-server':
context => "/files${$sysconfig_location}",
augeas { 'sysconfig/grafana-server':
context => "/files${sysconfig_location}",
changes => $changes,
notify => Class['grafana::service'],
}
Expand Down Expand Up @@ -159,6 +159,5 @@
notify => Class['grafana::service'],
}
}

}
}
1 change: 0 additions & 1 deletion manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,6 @@
String[1] $toml_package_ensure,
Optional[String[1]] $toml_package_provider,
) {

contain grafana::install
contain grafana::config
contain grafana::service
Expand Down
46 changes: 26 additions & 20 deletions manifests/install.pp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
}
else {
$real_package_source = $facts['os']['family'] ? {
/(RedHat|Amazon)/ => "${base_url}/grafana-${grafana::version}-${grafana::rpm_iteration}.x86_64.rpm",
'Debian' => "${base_url}/grafana_${grafana::version}_amd64.deb",
default => $real_archive_source,
/(RedHat|Amazon|Suse)/ => "${base_url}/grafana-${grafana::version}-${grafana::rpm_iteration}.x86_64.rpm",
'Debian' => "${base_url}/grafana_${grafana::version}_amd64.deb",
default => $real_archive_source,
}
}

Expand Down Expand Up @@ -46,17 +46,22 @@
require => [Archive['/tmp/grafana.deb'],Package['libfontconfig1']],
}
}
'RedHat': {
'RedHat', 'Suse': {
package { 'fontconfig':
ensure => present,
}

$install_options = $facts['os']['family'] ? {
'Suse' => ['--nodeps'],
default => undef,
}
package { 'grafana':
ensure => present,
name => $grafana::package_name,
provider => 'rpm',
source => $real_package_source,
require => Package['fontconfig'],
ensure => present,
name => $grafana::package_name,
provider => 'rpm',
install_options => $install_options,
source => $real_package_source,
require => Package['fontconfig'],
}
}
'FreeBSD': {
Expand All @@ -78,16 +83,16 @@
ensure => present,
}

if ( $grafana::manage_package_repo ){
if !defined( Class['apt'] ) {
if ( $grafana::manage_package_repo ) {
if !defined(Class['apt']) {
include apt
}
apt::source { 'grafana':
location => 'https://packages.grafana.com/oss/deb',
release => $grafana::repo_name,
architecture => 'amd64,arm64,armhf',
repos => 'main',
key => {
key => {
'id' => '4E40DDF6D76E284A4A6780E48C8C34C524098CB6',
'source' => 'https://packages.grafana.com/gpg.key',
},
Expand All @@ -107,7 +112,7 @@
ensure => present,
}

if ( $grafana::manage_package_repo ){
if ( $grafana::manage_package_repo ) {
# http://docs.grafana.org/installation/rpm/#install-via-yum-repository
$baseurl = $grafana::repo_name ? {
'stable' => 'https://packages.grafana.com/oss/rpm',
Expand Down Expand Up @@ -164,7 +169,7 @@
'archive': {
# create log directory /var/log/grafana (or parameterize)

if !defined(User['grafana']){
if !defined(User['grafana']) {
user { 'grafana':
ensure => present,
home => $grafana::install_dir,
Expand All @@ -189,19 +194,20 @@
cleanup => true,
require => File[$grafana::install_dir],
}

}
default: {
fail("Installation method ${grafana::install_method} not supported")
}
}

if $grafana::toml_manage_package and !empty($grafana::ldap_servers) {
ensure_packages(['toml-pkg'], {
ensure => $grafana::toml_package_ensure,
name => $grafana::toml_package_name,
provider => $grafana::toml_package_provider,
})
ensure_packages(['toml-pkg'],
{
ensure => $grafana::toml_package_ensure,
name => $grafana::toml_package_name,
provider => $grafana::toml_package_provider,
}
)

Package['toml-pkg'] -> Grafana_ldap_config <||>
}
Expand Down
2 changes: 1 addition & 1 deletion manifests/service.pp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
$service_path = "${grafana::install_dir}/bin/${grafana::service_name}"
$service_config = "${grafana::install_dir}/conf/custom.ini"

if !defined(Service['grafana']){
if !defined(Service['grafana']) {
service { 'grafana':
ensure => running,
name => $grafana::service_name,
Expand Down
1 change: 0 additions & 1 deletion manifests/validator.pp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
Stdlib::HTTPUrl $grafana_url = 'http://localhost:3000',
Stdlib::Absolutepath $grafana_api_path = '/api/health',
) {

grafana_conn_validator { 'grafana':
grafana_url => $grafana_url,
grafana_api_path => $grafana_api_path,
Expand Down
6 changes: 6 additions & 0 deletions metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@
"operatingsystemrelease": [
"12"
]
},
{
"operatingsystem": "SLES",
"operatingsystemrelease": [
"12"
]
}
],
"requirements": [
Expand Down

0 comments on commit d6a35dd

Please sign in to comment.