Ver código fonte

Updating RTD config and sources

cmacrae 10 anos atrás
pai
commit
72b2bbc408
3 arquivos alterados com 129 adições e 14 exclusões
  1. 104 12
      docs/index.md
  2. 23 0
      docs/license.md
  3. 2 2
      mkdocs.yml

+ 104 - 12
docs/index.md

@@ -1,17 +1,109 @@
-# Welcome to MkDocs
+# Sensu
+This role deploys a full [Sensu](https://sensuapp.org) stack, a modern, open source monitoring framework.
 
-For full documentation visit [mkdocs.org](http://mkdocs.org).
+## Features
+- Deploy a full Sensu stack, including RabbitMQ, Redis, and the [Uchiwa dashboard](https://uchiwa.io/#/)
+- Tight integration with the Ansible inventory - deployment of monitoring checks based on role defined in your inventory
+- Automatic generation and dynamic deployment of SSL certs for secure communication between your clients and servers
+- Highly configurable
 
-## Commands
+_Note:_ _Further documentation on features is coming_
 
-* `mkdocs new [dir-name]` - Create a new project.
-* `mkdocs serve` - Start the live-reloading docs server.
-* `mkdocs build` - Build the documentation site.
-* `mkdocs help` - Print this help message.
+## Supported Platforms
+This role has been written with [SmartOS](https://smartos.org) in mind, to be deployed to [zones](https://wiki.smartos.org/display/DOC/Zones)
 
-## Project layout
+In this initial release [SmartOS](https://smartos.org) will be the only supported platform.
+However, I am dedicating a lot of time to this role and will be adding support for all major BSD & Linux platforms.
 
-    mkdocs.yml    # The configuration file.
-    docs/
-        index.md  # The documentation homepage.
-        ...       # Other markdown pages, images and other files.
+### Current Release
+- [SmartOS - base-64 15.1.0](https://docs.joyent.com/images/smartos/base#base-15.1.0)
+
+### Future Releases
+- OpenBSD
+- FreeBSD
+- NetBSD
+- EL
+- Ubuntu / Debian
+
+## Role Variables
+All variables have sensible defaults, which can be found in `defaults/main.yml`.
+The current version includes the following variables:
+
+### RabbitMQ Server Properties - [Sensu RabbitMQ documentation](https://sensuapp.org/docs/0.18/rabbitmq)
+| Name               | Default Value | Description                  |
+|--------------------|---------------|------------------------------|
+| rabbitmq\_config\_path| /opt/local/etc/rabbitmq | Path to the RabbitMQ configuration directory |
+| rabbitmq\_host| "{{ groups\['rabbitmq\_servers']\[0] }}" | The hostname/IP address of the RabbitMQ node |
+| rabbitmq\_port| 5671 | The transmission port for RabbitMQ communications |
+| rabbitmq\_server| false | Determines whether to include the deployment of RabbitMQ |
+| rabbitmq\_sensu\_user\_name| sensu | Username for authentication with the RabbitMQ vhost |
+| rabbitmq\_sensu\_password| sensu | Password for authentication with the RabbitMQ vhost |
+| rabbitmq\_sensu\_vhost| /sensu | Name of the RabbitMQ Sensu vhost |
+
+### Redis Server Properties - [Sensu Redis documentation](https://sensuapp.org/docs/0.18/redis)
+| Name               | Default Value | Description                  |
+|--------------------|---------------|------------------------------|
+| redis\_host| "{{ groups['redis_servers'][0] }}" | Hostname/IP address of the Redis node |
+| redis\_server| false | Determines whether to include the deployment of Redis |
+| redis_port| 6379 | The transmission port for Redis communications |
+
+### Sensu Properties - [Sensu services documentation](https://sensuapp.org/docs/0.18/install-sensu)
+| Name               | Default Value | Description                  |
+|--------------------|---------------|------------------------------|
+| sensu\_api\_host| "{{ groups['sensu_masters'][0] }}" | Hostname/IP address of the node running the Sensu API |
+| sensu\_api\_port| 4567 | Transmission port for Sensu API communications |
+| sensu\_api\_ssl| "false" | Determines whether to use SSL for Sensu API communications |
+| sensu\_api\_user\_name| admin | Username for authentication with the Sensu API |
+| sensu\_api\_password| secret | Password for authentication with the Sensu API |
+| sensu\_api\_uchiwa\_path| '' | Path to append to the Sensu API URI for Uchiwa communications |
+| sensu\_api\_timeout| 5000 | Value to set for the Sensu API timeout |
+| sensu\_client\_config| client.json.j2 | Jinja2 template to use for node configuration of the Sensu Client service |
+| sensu\_config\_path| /opt/local/etc/sensu | Path to the Sensu configuration directory |
+| sensu\_gem\_state| present | State of the Sensu gem - can be set to `latest` to keep Sensu updated |
+| sensu\_plugin\_gem\_state| present | State of the Sensu Plugins gem - can be set to `latest` to keep Sensu Plugins updated |
+| sensu\_group\_name| sensu | The name of the Sensu service user's primary group |
+| sensu\_include\_plugins| true | Determines whether to include the `sensu-plugins` gem |
+| sensu\_include\_dashboard| false | Determines whether to deploy the Uchiwa dashboard |
+| sensu\_master| false | Determines if a node is to act as the Sensu "master" node |
+| sensu\_user\_name| sensu | The name of the Sensu service user |
+
+### Uchiwa Properties - [Uchiwa documentation](http://docs.uchiwa.io/en/latest/)
+| Name               | Default Value | Description                  |
+|--------------------|---------------|------------------------------|
+| uchiwa\_dc\_name| _undefined_ | Datacenter name for Uchiwa instance |
+| uchiwa\_path| /opt/uchiwa | Path to the Uchiwa configuration directory |
+| uchiwa\_redis\_use\_ssl| false | Determines whether to use SSL for Redis communication |
+| uchiwa\_user\_name| admin | The user-name to log into Uchiwa |
+| uchiwa\_password| admin | The password to log into Uchiwa |
+| uchiwa\_port| 3000 | The TCP port to bind the Uchiwa web service to |
+| uchiwa\_refresh| 5 | The interval to pull the Sensu APIs in seconds |
+
+_Note_: _A few of these defaults will be moving to_`vars`_in the near future due to the addition of other OS support_
+
+## Example Playbook
+
+``` yaml
+  - hosts: all
+    roles:
+      - role: cmacrae.sensu
+```
+Or, passing parameter values:
+
+``` yaml
+  - hosts: sensu_masters
+    roles:
+	  - { role: cmacrae.sensu, sensu_master: true, sensu_include_dashboard: true  }
+```
+
+License
+-------
+MIT
+
+Author Information
+------------------
+Created by [Calum MacRae](http://cmacr.ae)
+
+Feel free to:  
+Contact me - [@calumacrae](https://twitter.com/calumacrae), [mailto:calum0macrae@gmail.com](calum0macrae@gmail.com)  
+[Raise an issue](https://github.com/cmacrae/ansible-sensu/issues)  
+[Contribute](https://github.com/cmacrae/ansible-sensu/pulls)  

+ 23 - 0
docs/license.md

@@ -0,0 +1,23 @@
+# License
+Use of this software is governed by an MIT license
+```
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+```

+ 2 - 2
mkdocs.yml

@@ -5,7 +5,7 @@ site_description: An Ansible role to deploy a fully dynamic Sensu stack!
 site_author: Calum MacRae
 
 pages:
-  - [ '../README.md', 'README' ]
+  - [ 'index.md', 'Index' ]
   - [ 'example_infra.md', 'Usage', 'Example infrastructure layout' ]
   - [ 'single_master.md', 'Usage', 'Deploy the stack to a single node' ]
   - [ 'custom_client_config.md', 'Usage', 'Custom client configuration' ]
@@ -13,5 +13,5 @@ pages:
   - [ 'sensitive_info.md', 'Usage', 'Sensitive information in version control' ]
   - [ 'dynamic_data.md','Conventions','Dynamic data store' ]
   - [ 'dynamic_checks.md','Conventions','Dynamic check deployment' ]
-  - [ '../LICENSE','About','LICENSE' ]
   - [ 'afewwords.md','About','A few words from the author' ]
+  - [ 'license.md','About','License' ]