Giter Site home page Giter Site logo

ohdearaugustin / grafana-ansible-collection Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grafana/grafana-ansible-collection

0.0 0.0 0.0 7.75 MB

grafana.grafana Ansible collection provides modules for managing various resources on Grafana Cloud and roles to manage and deploy Grafana Agent and Grafana

Home Page: https://docs.ansible.com/ansible/latest/collections/grafana/grafana/index.html#plugins-in-grafana-grafana

License: GNU General Public License v3.0

Shell 16.48% Python 64.96% Makefile 2.76% Jinja 15.81%

grafana-ansible-collection's Introduction

Ansible Collection for Grafana

Grafana Ansible Collection GitHub tag GitHub Last Commit GitHub Contributors

This collection (grafana.grafana) contains modules and roles to assist in automating the management of resources in Grafana, Grafana Agent, and OpenTelemetry Collector with Ansible.

Ansible version compatibility

The collection is tested and supported with: ansible >= 2.9

Installing the collection

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

Roles included in the collection

This collection includes the following roles to help set up and manage Grafana, Grafana Agent, and OpenTelemetry Collector:

  • Grafana: Installs and configures Grafana on your target hosts.
  • Grafana Agent: Deploys and configures Grafana Agent, allowing for efficient metrics, logs, and trace data shipping to Grafana Cloud or other endpoints.
  • OpenTelemetry Collector: Sets up and configures the OpenTelemetry Collector, enabling advanced observability features through data collection and transmission.

Using this collection

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

Contributing

We are accepting GitHub pull requests and issues. There are many ways in which you can participate in the project, for example:

  • Submit bugs and feature requests, and help us verify them
  • Submit and review source code changes in GitHub pull requests
  • Add new modules for more Grafana resources

Testing and Development

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.

Testing with ansible-test

We use ansible-test for sanity.

Commands

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

Releasing, Versioning and Deprecation

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

Code of Conduct

This collection follows the Ansible project's Code of Conduct. Please read and familiarize yourself with this doc

More information

License

GPL-3.0-or-later

grafana-ansible-collection's People

Contributors

ishanjainn avatar dependabot[bot] avatar gardar avatar v-zhuravlev avatar hypery2k avatar 0x46616c6b avatar bentonam avatar do1jlr avatar amandacameron avatar andrewpaglusch avatar boschung-mecatronic-ag-infrastructure avatar dergudzon avatar thesuess avatar elkozmon avatar normanjs avatar vgerris avatar pablocastellano avatar romainmou avatar pierresebastien avatar vlzzz avatar valiyvvv avatar brmurphy avatar ohdearaugustin avatar zxyz avatar fabiiw05 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.