fix linter errors
This commit is contained in:
@@ -14,7 +14,7 @@ This role installs and configures Grafana from a binary distribution. It also:
|
|||||||
- Allows admin password changes
|
- Allows admin password changes
|
||||||
|
|
||||||
Supports user creation
|
Supports user creation
|
||||||
Grafana service requires an environment file at startup, where you can set custom paths for logs (`log_dir`), data (`data_dir`), and plugins (`plugins_dir`). This allows flexible control over Grafana's data storage.
|
Grafana service requires an environment file at startup, where you can set custom paths for logs (`grafana_log_dir`), data (`grafana_data_dir`), and plugins (`grafana_plugins_dir`). This allows flexible control over Grafana's data storage.
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
@@ -31,11 +31,11 @@ grafana_version: 11.5.0 # version
|
|||||||
grafana_port: 3000 # port
|
grafana_port: 3000 # port
|
||||||
|
|
||||||
# Directory paths
|
# Directory paths
|
||||||
dashboard_dir: "/tmp/grafana/dashboards" # where to copy dashboards from source
|
grafana_dashboard_dir: "/tmp/grafana/dashboards" # where to copy dashboards from source
|
||||||
plugins_dir: "/var/lib/grafana/plugins" # where to store plugins on target
|
grafana_plugins_dir: "/var/lib/grafana/plugins" # where to store plugins on target
|
||||||
datasource_dir: "/etc/grafana/provisioning/datasources" # where to store data sources on target
|
grafana_datasource_dir: "/etc/grafana/provisioning/datasources" # where to store data sources on target
|
||||||
log_dir: "/var/log/grafana" # where to write logs
|
grafana_log_dir: "/var/log/grafana" # where to write logs
|
||||||
data_dir: "/var/lib/grafana" # where to store Grafana DB
|
grafana_data_dir: "/var/lib/grafana" # where to store Grafana DB
|
||||||
|
|
||||||
# Optional configurations
|
# Optional configurations
|
||||||
grafana_users: [] # array of user names, passwords, and statuses
|
grafana_users: [] # array of user names, passwords, and statuses
|
||||||
@@ -91,8 +91,8 @@ Example Playbook
|
|||||||
public_dashboards: "{{ grafana_public_dashboards }}"
|
public_dashboards: "{{ grafana_public_dashboards }}"
|
||||||
dashboard_source_path: "molecule/default/dashboards"
|
dashboard_source_path: "molecule/default/dashboards"
|
||||||
datasource_source_path: "molecule/default/datasources"
|
datasource_source_path: "molecule/default/datasources"
|
||||||
log_dir: "/opt/grafana/data"
|
grafana_log_dir: "/opt/grafana/data"
|
||||||
data_dir: "/opt/grafana/lib"
|
grafana_data_dir: "/opt/grafana/lib"
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ grafana_user: "grafana"
|
|||||||
grafana_group: "grafana"
|
grafana_group: "grafana"
|
||||||
grafana_version: 11.5.0
|
grafana_version: 11.5.0
|
||||||
grafana_port: 3000
|
grafana_port: 3000
|
||||||
dashboard_dir: "/tmp/grafana/dashboards"
|
grafana_dashboard_dir: "/tmp/grafana/dashboards"
|
||||||
plugins_dir: "/var/lib/grafana/plugins"
|
grafana_plugins_dir: "/var/lib/grafana/plugins"
|
||||||
datasource_dir: "/etc/grafana/provisioning/datasources"
|
grafana_datasource_dir: "/etc/grafana/provisioning/datasources"
|
||||||
log_dir: "/var/log/grafana"
|
grafana_log_dir: "/var/log/grafana"
|
||||||
data_dir: "/var/lib/grafana"
|
grafana_data_dir: "/var/lib/grafana"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ galaxy_info:
|
|||||||
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: "Ubuntu"
|
- name: "Ubuntu"
|
||||||
versions: [ "focal", "jammy", "noble" ]
|
versions: ["focal", "jammy", "noble"]
|
||||||
|
|
||||||
galaxy_tags: [ ]
|
galaxy_tags: []
|
||||||
|
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
roles:
|
roles:
|
||||||
# kics-scan ignore-block
|
# kics-scan ignore-block
|
||||||
- role: genlab.grafana
|
- role: genlab.common.grafana
|
||||||
grafana_version: 11.5.0
|
grafana_version: 11.5.0
|
||||||
admin_api_username: "{{ grafana.admin_api_username }}"
|
admin_api_username: "{{ grafana.admin_api_username }}"
|
||||||
admin_api_password: "{{ grafana.admin_api_password }}"
|
admin_api_password: "{{ grafana.admin_api_password }}"
|
||||||
@@ -40,5 +40,5 @@
|
|||||||
public_dashboards: "{{ grafana_public_dashboards }}"
|
public_dashboards: "{{ grafana_public_dashboards }}"
|
||||||
dashboard_source_path: "molecule/default/dashboards"
|
dashboard_source_path: "molecule/default/dashboards"
|
||||||
datasource_source_path: "molecule/default/datasources"
|
datasource_source_path: "molecule/default/datasources"
|
||||||
log_dir: "/opt/grafana/data"
|
grafana_log_dir: "/opt/grafana/data"
|
||||||
data_dir: "/opt/grafana/lib"
|
grafana_data_dir: "/opt/grafana/lib"
|
||||||
|
|||||||
@@ -13,4 +13,4 @@ datasources:
|
|||||||
secureJsonData:
|
secureJsonData:
|
||||||
httpHeaderValue1: "Bearer your_token_here"
|
httpHeaderValue1: "Bearer your_token_here"
|
||||||
version: 1
|
version: 1
|
||||||
editable: false
|
editable: false
|
||||||
|
|||||||
@@ -9,42 +9,42 @@ apiVersion: 1
|
|||||||
# list of datasources to insert/update depending
|
# list of datasources to insert/update depending
|
||||||
# whats available in the database
|
# whats available in the database
|
||||||
datasources:
|
datasources:
|
||||||
# <string, required> name of the datasource. Required
|
# <string, required> name of the datasource. Required
|
||||||
- name: Prometheus
|
- name: Prometheus
|
||||||
# <string, required> datasource type. Required
|
# <string, required> datasource type. Required
|
||||||
type: prometheus
|
type: prometheus
|
||||||
# <string, required> access mode. direct or proxy. Required
|
# <string, required> access mode. direct or proxy. Required
|
||||||
access: proxy
|
access: proxy
|
||||||
# <int> org id. will default to orgId 1 if not specified
|
# <int> org id. will default to orgId 1 if not specified
|
||||||
orgId: 1
|
orgId: 1
|
||||||
# <string> url
|
# <string> url
|
||||||
url: http://localhost:9090
|
url: http://localhost:9090
|
||||||
# <string> database password, if used
|
# <string> database password, if used
|
||||||
password:
|
password:
|
||||||
# <string> database user, if used
|
# <string> database user, if used
|
||||||
user:
|
user:
|
||||||
# <string> database name, if used
|
# <string> database name, if used
|
||||||
database:
|
database:
|
||||||
# <bool> enable/disable basic auth
|
# <bool> enable/disable basic auth
|
||||||
basicAuth: false
|
basicAuth: false
|
||||||
# <string> basic auth username, if used
|
# <string> basic auth username, if used
|
||||||
basicAuthUser:
|
basicAuthUser:
|
||||||
# <string> basic auth password, if used
|
# <string> basic auth password, if used
|
||||||
basicAuthPassword:
|
basicAuthPassword:
|
||||||
# <bool> enable/disable with credentials headers
|
# <bool> enable/disable with credentials headers
|
||||||
withCredentials:
|
withCredentials:
|
||||||
# <bool> mark as default datasource. Max one per org
|
# <bool> mark as default datasource. Max one per org
|
||||||
isDefault: true
|
isDefault: true
|
||||||
# <map> fields that will be converted to json and stored in json_data
|
# <map> fields that will be converted to json and stored in json_data
|
||||||
jsonData:
|
jsonData:
|
||||||
graphiteVersion: "1.1"
|
graphiteVersion: "1.1"
|
||||||
tlsAuth: false
|
tlsAuth: false
|
||||||
tlsAuthWithCACert: false
|
tlsAuthWithCACert: false
|
||||||
# <string> json object of data that will be encrypted.
|
# <string> json object of data that will be encrypted.
|
||||||
secureJsonData:
|
secureJsonData:
|
||||||
tlsCACert: "..."
|
tlsCACert: "..."
|
||||||
tlsClientCert: "..."
|
tlsClientCert: "..."
|
||||||
tlsClientKey: "..."
|
tlsClientKey: "..."
|
||||||
version: 1
|
version: 1
|
||||||
# <bool> allow users to edit datasources from the UI.
|
# <bool> allow users to edit datasources from the UI.
|
||||||
editable: true
|
editable: true
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
- name: "Include default vars"
|
- name: "Include default vars"
|
||||||
ansible.builtin.include_vars:
|
ansible.builtin.include_vars:
|
||||||
dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/"
|
dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/"
|
||||||
extensions: [ 'yml' ]
|
extensions: ['yml']
|
||||||
|
|
||||||
- name: "Check if Grafana is installed"
|
- name: "Check if Grafana is installed"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "Create dashboard directory"
|
- name: "Create dashboard directory"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ dashboard_dir }}"
|
path: "{{ grafana_dashboard_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
- name: "Copy dashboard files from source to target"
|
- name: "Copy dashboard files from source to target"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "{{ item }}"
|
src: "{{ item }}"
|
||||||
dest: "{{ dashboard_dir }}/{{ item | basename }}"
|
dest: "{{ grafana_dashboard_dir }}/{{ item | basename }}"
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
state: present
|
state: present
|
||||||
commit_message: Updated by ansible
|
commit_message: Updated by ansible
|
||||||
overwrite: false
|
overwrite: false
|
||||||
path: "{{ dashboard_dir }}/{{ item | basename }}"
|
path: "{{ grafana_dashboard_dir }}/{{ item | basename }}"
|
||||||
with_fileglob:
|
with_fileglob:
|
||||||
- "{{ dashboard_source_path }}/*.json"
|
- "{{ dashboard_source_path }}/*.json"
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "Create datasource directory"
|
- name: "Create datasource directory"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ datasource_dir }}"
|
path: "{{ grafana_datasource_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
- name: "Configure | provision datasources for Grafana"
|
- name: "Configure | provision datasources for Grafana"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "{{ datasource_source_path }}/{{ item | basename }}"
|
src: "{{ datasource_source_path }}/{{ item | basename }}"
|
||||||
dest: "{{ datasource_dir }}/{{ item | basename }}"
|
dest: "{{ grafana_datasource_dir }}/{{ item | basename }}"
|
||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
mode: "0660"
|
mode: "0660"
|
||||||
|
|||||||
@@ -37,9 +37,9 @@
|
|||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
mode: '0775'
|
mode: '0775'
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ log_dir }}"
|
- "{{ grafana_log_dir }}"
|
||||||
- "{{ data_dir }}"
|
- "{{ grafana_data_dir }}"
|
||||||
- "{{ plugins_dir }}"
|
- "{{ grafana_plugins_dir }}"
|
||||||
|
|
||||||
- name: "Download Grafana DEB package"
|
- name: "Download Grafana DEB package"
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
@@ -48,12 +48,12 @@
|
|||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
register: package_tmp
|
register: grafana_package_tmp
|
||||||
|
|
||||||
- name: "Install DEB package"
|
- name: "Install DEB package"
|
||||||
notify: "(Re)start and enable Grafana"
|
notify: "(Re)start and enable Grafana"
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
deb: "{{ package_tmp.dest }}"
|
deb: "{{ grafana_package_tmp.dest }}"
|
||||||
state: present
|
state: present
|
||||||
update_cache: true
|
update_cache: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "Create plugin directory"
|
- name: "Create plugin directory"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ plugins_dir }}"
|
path: "{{ grafana_plugins_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ grafana_user }}"
|
owner: "{{ grafana_user }}"
|
||||||
group: "{{ grafana_group }}"
|
group: "{{ grafana_group }}"
|
||||||
@@ -11,6 +11,6 @@
|
|||||||
community.grafana.grafana_plugin:
|
community.grafana.grafana_plugin:
|
||||||
name: "{{ plugin.name }}"
|
name: "{{ plugin.name }}"
|
||||||
version: "{{ plugin.version }}"
|
version: "{{ plugin.version }}"
|
||||||
grafana_plugins_dir: "{{ plugins_dir }}"
|
grafana_plugins_dir: "{{ grafana_plugins_dir }}"
|
||||||
state: "{{ plugin.state | default('present') }}"
|
state: "{{ plugin.state | default('present') }}"
|
||||||
notify: "(Re)start and enable Grafana"
|
notify: "(Re)start and enable Grafana"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ GRAFANA_GROUP=grafana
|
|||||||
|
|
||||||
GRAFANA_HOME=/usr/share/grafana
|
GRAFANA_HOME=/usr/share/grafana
|
||||||
|
|
||||||
LOG_DIR={{ log_dir }}
|
LOG_DIR={{ grafana_log_dir }}
|
||||||
|
|
||||||
DATA_DIR={{ data_dir }}
|
DATA_DIR={{ grafana_data_dir }}
|
||||||
|
|
||||||
MAX_OPEN_FILES=10000
|
MAX_OPEN_FILES=10000
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ CONF_FILE=/etc/grafana/grafana.ini
|
|||||||
|
|
||||||
RESTART_ON_UPGRADE=true
|
RESTART_ON_UPGRADE=true
|
||||||
|
|
||||||
PLUGINS_DIR={{ plugins_dir }}
|
PLUGINS_DIR={{ grafana_plugins_dir }}
|
||||||
|
|
||||||
PROVISIONING_CFG_DIR=/etc/grafana/provisioning
|
PROVISIONING_CFG_DIR=/etc/grafana/provisioning
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user