{ "info": { "author": "Matt Martz", "author_email": "matt.martz@rackspace.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "# serverherald\n\nserverherald announces when a new Rackspace OpenStack Cloud Server becomes\nACTIVE by polling the API. It supports multiple notification methods, with\nemail being the most popular.\n\n## Usage\n\nFor your first run, enable the silent switch so that serverherald can learn\nabout your existing servers:\n\n $ serverherald --silent\n\nAll future runs can drop the silent option so that notifications are sent for\nnew servers.\n\n $ serverherald\n\n## Notification Methods\n\nserverherald has a pluggable notification system that currently supports the\nfollowing methods:\n\n* Email (SMTP, [Mailgun](http://www.mailgun.com/), or [Sendgrid](http://sendgrid.com))\n* SMS ([Twilio](http://www.twilio.com/) or [Nexmo](http://nexmo.com/))\n* Mobile notification apps ([Prowl](http://www.prowlapp.com/) or [Pushover](https://pushover.net/))\n* [PagerDuty](http://www.pagerduty.com/) event trigger\n* Custom HTTP(S) webhook\n\nThe `method` directive in the configuration file determines how serverherald\nsends notifications.\n\n## Installation\n\nserverherald is written in Python. It requires Python 2.6 or Python 2.7 and\nmultiple dependencies. It is recommended to install this inside of a Python\nvirtual environment.\n\n### Red Hat / CentOS\n\nInstall python-virtualenv:\n\n # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm\n # yum install python-virtualenv\n\n### Ubuntu / Debian\n\nInstall python-virtualenv:\n\n $ sudo apt-get install python-virtualenv\n\n### serverherald Installation\n\n $ git clone git+https://github.com/rackerlabs/serverherald.git\n $ virtualenv ~/venv\n $ source ~/venv/bin/activate\n $ python setup.py install\n\n\n## Configuration File\n\nserverherald requires a configuration file in\n[YAML format](http://yaml.org/spec/1.1/#id857168). You can specify the file\nlocation at runtime with the `--config` option. Otherwise serverherald will\nsearch these locations and select the first file that exists:\n * serverherald.yaml (in the current directory)\n * ~/.serverherald/serverherald.yaml\n * /etc/serverherald.yaml\n * /etc/serverherald/serverherald.yaml\n\n### Example Configurations\n\nEmail notifications via a local SMTP server:\n\n method: smtp\n email:\n to:\n - you@yourcompany.com\n - list@yourcompany.com\n from: Server Herald \n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n endpoint: US\n myclouduser2:\n apikey: cef58b947cd85a4fd772fe37c9408ffa\n endpoint: US\n myclouduser3:\n apikey: 6d708e45a377d3f4421542217c282a22\n endpoint: LON\n\nEmail notifications via Mailgun:\n\n method: mailgun\n mailgun:\n domain: mydomain.mailgun.org\n apikey: key-3ax6xnjp29jd6fds4gc373sgvjxteol0\n email:\n to:\n - you@yourcompany.com\n from: Server Herald \n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nEmail notifications via Sendgrid:\n\n method: sendgrid\n sendgrid:\n apikey: 1234567890\n apiuser: myusername\n email:\n to:\n - you@yourcompany.com\n from: noreply@yourcompany.com\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nSMS notifications via Twilio:\n\n method: twilio\n twilio:\n accountsid: 6d708e45a377d3f4421542217c282a22\n token: cef58b947cd85a4fd772fe37c9408ffa\n from: \"+15551234567\"\n to: \"+15557654321\"\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nSMS notifications via Nexmo:\n\n method: nexmo\n nexmo:\n apikey: 12345678\n apisecret: 87654321\n from: 15551234567\n to: 155577654321\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\niOS push notifications via Prowl:\n\n method: prowl\n prowl:\n apikey: 6d708e45a377d3f4421542217c282a55\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nAndroid or iOS push notifications via Pushover:\n\n method: pushover\n pushover:\n apikey: 6d708e45a377d3f4421542217c282a55\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nPagerDuty event trigger:\n\n method: pagerduty\n pagerduty:\n apikey: 6d708e45a377d3f4421542217c282a55\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\nCustom HTTP or HTTPS webhook notifications:\n\n method: webhook\n webhook:\n url: http://example.com/notify-me\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\n### Securing Sensitive Data in Configuration Files\n\nserverherald supports storing and retrieving sensitive values from keyrings\nso that they do not have to be stored in a human-readable text file. They key\nword `USE_KEYRING` will signal serverherald that it needs to lookup the value.\n\nIf the secret has not been stored, serverherald will prompt the user for the\ninitial value.\n\nHere's an example configuration that protects the Prowl API key:\n\n method: prowl\n prowl:\n apikey: USE_KEYRING\n accounts:\n myclouduser1:\n apikey: db2132af5dc3125f9c688661fefab621\n\n\n\n## Deployment\n\nserverherald should be used to poll the Rackspace Cloud Servers API on\na regular interval so that it can detect changes and then announce them.\n\nA 5 minute cron job is recommended:\n\n */5 * * * * /path/to/serverherald\n\nserverherald uses lockfiles to prevent overlapping runs.\n\n## FAQ\n\n### Do I have to use Python virtualenv?\n\nNo, there is no requirement to use Python virtualenv. Python virtualenv\nenables us to keep the global Python packages clean and to prevent conflicts\nbetween required versions of Python modules between different Python\napplications.\n\nIf you decide to go this route, there is a python-yaml in Ubuntu and a PyYAML\npackage in Red Hat/CentOS.\n\nMany of the other Python modules will still need to be installed via\npip/easy_install as there are no packages provided by your distribution's\nsoftware repository.\n\n## Additional Notes\n\n### Server Cache File\n\nThis script will create a `~/.serverherald/servers.json` cache file to record\nthe results from the previous execution.\n\n## Developers\n\n1. [Matt Martz](https://github.com/sivel) - Primary Developer\n1. [Caleb Groom](https://github.com/calebgroom)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rackerlabs/serverherald", "keywords": "rackspace cloud openstack serverherald", "license": "Apache License (2.0)", "maintainer": null, "maintainer_email": null, "name": "serverherald", "package_url": "https://pypi.org/project/serverherald/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/serverherald/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/rackerlabs/serverherald" }, "release_url": "https://pypi.org/project/serverherald/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "serverherald announces when a new Rackspace OpenStack Cloud Server becomes ACTIVE by polling the API. It supports multiple notification methods, with email being the most popular.", "version": "0.0.1" }, "last_serial": 712768, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "95d0707758df9bb7143b5d31b47fb94f", "sha256": "059da12abca78affebd9fba8957edfa3c36063bfe7ec2cc747e59cc65706fd36" }, "downloads": -1, "filename": "serverherald-1.0.0.tar.gz", "has_sig": false, "md5_digest": "95d0707758df9bb7143b5d31b47fb94f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11538, "upload_time": "2013-05-29T00:05:52", "url": "https://files.pythonhosted.org/packages/ed/61/522d4e1838d60902ad074c38dffbceca707feae02f16f4bfdfa1d967474c/serverherald-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "95d0707758df9bb7143b5d31b47fb94f", "sha256": "059da12abca78affebd9fba8957edfa3c36063bfe7ec2cc747e59cc65706fd36" }, "downloads": -1, "filename": "serverherald-1.0.0.tar.gz", "has_sig": false, "md5_digest": "95d0707758df9bb7143b5d31b47fb94f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11538, "upload_time": "2013-05-29T00:05:52", "url": "https://files.pythonhosted.org/packages/ed/61/522d4e1838d60902ad074c38dffbceca707feae02f16f4bfdfa1d967474c/serverherald-1.0.0.tar.gz" } ] }