{"id":21976837,"url":"https://github.com/stuartapp/stuart.go-carbon","last_synced_at":"2025-03-23T00:21:17.424Z","repository":{"id":86222397,"uuid":"170532044","full_name":"StuartApp/stuart.go-carbon","owner":"StuartApp","description":"Ansible role to install and configure go-carbon","archived":false,"fork":false,"pushed_at":"2019-02-18T10:20:36.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":53,"default_branch":"master","last_synced_at":"2025-01-28T03:30:39.379Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StuartApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-13T15:34:20.000Z","updated_at":"2019-02-18T10:20:08.000Z","dependencies_parsed_at":"2023-03-13T09:04:48.049Z","dependency_job_id":null,"html_url":"https://github.com/StuartApp/stuart.go-carbon","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuartApp%2Fstuart.go-carbon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuartApp%2Fstuart.go-carbon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuartApp%2Fstuart.go-carbon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuartApp%2Fstuart.go-carbon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StuartApp","download_url":"https://codeload.github.com/StuartApp/stuart.go-carbon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245037432,"owners_count":20550869,"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-11-29T16:12:26.121Z","updated_at":"2025-03-23T00:21:17.416Z","avatar_url":"https://github.com/StuartApp.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Ansible Role for go-carbon\n=========\n\nThis role will install and configure [go-carbon](https://github.com/lomik/go-carbon), a _Golang implementation of Graphite/Carbon server_\n\nRequirements\n------------\n\nThis role will only take care of the **carbon** component installation. You have to take care of disabling the original Carbon program in a default Graphite installation.\n\nRole Variables\n--------------\n\nThe whole go-carbon configuration is automatically generated based on the values of three dicts:\n\n```yaml\ngo_carbon_conf:\n  common:\n    user: \"carbon\"\n    max-cpu: 4\n  whisper:\n    data-dir: \"/var/lib/graphite/whisper\"\ngo_carbon_storage_schemas:\n  default:\n    pattern: \".*\"\n    retentions: \"60s:30d,1h:5y\"\ngo_carbon_storage_aggregation_rules:\n  default:\n    pattern: \".*\"\n    xFilesFactor: 0.5\n    aggregationMethod: \"average\"\n```\n\nThe first level will create a `[section]` in the corresponding file and all the other key/values will create a key/value entry in that section.\n\nThere's only one notable exception in `go_carbon_conf`, which is `logging`. Since go-carbon supports multiple loggers, you can define multiple entries like this:\n\n```yaml\ngo_carbon_conf:\n  logging:\n    - logger: \"\"\n      file: \"/var/log/go-carbon/go-carbon.log\"\n      level: \"info\"\n      encoding: \"mixed\"\n      encoding-time: \"iso8601\"\n      encoding-duration: \"seconds\"\n      ## you can add more loggers here, they will appear as [[logging]] sections\n      # - logger: \"\"\n      #   file: \"stderr\"\n      #   level: \"error\"\n```\n\n**Please note**: the default values are in `vars/main.yml` under `go_carbon_conf_defaults` but you must override them using the `go_carbon_conf` dict.\n\nDependencies\n------------\n\nThere are no extra dependencies\n\nExample Playbook\n----------------\n\nThis will install go-carbon and customize its configuration, creating the necessary directories\n\n```yaml\n- hosts: servers\n  roles:\n- { role: stuart.go-carbon,\n    vars: {\n      go_carbon_conf:\n        common:\n          user: \"graphite\"\n          max-cpu: 2\n        whisper:\n          data-dir: \"/var/local/whisper\"\n        cache:\n          max-size: 2500000\n      go_carbon_storage_schemas:\n        default:\n          pattern: \".*\"\n          retentions: \"60s:30d,1h:5y\"\n      go_carbon_storage_aggregation_rules:\n        default:\n          pattern: \".*\"\n          xFilesFactor: 0.5\n          aggregationMethod: \"average\"\n    }\n  }\n```\n\nLicense\n-------\n\nGPLv3\n\nAuthor Information\n------------------\n\nThis role was originally created by [Davide Ferrari](https://github.com/vide) while working for [Stuart](https://stuart.com/). If you like what we do, give me a shout! [We are hiring!](https://stuart.com/jobs/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartapp%2Fstuart.go-carbon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuartapp%2Fstuart.go-carbon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartapp%2Fstuart.go-carbon/lists"}