openstack-ansible-ops/overlay-inventories/osa-integration-inventory.yml
cloudnull e4d7244219 Update overlay inventory to resovle circular dep
This change adds the metering sub group and points all of our systems at
that instead of assuming they can all be built on "hosts" and
"log_hosts".

Change-Id: I3cb951456f82090fad1b02cda470055691c0ae35
Signed-off-by: cloudnull <kevin@cloudnull.com>
2019-02-12 01:43:45 +00:00

207 lines
7.3 KiB
YAML

---
all_systems:
vars:
# General Ansible options for OSA
ansible_become: yes
ansible_become_user: "root"
ansible_user: "root"
physical_host: "{{ inventory_hostname }}"
children:
all_hosts:
children:
physical_hosts:
children:
hosts: {}
all_metering:
children:
metering:
children:
metering_ui_targets:
children:
log_hosts: {} # This is an osa native group, as such nothing needs to be added. Values will be inherited.
metering_infra_targets:
children:
log_hosts: {} # This is an osa native group, as such nothing needs to be added. Values will be inherited.
systems:
vars:
## HAProxy options
haproxy_extra_services:
- service:
haproxy_service_name: skydive_analyzer
haproxy_backend_nodes: "{{ groups['skydive_analyzers'] | default([]) }}"
haproxy_bind: "{{ [internal_lb_vip_address] }}"
haproxy_port: 8082
haproxy_balance_type: http
haproxy_ssl: true
haproxy_backend_options:
- "httpchk HEAD / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
- service:
haproxy_service_name: traefik
haproxy_backend_nodes: "{{ groups['skydive_analyzers'] | default([]) }}"
haproxy_bind: "{{ [internal_lb_vip_address] }}"
haproxy_port: 8090
haproxy_balance_type: http
haproxy_ssl: true
haproxy_backend_options:
- "httpchk HEAD / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
haproxy_backend_httpcheck_options:
- expect rstatus 200|401
- service:
haproxy_service_name: elasticsearch
haproxy_backend_nodes: "{{ groups['elastic-logstash'] | default([]) }}"
haproxy_ssl: True
haproxy_port: 9201
haproxy_backend_port: 9200
haproxy_balance_type: http
haproxy_backend_options:
- "httpchk HEAD / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
- service:
haproxy_service_name: kibana_ssl
haproxy_backend_nodes: "{{ groups['kibana'] | default([]) }}"
haproxy_ssl: True
haproxy_port: 8443
haproxy_backend_port: 81
haproxy_balance_type: tcp
haproxy_backend_options:
- tcpka
- service:
haproxy_service_name: apm-server
haproxy_backend_nodes: "{{ groups['apm-server'] | default([]) }}"
haproxy_ssl: True
haproxy_port: 8200
haproxy_balance_type: tcp
haproxy_backend_options:
- tcpka
- service:
haproxy_service_name: kolide-fleet
haproxy_backend_nodes: "{{ groups['kolide-fleet_all'] | default([]) }}"
haproxy_ssl: True
haproxy_port: 6443
haproxy_check_port: 443
haproxy_backend_port: 443
haproxy_balance_type: tcp
haproxy_backend_options:
- tcpka
- service:
haproxy_service_name: grafana
haproxy_backend_nodes: "{{ groups['grafana_all'] | default([]) }}"
haproxy_ssl: True
haproxy_port: 3000
haproxy_balance_type: http
haproxy_backend_options:
- "httpchk HEAD / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
children:
traefik_all:
children:
traefik_build_nodes:
vars: {}
hosts: {}
children: {}
skydive_all:
vars:
skydive_elasticsearch_servers: "{{ groups['elastic-logstash_all'] | map('extract', hostvars, ['ansible_host']) | list | join(',') }}"
skydive_bind_address: "{{ container_address | default(ansible_host) }}"
children:
skydive_build_nodes:
hosts: {}
vars: {}
children: {}
skydive_agents:
children:
physical_hosts: {}
skydive_analyzers:
children:
metering_ui_targets: {}
elk_all:
vars:
elastic_skydive_retention: 2 # Elastic retention set to 2 days max
elastic_skydive_size: 51200 # Elastic retention set to 50GiB max
children:
elastic-logstash_all:
children:
elastic-logstash:
children:
metering_infra_targets: {}
kibana_all:
children:
kibana:
children:
metering_ui_targets: {}
beats_all:
vars:
elastic_retention_refresh: true
auditbeat_service_state: "{{ (inventory_hostname in (groups['auditbeat'] | default([]))) | ternary('restarted', 'stopped') }}"
filebeat_service_state: "{{ (inventory_hostname in (groups['filebeat'] | default([]))) | ternary('restarted', 'stopped') }}"
heartbeat_service_state: "{{ (inventory_hostname in (groups['heartbeat'] | default([]))) | ternary('restarted', 'stopped') }}"
journalbeat_service_state: "{{ (inventory_hostname in (groups['journalbeat'] | default([]))) | ternary('restarted', 'stopped') }}"
metricbeat_service_state: "{{ (inventory_hostname in (groups['metricbeat'] | default([]))) | ternary('restarted', 'stopped') }}"
packetbeat_service_state: "{{ (inventory_hostname in (groups['packetbeat'] | default([]))) | ternary('restarted', 'stopped') }}"
children:
auditbeat:
children:
physical_hosts: {}
filebeat:
children:
physical_hosts: {}
heartbeat:
children:
kibana_all: {}
journalbeat:
children:
physical_hosts: {}
metricbeat:
children:
physical_hosts: {}
all_containers: {} # This is an osa native group, as such nothing needs to be added. Values will be inherited.
packetbeat:
children:
network_hosts: {} # This is an osa native group, as such nothing needs to be added. Values will be inherited.
apm-server_all:
children:
apm-server:
children:
metering_ui_targets: {}
fleet_all:
children:
kolide-db_all:
children:
kolide-db:
children:
metering_ui_targets: {}
kolide-fleet_all:
children:
kolide-fleet:
children:
metering_ui_targets: {}
osquery_all:
children:
osquery:
children:
physical_hosts: {}
grafana_all:
children:
grafana:
children:
metering_ui_targets: {}