{"id":15487721,"url":"https://github.com/bodgit/puppet-carbon","last_synced_at":"2025-03-16T22:49:11.607Z","repository":{"id":57668285,"uuid":"71290041","full_name":"bodgit/puppet-carbon","owner":"bodgit","description":"Puppet Module for managing the Carbon daemons","archived":false,"fork":false,"pushed_at":"2019-08-10T20:52:06.000Z","size":38,"stargazers_count":0,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-15T09:53:51.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/bodgit/carbon","language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bodgit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-18T20:48:43.000Z","updated_at":"2019-08-10T20:56:53.000Z","dependencies_parsed_at":"2022-09-07T15:50:36.154Z","dependency_job_id":null,"html_url":"https://github.com/bodgit/puppet-carbon","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-carbon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-carbon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-carbon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-carbon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bodgit","download_url":"https://codeload.github.com/bodgit/puppet-carbon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945478,"owners_count":20372894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T06:41:34.245Z","updated_at":"2025-03-16T22:49:11.570Z","avatar_url":"https://github.com/bodgit.png","language":"Puppet","readme":"# carbon\n\nTested with Travis CI\n\n[![Build Status](https://travis-ci.org/bodgit/puppet-carbon.svg?branch=master)](https://travis-ci.org/bodgit/puppet-carbon)\n[![Coverage Status](https://coveralls.io/repos/bodgit/puppet-carbon/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/bodgit/puppet-carbon?branch=master)\n[![Puppet Forge](http://img.shields.io/puppetforge/v/bodgit/carbon.svg)](https://forge.puppetlabs.com/bodgit/carbon)\n[![Dependency Status](https://gemnasium.com/bodgit/puppet-carbon.svg)](https://gemnasium.com/bodgit/puppet-carbon)\n\n#### Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What the module does and why it is useful](#module-description)\n3. [Setup - The basics of getting started with carbon](#setup)\n    * [What carbon affects](#what-carbon-affects)\n    * [Beginning with carbon](#beginning-with-carbon)\n4. [Usage - Configuration options and additional functionality](#usage)\n    * [Classes and Defined Types](#classes-and-defined-types)\n        * [Class: carbon](#class-carbon)\n        * [Defined Type: carbon::aggregation_rule](#defined-type-carbonaggregation_rule)\n        * [Defined Type: carbon::aggregator](#defined-type-carbonaggregator)\n        * [Defined Type: carbon::blacklist](#defined-type-carbonblacklist)\n        * [Defined Type: carbon::cache](#defined-type-carboncache)\n        * [Defined Type: carbon::relay](#defined-type-carbonrelay)\n        * [Defined Type: carbon::relay_rule](#defined-type-carbonrelay_rule)\n        * [Defined Type: carbon::rewrite_rule](#defined-type-carbonrewrite_rule)\n        * [Defined Type: carbon::storage_aggregation](#defined-type-carbonstorage_aggregation)\n        * [Defined Type: carbon::storage_schema](#defined-type-carbonstorage_schema)\n        * [Defined Type: carbon::whitelist](#defined-type-carbonwhitelist)\n    * [Examples](#examples)\n5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Overview\n\nThis module manages the Carbon daemons.\n\n## Module Description\n\nThis module installs the Carbon packages, configures the carbon, relay, and\naggregator daemons and runs them. It currently leverages systemd to support\nrunning multiple instances of each. It also manages the various rules and\nlists supported by each.\n\n## Setup\n\nIf running on Puppet 3.x you will need to have the future parser enabled. On\nRHEL/CentOS platforms you will need to enable the EPEL repository first.\n\n### What carbon affects\n\n* The package(s) providing the Carbon software.\n* The various `/etc/carbon/*.conf` configuration files.\n* The systemd unit file for each daemon instance.\n\n### Beginning with carbon\n\n```puppet\ninclude ::carbon\n```\n\n## Usage\n\n### Classes and Defined Types\n\n#### Class: `carbon`\n\n**Parameters within `carbon`:**\n\n##### `aggregation_rules`\n\nA hash of [carbon::aggregation_rule](#defined-type-carbonaggregation_rule)\ninstances to create.\n\n##### `aggregators`\n\nA hash of [carbon::aggregator](#defined-type-carbonaggregator) instances to\ncreate.\n\n##### `blacklists`\n\nA hash of [carbon::blacklist](#defined-type-carbonblacklist) instances to\ncreate.\n\n##### `caches`\n\nA hash of [carbon::cache](#defined-type-carboncache) instances to create.\n\n##### `conf_dir`\n\nThe base configuration directory, defaults to `/etc/carbon`.\n\n##### `local_data_dir`\n\nThe directory where whisper files are written, defaults to\n`${storage_dir}/whisper`.\n\n##### `log_dir`\n\nThe log directory, defaults to `/var/log/carbon`.\n\n##### `package_name`\n\nThe name of the package to install that provides the Carbon software.\n\n##### `pid_dir`\n\nThe directory where PID files are written, defaults to `/var/run`.\n\n##### `relay_rules`\n\nA hash of [carbon::relay_rule](#defined-type-carbonrelay_rule) instances to\ncreate.\n\n##### `relays`\n\nA hash of [carbon::relay](#defined-type-carbonrelay) instances to create.\n\n##### `rewrite_rules`\n\nA hash of [carbon::rewrite_rule](#defined-type-carbonrewrite_rule) instances\nto create.\n\n##### `storage_dir`\n\nThe base storage dіrectory, defaults to `/var/lib/carbon`.\n\n##### `storage_aggregations`\n\nA hash of\n[carbon::storage_aggregation](#defined-type-carbonstorage_aggregation)\ninstances to create.\n\n##### `storage_schemas`\n\nA hash of [carbon::storage_schema](#defined-type-carbonstorage_schema)\ninstances to create.\n\n##### `user`\n\nThe user to run as, defaults to `carbon`.\n\n##### `whitelists`\n\nA hash of [carbon::whitelist](#defined-type-carbonwhitelist) instances to\ncreate.\n\n##### `whitelists_dir`\n\nThe directory used for whitelisting, defaults to `/var/lib/carbon/lists`.\n\n#### Defined Type: `carbon::aggregation_rule`\n\n**Parameters within `carbon::aggregation_rule`:**\n\n##### `name`\n\nThe name of the rule.\n\n##### `frequency`\n\nHow frequently to aggregate.\n\n##### `input_pattern`\n\nInput pattern for matching incoming metrics.\n\n##### `method`\n\nOne of `avg` or `sum`.\n\n##### `output_template`\n\nThe template for the outgoing aggregated metrics.\n\n##### `order`\n\nUsed to place the rule in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::aggregator`\n\n**Parameters within `carbon::aggregator`:**\n\n##### `name`\n\nThe name of the aggregator instance, should be a single letter `a`-`z`.\n\n##### `ensure`\n\nThe running state of the instance, should be `stopped` or `running`.\n\n##### `enable`\n\nBoolean whether to enable the instance.\n\n##### `line_receiver_interface`\n\nMaps to the `LINE_RECEIVER_INTERFACE` setting.\n\n##### `line_receiver_port`\n\nMaps to the `LINE_RECEIVER_PORT` setting.\n\n##### `pickle_receiver_interface`\n\nMaps to the `PICKLE_RECEIVER_INTERFACE` setting.\n\n##### `pickle_receiver_port`\n\nMaps to the `PICKLE_RECEIVER_PORT` setting.\n\n##### `log_listener_connections`\n\nMaps to the `LOG_LISTENER_CONNECTIONS` setting.\n\n##### `forward_all`\n\nMaps to the `FORWARD_ALL` setting.\n\n##### `destinations`\n\nAn array of hashes for each destination instance. Hash must contain `host`\nand `port` keys and optionally an `instance` key. Builds the `DESTINATIONS`\nsetting.\n\n##### `replication_factor`\n\nMaps to the `REPLICATION_FACTOR` setting.\n\n##### `max_queue_size`\n\nMaps to the `MAX_QUEUE_SIZE` setting.\n\n##### `use_flow_control`\n\nMaps to the `USE_FLOW_CONTROL` setting.\n\n##### `max_datapoints_per_message`\n\nMaps to the `MAX_DATAPOINTS_PER_MESSAGE` setting.\n\n##### `max_aggregation_intervals`\n\nMaps to the `MAX_AGGREGATION_INTERVALS` setting.\n\n##### `write_back_frequency`\n\nMaps to the `WRITE_BACK_FREQUENCY` setting.\n\n##### `use_whitelist`\n\nMaps to the `USE_WHITELIST` setting.\n\n##### `carbon_metric_prefix`\n\nMaps to the `CARBON_METRIC_PREFIX` setting.\n\n##### `carbon_metric_interval`\n\nMaps to the `CARBON_METRIC_INTERVAL` setting.\n\n#### Defined Type: `carbon::blacklist`\n\n**Parameters within `carbon::blacklist`:**\n\n##### `name`\n\nThe name of the blacklist entry.\n\n##### `pattern`\n\nThe regular expression for the blacklist pattern.\n\n##### `order`\n\nWhere to place the blacklist in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::cache`\n\n**Parameters within `carbon::cache`:**\n\n##### `name`\n\nThe name of the cache instance, should be a single letter `a`-`z`.\n\n##### `ensure`\n\nThe running state of the instance, should be `stopped` or `running`.\n\n##### `enable`\n\nBoolean whether to enable the instance.\n\n##### `storage_dir`\n\nMaps to the `STORAGE_DIR` setting. Defaults to `/var/lib/carbon`.\n\n##### `local_data_dir`\n\nMaps to the `LOCAL_DATA_DIR` setting. Defaults to `${storage_dir}/whisper`.\n\n##### `whitelists_dir`\n\nMaps to the `WHITELISTS_DIR` setting. Defaults to `${storage_dir}/lists`.\n\n##### `conf_dir`\n\nMaps to the `CONF_DIR` setting. Defaults to `/etc/carbon`.\n\n##### `log_dir`\n\nMaps to the `LOG_DIR` setting. Defaults to `/var/log/carbon`.\n\n##### `pid_dir`\n\nMaps to the `PID_DIR` setting. Defaults to `/var/run`.\n\n##### `enable_logrotation`\n\nMaps to the `ENABLE_LOGROTATION` setting.\n\n##### `user`\n\nMaps to the `USER` setting. Defaults to `carbon`.\n\n##### `max_cache_size`\n\nMaps to the `MAX_CACHE_SIZE` setting.\n\n##### `max_updates_per_second`\n\nMaps to the `MAX_UPDATES_PER_SECOND` setting.\n\n##### `max_updates_per_second_on_shutdown`\n\nMaps to the `MAX_UPDATES_PER_SECOND_ON_SHUTDOWN` setting.\n\n##### `max_creates_per_minute`\n\nMaps to the `MAX_CREATES_PER_MINUTE` setting.\n\n##### `line_receiver_interface`\n\nMaps to the `LINE_RECEIVER_INTERFACE` setting.\n\n##### `line_receiver_port`\n\nMaps to the `LINE_RECEIVER_PORT` setting.\n\n##### `line_receiver_backlog`\n\nMaps to the `LINE_RECEIVER_BACKLOG` setting.\n\n##### `enable_udp_listener`\n\nMaps to the `ENABLE_UDP_LISTENER` setting.\n\n##### `udp_receiver_interface`\n\nMaps to the `UDP_RECEIVER_INTERFACE` setting.\n\n##### `udp_receiver_port`\n\nMaps to the `UDP_RECEIVER_PORT` setting.\n\n##### `pickle_receiver_interface`\n\nMaps to the `PICKLE_RECEIVER_INTERFACE` setting.\n\n##### `pickle_receiver_port`\n\nMaps to the `PICKLE_RECEIVER_PORT` setting.\n\n##### `pickle_receiver_backlog`\n\nMaps to the `PICKLE_RECEIVER_BACKLOG` setting.\n\n##### `log_listener_connections`\n\nMaps to the `LOG_LISTENER_CONNECTIONS` setting.\n\n##### `use_insecure_unpickler`\n\nMaps to the `USE_INSECURE_UNPICKLER` setting.\n\n##### `cache_query_interface`\n\nMaps to the `CACHE_QUERY_INTERFACE` setting.\n\n##### `cache_query_port`\n\nMaps to the `CACHE_QUERY_PORT` setting.\n\n##### `cache_query_backlog`\n\nMaps to the `CACHE_QUERY_BACKLOG` setting.\n\n##### `use_flow_control`\n\nMaps to the `USE_FLOW_CONTROL` setting.\n\n##### `log_updates`\n\nMaps to the `LOG_UPDATES` setting.\n\n##### `log_cache_hits`\n\nMaps to the `LOG_CACHE_HITS` setting.\n\n##### `log_cache_queue_sorts`\n\nMaps to the `LOG_CACHE_QUEUE_SORTS` setting.\n\n##### `cache_write_strategy`\n\nMaps to the `CACHE_WRITE_STRATEGY` setting.\n\n##### `whisper_autoflush`\n\nMaps to the `WHISPER_AUTOFLUSH` setting.\n\n##### `whisper_sparse_create`\n\nMaps to the `WHISPER_SPARSE_CREATE` setting.\n\n##### `whisper_fallocate_create`\n\nMaps to the `WHISPER_FALLOCATE_CREATE` setting.\n\n##### `whisper_lock_writes`\n\nMaps to the `WHISPER_LOCK_WRITES` setting.\n\n##### `use_whitelist`\n\nMaps to the `USE_WHITELIST` setting.\n\n##### `carbon_metric_prefix`\n\nMaps to the `CARBON_METRIC_PREFIX` setting.\n\n##### `carbon_metric_interval`\n\nMaps to the `CARBON_METRIC_INTERVAL` setting.\n\n##### `enable_amqp`\n\nMaps to the `ENABLE_AMQP` setting.\n\n##### `amqp_verbose`\n\nMaps to the `AMQP_VERBOSE` setting.\n\n##### `amqp_host`\n\nMaps to the `AMQP_HOST` setting.\n\n##### `amqp_port`\n\nMaps to the `AMQP_PORT` setting.\n\n##### `amqp_vhost`\n\nMaps to the `AMQP_VHOST` setting.\n\n##### `amqp_user`\n\nMaps to the `AMQP_USER` setting.\n\n##### `amqp_password`\n\nMaps to the `AMQP_PASSWORD` setting.\n\n##### `amqp_exchange`\n\nMaps to the `AMQP_EXCHANGE` setting.\n\n##### `amqp_metric_name_in_body`\n\nMaps to the `AMQP_METRIC_NAME_IN_BODY` setting.\n\n##### `enable_manhole`\n\nMaps to the `ENABLE_MANHOLE` setting.\n\n##### `manhole_interface`\n\nMaps to the `MANHOLE_INTERFACE` setting.\n\n##### `manhole_port`\n\nMaps to the `MANHOLE_PORT` setting.\n\n##### `manhole_user`\n\nMaps to the `MANHOLE_USER` setting.\n\n##### `manhole_public_key`\n\nMaps to the `MANHOLE_PUBLIC_KEY` setting.\n\n##### `bind_patterns`\n\nAn array of AMQP bind patterns. Builds the `BIND_PATTERNS` setting.\n\n#### Defined Type: `carbon::relay`\n\n**Parameters within `carbon::relay`:**\n\n##### `name`\n\nThe name of the relay instance, should be a single letter `a`-`z`.\n\n##### `ensure`\n\nThe running state of the instance, should be `stopped` or `running`.\n\n##### `enable`\n\nBoolean whether to enable the instance.\n\n##### `line_receiver_interface`\n\nMaps to the `LINE_RECEIVER_INTERFACE` setting.\n\n##### `line_receiver_port`\n\nMaps to the `LINE_RECEIVER_PORT` setting.\n\n##### `pickle_receiver_interface`\n\nMaps to the `PICKLE_RECEIVER_INTERFACE` setting.\n\n##### `pickle_receiver_port`\n\nMaps to the `PICKLE_RECEIVER_PORT` setting.\n\n##### `log_listener_connections`\n\nMaps to the `LOG_LISTENER_CONNECTIONS` setting.\n\n##### `relay_method`\n\nMaps to the `RELAY_METHOD` setting. One of `rules`, `consistent-hashing`, or\n`aggregated-consistent-hashing`.\n\n##### `replication_factor`\n\nMaps to the `REPLICATION_FACTOR` setting.\n\n##### `diverse_replicas`\n\nMaps to the `DIVERSE_REPLICAS` setting.\n\n##### `destinations`\n\nAn array of hashes for each destination instance. Hash must contain `host`\nand `port` keys and optionally an `instance` key. Builds the `DESTINATIONS`\nsetting.\n\n##### `max_datapoints_per_message`\n\nMaps to the `MAX_DATAPOINTS_PER_MESSAGE` setting.\n\n##### `max_queue_size`\n\nMaps to the `MAX_QUEUE_SIZE` setting.\n\n##### `queue_low_watermark_pct`\n\nMaps to the `QUEUE_LOW_WATERMARK_PCT` setting.\n\n##### `use_flow_control`\n\nMaps to the `USE_FLOW_CONTROL` setting.\n\n##### `use_whitelist`\n\nMaps to the `USE_WHITELIST` setting.\n\n##### `carbon_metric_prefix`\n\nMaps to the `CARBON_METRIC_PREFIX` setting.\n\n##### `carbon_metric_interval`\n\nMaps to the `CARBON_METRIC_INTERVAL` setting.\n\n#### Defined Type: `carbon::relay_rule`\n\n**Parameters within `carbon::relay_rule`:**\n\n##### `name`\n\nThe name of the rule.\n\n##### `destinations`\n\nAn array of hashes for each destination instance. Hash must contain `host`\nand `port` keys and optionally an `instance` key.\n\n##### `continue`\n\nWhether to drop through to further rules.\n\n##### `default`\n\nMarks the default relay rule.\n\n##### `pattern`\n\nThe regular expression for matching metrics.\n\n##### `order`\n\nUsed to place the rule in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::rewrite_rule`\n\n**Parameters within `carbon::rewrite_rule`:**\n\n##### `name`\n\nThe name of the rule.\n\n##### `pattern`\n\nThe regular expression for matching metrics.\n\n##### `section`\n\nOne of `pre` or `post`.\n\n##### `replacement`\n\nThe replacement pattern to apply.\n\n##### `order`\n\nUsed to place the rule in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::storage_aggregation`\n\n**Parameters within `carbon::storage_aggregation`:**\n\n##### `name`\n\nThe name of the rule.\n\n##### `aggregation_method`\n\nOne of `average`, `sum`, `last`, `max` or `min`.\n\n##### `pattern`\n\nThe regular expression for matching metrics.\n\n##### `x_files_factor`\n\nRepresents the ratio of datapoints needed in order to aggregate accurately.\n\n##### `order`\n\nUsed to place the rule in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::storage_schema`\n\n**Parameters within `carbon::storage_schema`:**\n\n##### `name`\n\nThe name of the rule.\n\n##### `pattern`\n\nThe regular expression for matching metrics.\n\n##### `retentions`\n\nAn array of data retention policies.\n\n##### `order`\n\nUsed to place the rule in the file, defaults to `'10'`.\n\n#### Defined Type: `carbon::whitelist`\n\n**Parameters within `carbon::whitelist`:**\n\n##### `name`\n\nThe name of the whitelist entry.\n\n##### `pattern`\n\nThe regular expression for the whitelist pattern.\n\n##### `order`\n\nWhere to place the whitelist in the file, defaults to `'10'`.\n\n### Examples\n\nInstall and create a sole cache instance (package defaults):\n\n```puppet\ninclude ::carbon\n```\n\nExtend the above to add a second cache instance with a relay instance in front\nof both balancing metrics between them.\n\n```puppet\nclass { '::carbon':\n  relays =\u003e {},\n}\n\n::carbon::cache { 'b':\n  ensure               =\u003e running,\n  enable               =\u003e true,\n  line_receiver_port   =\u003e 2103,\n  pickle_receiver_port =\u003e 2104,\n  cache_query_port     =\u003e 7102,\n}\n\n::carbon::relay { 'a':\n  ensure                     =\u003e running,\n  enable                     =\u003e true,\n  line_receiver_interface    =\u003e '0.0.0.0',\n  line_receiver_port         =\u003e 2013,\n  pickle_receiver_interface  =\u003e '0.0.0.0',\n  pickle_receiver_port       =\u003e 2014,\n  log_listener_connections   =\u003e true,\n  relay_method               =\u003e 'consistent-hashing',\n  replication_factor         =\u003e 1,\n  destinations               =\u003e [\n    {\n      'host'     =\u003e '127.0.0.1',\n      'port'     =\u003e 2004,\n      'instance' =\u003e 'a',\n    },\n    {\n      'host'     =\u003e '127.0.0.1',\n      'port'     =\u003e 2104,\n      'instance' =\u003e 'b',\n    },\n  ],\n  max_datapoints_per_message =\u003e 500,\n  max_queue_size             =\u003e 10000,\n  queue_low_watermark_pct    =\u003e 0.8,\n  use_flow_control           =\u003e true,\n}\n```\n\n## Reference\n\n### Classes\n\n#### Public Classes\n\n* [`carbon`](#class-carbon): Main class for managing the Carbon daemons.\n\n#### Private Classes\n\n* `carbon::install`: Handles Carbon installation.\n* `carbon::config`: Handles Carbon configuration.\n* `carbon::params`: Different configuration data for different systems.\n* `carbon::service`: Handles stopping the default services.\n\n### Defined Types\n\n#### Public Defined Types\n\n* [`carbon::aggregation_rule`](#defined-type-carbonaggregation_rule): Handles\n  aggregation rules.\n* [`carbon::aggregator`](#defined-type-carbonaggregator): Handles creating\n  aggregator instances.\n* [`carbon::blacklist`](#defined-type-carbonblacklist): Handles blacklist\n  rules.\n* [`carbon::cache`](#defined-type-carboncache): Handles creating cache\n  instances.\n* [`carbon::relay`](#defined-type-carbonrelay): Handles creating relay\n  instances.\n* [`carbon::relay_rule`](#defined-type-carbonrelay_rule): Handles relay rules.\n* [`carbon::rewrite_rule`](#defined-type-carbonrewrite_rule): Handles rewrite\n  rules.\n* [`carbon::storage_aggregation`](#defined-type-carbonstorage_aggregation):\n  Handles storage aggregation rules.\n* [`carbon::storage_schema`](#defined-type-carbonstorage_schema): Handles\n  storage schema rules.\n* [`carbon::whitelist`](#defined-type-carbonwhitelist): Handles whitelist\n  rules.\n\n## Limitations\n\nThis module leverages systemd to create multiple instances of the three\ndaemons.\n\nThis module has been built on and tested against Puppet 3.0 and higher.\n\nThe module has been tested on:\n\n* RedHat/CentOS Enterprise Linux 7\n\nTesting on other platforms has been light and cannot be guaranteed.\n\n## Development\n\nPlease log issues or pull requests at\n[github](https://github.com/bodgit/puppet-carbon).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-carbon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodgit%2Fpuppet-carbon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-carbon/lists"}