Metadata-Version: 2.1
Name: salt-analytics-framework
Version: 0.0.1
Summary: Salt Analytics Framework
Home-page: https://github.com/saltstack/salt-analytics-framework
Author: Pedro Algarvio
Author-email: palgarvio@vmware.com
License: Apache Software License
Project-URL: Source, https://github.com/saltstack/salt-analytics-framework
Project-URL: Tracker, https://github.com/saltstack/salt-analytics-framework/issues
Keywords: salt-extension
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: NOTICE
Requires-Dist: salt (>=3005)
Requires-Dist: pydantic (>=1.8.2)
Requires-Dist: aiorun
Requires-Dist: drain3
Requires-Dist: psutil
Requires-Dist: backoff
Requires-Dist: importlib-metadata (<5.0.0,>=3.4.0) ; python_version < "3.8"
Provides-Extra: build
Requires-Dist: twine ; extra == 'build'
Requires-Dist: build (>=0.7.0) ; extra == 'build'
Provides-Extra: changelog
Requires-Dist: towncrier (==21.9.0rc1) ; extra == 'changelog'
Provides-Extra: dev
Requires-Dist: nox ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: mypy (>=0.910) ; extra == 'dev'
Requires-Dist: types-attrs ; extra == 'dev'
Requires-Dist: types-setuptools ; extra == 'dev'
Requires-Dist: pylint (==2.12.2) ; extra == 'dev'
Requires-Dist: astroid (==2.9.3) ; extra == 'dev'
Requires-Dist: pylint-pydantic ; extra == 'dev'
Requires-Dist: pyenchant ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: flake8-mypy-fork ; extra == 'dev'
Requires-Dist: flake8-docstrings ; extra == 'dev'
Requires-Dist: flake8-typing-imports ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo ; extra == 'docs'
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: sphinx-copybutton ; extra == 'docs'
Requires-Dist: sphinx-prompt ; extra == 'docs'
Requires-Dist: sphinxcontrib-spelling ; extra == 'docs'
Requires-Dist: sphinxcontrib-towncrier (>=0.2.1a0) ; extra == 'docs'
Requires-Dist: autodoc-pydantic ; extra == 'docs'
Provides-Extra: docsauto
Requires-Dist: sphinx-autobuild ; extra == 'docsauto'
Provides-Extra: tests
Requires-Dist: pytest (>=6.0.0) ; extra == 'tests'
Requires-Dist: pytest-salt-factories (==0.911.0) ; extra == 'tests'
Requires-Dist: pytest-asyncio ; extra == 'tests'

.. image:: https://img.shields.io/github/workflow/status/saltstack/salt-analytics-framework/CI?style=plastic
   :target: https://github.com/saltstack/salt-analytics-framework/actions/workflows/testing.yml
   :alt: CI


.. image:: https://readthedocs.org/projects/salt-analytics-framework/badge/?style=plastic
   :target: https://salt-analytics-framework.readthedocs.io
   :alt: Docs


.. image:: https://img.shields.io/codecov/c/github/saltstack/salt-analytics-framework?style=plastic&token=CqV7t0yKTb
   :target: https://codecov.io/gh/saltstack/salt-analytics-framework
   :alt: Codecov


.. image:: https://img.shields.io/pypi/pyversions/salt-analytics-framework?style=plastic
   :target: https://pypi.org/project/salt-analytics-framework
   :alt: Python Versions


.. image:: https://img.shields.io/pypi/wheel/salt-analytics-framework?style=plastic
   :target: https://pypi.org/project/salt-analytics-framework
   :alt: Python Wheel


.. image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=plastic
   :target: https://github.com/psf/black
   :alt: Code Style: black


.. image:: https://img.shields.io/pypi/l/salt-analytics-framework?style=plastic
   :alt: PyPI - License


..
   include-starts-here

================================
What is Salt Analytics Framework
================================

It's a framework which extends `Salt`_ through the use of an `engine`_ that can collect,
process and forward analytics/metrics data.


Install
=======

Installing Salt Analytics Framework is as simple as:

.. code-block:: bash

   python -m pip install salt-analytics-framework


Configuration
=============

The minimal configuration to start salt analytics with `Salt`_ is to add it to Salt's engines
configuration:

.. code-block:: yaml

   engines:
     - analytics


Example Pipeline
----------------

.. code-block:: yaml

   beacons:
     memusage:
       - interval: 5
       - percent: 0.01%
     status:
       - interval: 5
       - time:
         - all
       - loadavg:
         - all

   analytics:
     collectors:
       beacons-collector:
         plugin: beacons
         beacons:
           - "*"

     processors:
       noop-processor:
         plugin: noop

     forwarders:
       disk-forwarder:
         plugin: disk
         path: /var/cache/salt
         filename: events-dumped.txt
         pretty_print: true

     pipelines:
       my-pipeline:
         collect: beacons-collector
         process: noop-processor
         forward: disk-forwarder


Usage
=====

TBD

Contributing
============

The salt-analytics-framework project team welcomes contributions from the community.
For more detailed information, refer to `CONTRIBUTING`_.

.. _salt: https://github.com/saltstack/salt
.. _engine: https://docs.saltproject.io/en/latest/topics/engines/index.html
.. _CONTRIBUTING: https://github.com/saltstack/salt-analytics-framework/blob/main/CONTRIBUTING.md

..
   include-ends-here

Documentation
=============

The full documentation can be seen `here <https://salt-analytics-framework.readthedocs.io>`_.
