{"id":23727739,"url":"https://github.com/voxpupuli/puppet-smokeping","last_synced_at":"2025-12-11T21:30:52.615Z","repository":{"id":6673892,"uuid":"7918737","full_name":"voxpupuli/puppet-smokeping","owner":"voxpupuli","description":"Puppet module to install and configure smokeping. Including target and slave definition","archived":false,"fork":false,"pushed_at":"2025-10-17T15:10:26.000Z","size":472,"stargazers_count":13,"open_issues_count":2,"forks_count":50,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-10-29T12:37:45.348Z","etag":null,"topics":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","ubuntu-puppet-module"],"latest_commit_sha":null,"homepage":null,"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/voxpupuli.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"vox-pupuli","github":"voxpupuli"}},"created_at":"2013-01-30T16:41:04.000Z","updated_at":"2025-10-17T15:10:29.000Z","dependencies_parsed_at":"2023-11-09T13:02:22.074Z","dependency_job_id":"40a23165-795f-42ec-934f-1115d172513c","html_url":"https://github.com/voxpupuli/puppet-smokeping","commit_stats":{"total_commits":219,"total_committers":41,"mean_commits":5.341463414634147,"dds":0.639269406392694,"last_synced_commit":"a1eb914bff7eed76a63da66db75126ad8756829e"},"previous_names":["tobru/puppet-smokeping"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/voxpupuli/puppet-smokeping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-smokeping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-smokeping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-smokeping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-smokeping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxpupuli","download_url":"https://codeload.github.com/voxpupuli/puppet-smokeping/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-smokeping/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27670460,"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","status":"online","status_checked_at":"2025-12-11T02:00:11.302Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","ubuntu-puppet-module"],"created_at":"2024-12-31T01:29:51.505Z","updated_at":"2025-12-11T21:30:52.598Z","avatar_url":"https://github.com/voxpupuli.png","language":"Puppet","funding_links":["https://opencollective.com/vox-pupuli","https://github.com/sponsors/voxpupuli"],"categories":[],"sub_categories":[],"readme":"# SmokePing Puppet module\n\nPuppet module to completely manage a SmokePing installation.\nIncludes managing of Master/Slave or Standalone installation, and the menu hierarchy.\n\nSome background information can be found here: [Puppet module to manage SmokePing](http://tobrunet.ch/2013/02/puppet-module-to-manage-smokeping/)\n\n## Features\n\n- Master/Slave/Standalone SmokePing configuration possible\n- Menu hierarchy implemented\n- Define Probes and Alert patterns\n- Config files managed with templates\n- Uses exported resources to configure Slaves on the Master (tag: smokeping-slave)\n- Automatically generates a shared secret for Master/Slave configuration (tag: smokeping-slave-secret)\n\n## Supported Platforms\n\nFully supported:\n\n- Debian, Ubuntu\n\nStandalone only (no master/slave support yet):\n\n- Fedora 22+\n- CentOS 7+ (Note: requires third party repository to provide smokeping package).\n\n## Dependencies\n\n- [puppetlabs-concat](https://github.com/puppetlabs/puppet-concat)\n- [puppetlabs-stdlib](https://github.com/puppetlabs/puppet-stdlib)\n- [puppet-systemd](https://github.com/voxpupuli/puppet-systemd)\n\n## Example\n\n### Standalone SmokePing instance\n\n```puppet\n# install a standalone instance on a server with default values (see init.pp for\n# parameter documentation\nclass { 'smokeping':\n  mode =\u003e 'standalone',\n}\n```\n\n### Master SmokePing instance\n\n```puppet\n# install a master instance on a server with default values (see init.pp for\n# parameter documentation. You must have a slave, or this will not work!\nclass { 'smokeping':\n  mode =\u003e 'master',\n}\n```\n\n### Slave SmokePing instance\n\n```puppet\nclass { 'smokeping':\n  mode           =\u003e 'slave',\n  slave_name     =\u003e $facts['hostname'],\n  master_url     =\u003e 'http://myserver.tld/smokeping/smokeping.cgi',\n  slave_location =\u003e 'zurich',\n}\n```\n\nThis configures the server as slaves and adds the slave definition automatically to the\nmaster using exported resources.\n\n### Probes\n\n```puppet\nClass['smokeping'] {\n  probes =\u003e [\n    {\n      name =\u003e 'FPing',\n      binary =\u003e '/usr/bin/fping',\n    },\n    {\n      name =\u003e 'FPing6',\n      binary =\u003e '/usr/bin/fping6',\n    },\n  ],\n}\n```\n\n### Alerts\n\n```puppet\n$alerts = [\n  {\n    name        =\u003e 'bigloss',\n    alert_type  =\u003e 'loss',\n    pattern     =\u003e '==0%,==0%,==0%,==0%,\u003e0%,\u003e0%,\u003e0%',\n    comment     =\u003e 'suddenly there is packet loss',\n  },\n\n  {\n    name        =\u003e 'startloss',\n    alert_type  =\u003e 'loss',\n    pattern     =\u003e '==S,\u003e0%,\u003e0%,\u003e0%',\n    comment     =\u003e 'loss at startup',\n  },\n\n  {\n    name        =\u003e 'noloss',\n    alert_type  =\u003e 'loss',\n    pattern     =\u003e '\u003e0%,\u003e0%,\u003e0%,==0%,==0%,==0%,==0%',\n    edgetrigger =\u003e true,\n    comment     =\u003e 'there was loss and now its reachable again',\n  },\n]\nClass['smokeping'] {\n  alerts =\u003e $alerts,\n}\n```\n\n### Targets\n\n```puppet\n# Top Level\nsmokeping::target { 'World':\n  menu      =\u003e 'World',\n  pagetitle =\u003e 'Connection to the World',\n  alerts    =\u003e [ 'bigloss', 'noloss' ],\n}\n\nsmokeping::target { 'GoogleCH':\n  hierarchy_parent =\u003e 'World',\n  hierarchy_level  =\u003e 2,\n  menu             =\u003e 'google.ch',\n  pagetitle        =\u003e 'Google',\n}\n\nsmokeping::target { 'GoogleCHIPv4':\n  hierarchy_parent =\u003e 'GoogleCH',\n  hierarchy_level  =\u003e 3,\n  menu             =\u003e 'google.ch IPv4',\n  host             =\u003e 'google.ch',\n  slaves           =\u003e ['slave1'],\n}\n\nsmokeping::target { 'GoogleCHIPv6':\n  hierarchy_parent =\u003e 'GoogleCH',\n  hierarchy_level  =\u003e 3,\n  menu             =\u003e 'google.ch IPv6',\n  host             =\u003e 'google.ch',\n  probe            =\u003e 'FPing6',\n  slaves           =\u003e ['slave1'],\n}\n\nsmokeping::target { 'GoogleCHCurl':\n  hierarchy_parent =\u003e 'GoogleCH',\n  hierarchy_level  =\u003e 3,\n  menu             =\u003e 'google.ch Curl',\n  host             =\u003e 'google.ch',\n  probe            =\u003e 'Curl',\n  options          =\u003e {\n    urlformat =\u003e 'http://%host%/',\n  },\n}\n```\n\n## License / Author\n\nThe module is written by\n\n- Tobias Brunner \u003ctobias@tobru.ch\u003e\n\nLicensed under Apache License, Version 2.0, Copyright 2015 by Tobias Brunner\n\n## Contibutors\n\nSee: [Github Contributors](https://github.com/voxpupuli/puppet-smokeping/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-smokeping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxpupuli%2Fpuppet-smokeping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-smokeping/lists"}