From f129b47e297673b9a0ec2a472c89718d2b49d0b3 Mon Sep 17 00:00:00 2001 From: Adrian Parreiras Horta Date: Fri, 29 Sep 2023 14:34:11 -0700 Subject: [PATCH 1/3] Create grafana config directory Prior to this commit, attempting to created a provisioned datasource or dashboard would fail with the following: Could not set 'file' on ensure: No such file or directory - A directory component in /etc/grafana/provisioning/datasources/ does not exist or is a dangling symbolic link This commit ensure that archive installations create the directory with a default of /etc/grafana --- manifests/init.pp | 5 +++-- manifests/install.pp | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 48247a3d..ba671b26 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -158,6 +158,7 @@ String $docker_ports = '3000:3000', String $data_dir = '/var/lib/grafana', String $install_dir = '/usr/share/grafana', + String $config_dir = '/etc/grafana', Optional[String] $package_source = undef, Enum['stable', 'beta', 'custom'] $repo_name = 'stable', String[1] $repo_key_id = 'B53AE77BADB630A683046005963FA27710458545', @@ -167,8 +168,8 @@ Hash $plugins = {}, Hash $provisioning_dashboards = {}, Hash $provisioning_datasources = {}, - String $provisioning_dashboards_file = '/etc/grafana/provisioning/dashboards/puppetprovisioned.yaml', - String $provisioning_datasources_file = '/etc/grafana/provisioning/datasources/puppetprovisioned.yaml', + String $provisioning_dashboards_file = "${config_dir}/provisioning/dashboards/puppetprovisioned.yaml", + String $provisioning_datasources_file = "${config_dir}/provisioning/datasources/puppetprovisioned.yaml", Boolean $create_subdirs_provisioning = false, Optional[Hash] $sysconfig = undef, Hash[String[1], Hash] $ldap_servers = {}, diff --git a/manifests/install.pp b/manifests/install.pp index 4da2f6f1..5a037877 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -190,6 +190,12 @@ require => User['grafana'], } + file { $grafana::config_dir: + ensure => directory, + group => 'root', + owner => 'root', + } + archive { '/tmp/grafana.tar.gz': ensure => present, extract => true, From 7ae2ffe6d2085203a1dddff7a5b761c447bf056d Mon Sep 17 00:00:00 2001 From: Adrian Parreiras Horta Date: Fri, 29 Sep 2023 15:04:40 -0700 Subject: [PATCH 2/3] Create grafana group --- manifests/install.pp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manifests/install.pp b/manifests/install.pp index 5a037877..63dc7e8e 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -181,6 +181,9 @@ ensure => present, home => $grafana::install_dir, } + group { 'grafana': + ensure => present, + } } file { $grafana::install_dir: From ffd439e3a6ebeab7c25c1310446a949bd136ab43 Mon Sep 17 00:00:00 2001 From: Adrian Parreiras Horta Date: Fri, 29 Sep 2023 15:12:32 -0700 Subject: [PATCH 3/3] Create provisioning directories --- manifests/install.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/install.pp b/manifests/install.pp index 63dc7e8e..ff5f96bc 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -193,7 +193,7 @@ require => User['grafana'], } - file { $grafana::config_dir: + file { [$grafana::config_dir, "${grafana::config_dir}/provisioning", "${grafana::config_dir}/provisioning/datasources", "${grafana::config_dir}/provisioning/dashboards"]: ensure => directory, group => 'root', owner => 'root',