101 lines
2.7 KiB
Markdown
101 lines
2.7 KiB
Markdown
|
# Ansible role: Cerebro
|
||
|
|
||
|
[![Version](https://img.shields.io/badge/latest_version-1.0.0-green.svg)](https://git.yaegashi.fr/nishiki/ansible-role-cerebro/releases)
|
||
|
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://git.yaegashi.fr/nishiki/ansible-role-cerebro/src/branch/master/LICENSE)
|
||
|
|
||
|
Install and configure cerebro
|
||
|
|
||
|
## Requirements
|
||
|
|
||
|
* Ansible >= 2.7
|
||
|
* Debian Stretch and Buster
|
||
|
|
||
|
## Role variables
|
||
|
|
||
|
- `cerebro_version` - set the version to install (default: `0.8.4`)
|
||
|
- `cerebro_user` - set the user to run the service (default: `cerebro`)
|
||
|
- `cerebro_group` - set the group to run the service (default: `cerebro`)
|
||
|
- `cerebro_config` - hash with global config
|
||
|
|
||
|
```
|
||
|
secret: '"EY=SpJ42M^ZM4[I|qHEGdfpZiJfTmdk?"'
|
||
|
http.address: 0.0.0.0
|
||
|
http.port: 9000
|
||
|
basePath: '/'
|
||
|
data.path: '{{ cerebro_data_dir }}/cerebro.db'
|
||
|
pidfile.path: /dev/null
|
||
|
```
|
||
|
|
||
|
- `cerebro_hosts` - array with the servers informations
|
||
|
|
||
|
```
|
||
|
name: "Secured Cluster"
|
||
|
url: "http://some-authenticated-host:9200"
|
||
|
auth:
|
||
|
username: username
|
||
|
password: secret-password
|
||
|
options:
|
||
|
headers-whitelist: '[ "x-proxy-user", "x-proxy-roles", "X-Forwarded-For" ]'
|
||
|
```
|
||
|
|
||
|
- `cerebro_auth_type` - set the auth type (`basic` or `ldap`)
|
||
|
- `cerebro_auth_username` - set the username for the basic auth (default: `admin`)
|
||
|
- `cerebro_auth_password` - set the password for the basic auth (default: ` secret`)
|
||
|
- `cerebro_auth_settings` - hash with the ldap config
|
||
|
|
||
|
```
|
||
|
url: ldap://serve:639
|
||
|
base-dn: "ou=People,dc=domain,dc=com"
|
||
|
method: simple
|
||
|
user-template: '"uid=%s,%s"'
|
||
|
bind-dn: "ou=People,dc=domain,dc=com"
|
||
|
```
|
||
|
|
||
|
## How to use
|
||
|
|
||
|
```
|
||
|
- hosts: server
|
||
|
roles:
|
||
|
- cerebro
|
||
|
```
|
||
|
|
||
|
## Development
|
||
|
|
||
|
### Test syntax with yamllint
|
||
|
|
||
|
* install `python` and `python-pip`
|
||
|
* install yamllint `pip install yamllint`
|
||
|
* run `yamllint .`
|
||
|
|
||
|
### Test syntax with ansible-lint
|
||
|
|
||
|
* install `python` and `python-pip`
|
||
|
* install yamllint `pip install ansible-lint`
|
||
|
* run `ansible-lint .`
|
||
|
|
||
|
### Tests with docker
|
||
|
|
||
|
* install [docker](https://docs.docker.com/engine/installation/)
|
||
|
* install ruby
|
||
|
* install bundler `gem install bundler`
|
||
|
* install dependencies `bundle install`
|
||
|
* run the tests `kitchen test`
|
||
|
|
||
|
## License
|
||
|
|
||
|
```
|
||
|
Copyright (c) 2019 Adrien Waksberg
|
||
|
|
||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
you may not use this file except in compliance with the License.
|
||
|
You may obtain a copy of the License at
|
||
|
|
||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
```
|