grafana.grafana Ansible collection provides modules and roles for managing various resources on Grafana Cloud and roles to manage and deploy Grafana Agent and Grafana
GPL-3.0 License
This collection (grafana.grafana
) contains modules and roles to assist in automating the management of resources in Grafana, Grafana Agent, OpenTelemetry Collector, Loki, Mimir, and Promtail with Ansible.
The collection is tested and supported with: ansible >= 2.9
Before using the Grafana collection, you need to install it using the below command:
ansible-galaxy collection install grafana.grafana
You can also include it in a requirements.yml
file and install it via ansible-galaxy collection install -r requirements.yml
, using the format:
---
collections:
- name: grafana.grafana
A specific version of the collection can be installed by using the version keyword in the requirements.yml
file:
---
collections:
- name: grafana.grafana
version: 1.0.0
This collection includes the following roles to help set up and manage Grafana, Grafana Agent, OpenTelemetry Collector, Loki, Mimir and Promtail:
You can call modules by their Fully Qualified Collection Namespace (FQCN), such as grafana.grafana.cloud_stack
:
- name: Using grafana collection
hosts: localhost
tasks:
- name: Create a Grafana Cloud stack
grafana.grafana.cloud_stack:
name: mystack
stack_slug: mystack
org_slug: myorg
cloud_api_key: "{{ cloud_api_key }}"
region: eu
state: present
or you can add full namespace and collection name in the collections
element in your playbook
- name: Using grafana collection
hosts: localhost
collection:
- grafana.grafana
tasks:
- name: Create a Grafana Cloud stack
cloud_stack:
name: mystack
stack_slug: mystack
org_slug: myorg
cloud_api_key: "{{ cloud_api_key }}"
region: eu
state: present
We are accepting GitHub pull requests and issues. There are many ways in which you can participate in the project, for example:
If you want to develop new content for this collection or improve what is already
here, the easiest way to work on the collection is to clone it into one of the configured
COLLECTIONS_PATHS
,
and work on it there.
ansible-test
We use ansible-test
for sanity.
Command | Description |
---|---|
make setup |
Checks to see if necessary tools are installed |
make install |
Installs project dependencies |
make lint |
Performs all linting commands |
make lint-sh / make lint-shell
|
Performs shell script linting |
make lint-md / make lint-markdown
|
Performs Markdown linting |
make lint-txt / make lint-text
|
Performs text linting |
make lint-yml / make lint-yaml
|
Performs Yaml linting |
make lint-ec / make lint-editorconfig
|
Performs EditorConfig Checks |
make lint-ansible |
Performs Ansible linting |
make clean |
Removes the ./node_modules and ./build directories |
make reinstall |
Shortcut to make clean and make install
|
This collection follows Semantic Versioning. More details on versioning can be found in the Ansible docs.
We plan to regularly release new minor or bugfix versions once new features or bugfixes have been implemented.
Releasing the current major version on GitHub happens from the main
branch by the
GitHub Release Workflow.
Before the GitHub Release Workflow
is run, Contributors should push the new version on Ansible Galaxy Manually.
To generate changelogs for a new release, Refer Generating Changelogs
To generate the tarball to be uploaded on Ansible Galaxy, Refer Building collection tarball
This collection follows the Ansible project's Code of Conduct. Please read and familiarize yourself with this doc
GPL-3.0-or-later