Idea is to prepare a machine which is smart enough to check its own health and report it back as a web page.
Specifically, it would be helpful for load balancers. As Load Balancers check health of system and stop sending traffic if it's not healthy. This health check is usually done using a URL. The generated health check page can be used for this URL then. If self-check fails, it will return a 3xx status code, otherwise 200 status code.
Self health check can also be useful in continuous delivery and if check fails after deploy, deployer will be notified right away instead of asking the developer.
To achieve this goal, 'Serverspec' is being used. So, Serverspec will be installed on the instance. 'spec' files go to 'files' directory and healthcheck page will be generated based on it.
TODO: List your cookbook requirements. Be sure to include any requirements this cookbook has on platforms, libraries, other cookbooks, packages, operating systems, etc.
e.g.
- Ubuntu 14.04 or later
- 1024 MB of RAM to handle ruby2 install
- Chef 12.0 or later
apt
- serverspec-healthcheck needs apt to do apt-get update.
This cookbook is tested with Kitchen (rspec as busser).
TODO: List your cookbook attributes here.
e.g.
Key | Type | Description | Default |
---|---|---|---|
['serverspec-healthcheck']['bacon'] | Boolean | whether to include bacon | true |
TODO: Write usage instructions for each cookbook.
Just include serverspec-healthcheck
in your node's run_list
:
{
"name":"my_node",
"run_list": [
"recipe[serverspec-healthcheck]"
]
}
You need to introduce path to your spec
files in attributes.
TODO: (optional) If this is a public cookbook, detail the process for contributing. If this is a private cookbook, remove this section.
e.g.
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: TODO: List authors