From ce862efdcaac5efc7d39ae90c372b5b99ac67e2c Mon Sep 17 00:00:00 2001 From: Rshad Zhran Date: Fri, 23 Aug 2019 11:28:14 +0200 Subject: [PATCH] made the platform selection dynamic --- Pipfile.template | 15 ++++++++++--- molecule/default/molecule.yml | 28 +++++++++++------------ molecule/default/playbook.yml | 4 ++-- molecule/default/playbook.yml.template | 19 ++++++++++++++++ molecule/elasticsearch/playbook.yml | 2 +- molecule/kibana/molecule.yml | 28 +++++++++++------------ molecule/kibana/playbook.yml | 2 +- molecule/wazuh-agent/playbook.yml | 2 +- molecule/worker/molecule.yml | 31 +++++++++++++------------- molecule/worker/playbook.yml | 4 ++-- molecule/worker/playbook.yml.template | 21 +++++++++++++++++ run_cluster_mode.sh | 19 +++++++++++++++- run_none_cluster.sh | 17 -------------- 13 files changed, 120 insertions(+), 72 deletions(-) create mode 100644 molecule/default/playbook.yml.template create mode 100644 molecule/worker/playbook.yml.template delete mode 100644 run_none_cluster.sh diff --git a/Pipfile.template b/Pipfile.template index 34e238d1..8cb94bdf 100644 --- a/Pipfile.template +++ b/Pipfile.template @@ -20,7 +20,16 @@ agent ="molecule test -s wazuh-agent --destroy=never --platform _PLATFORM_" elasticsearch ="molecule test -s elasticsearch --destroy=never --platform _PLATFORM_" kibana ="molecule test -s kibana --destroy=never --platform _PLATFORM_" -# Destroy all the existing containers ' Molecule instances ' -destroy_elasticsearch ="molecule destroy -s elasticsearch" -destroy_worker ="molecule destroy -s worker" +# Verify .. +verify ="molecule verify" +verify_worker ="molecule verify -s worker" +verify_agent ="molecule verify -s agent" +verify_elasticsearch ="molecule verify -s elasticsearch" +verify_kibana ="molecule verify -s kibana" + +# Destroy .. destroy ="molecule destroy" +destroy_worker ="molecule destroy -s worker" +destroy_agent ="molecule destroy -s agent" +destroy_elasticsearch ="molecule destroy -s elasticsearch" +destroy_kibana ="molecule destroy -s kibana" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 3a707d0d..7fcb33da 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -7,20 +7,20 @@ lint: name: yamllint enabled: false platforms: - - name: manager + - name: manager_bionic image: solita/ubuntu-systemd:bionic command: /sbin/init ulimits: - nofile:262144:262144 privileged: true memory_reservation: 2048m -# - name: xenial -# image: solita/ubuntu-systemd:xenial -# privileged: true -# memory_reservation: 2048m -# command: /sbin/init -# ulimits: -# - nofile:262144:262144 + - name: manager_xenial + image: solita/ubuntu-systemd:xenial + privileged: true + memory_reservation: 2048m + command: /sbin/init + ulimits: + - nofile:262144:262144 # - name: trusty # image: ubuntu:trusty # privileged: true @@ -33,12 +33,12 @@ platforms: # memory_reservation: 2048m # ulimits: # - nofile:262144:262144 -# - name: centos7 -# image: milcom/centos7-systemd -# memory_reservation: 2048m -# privileged: true -# ulimits: -# - nofile:262144:262144 + - name: manager_centos7 + image: milcom/centos7-systemd + memory_reservation: 2048m + privileged: true + ulimits: + - nofile:262144:262144 provisioner: name: ansible config_options: diff --git a/molecule/default/playbook.yml b/molecule/default/playbook.yml index a492a035..d4561c1b 100644 --- a/molecule/default/playbook.yml +++ b/molecule/default/playbook.yml @@ -14,6 +14,6 @@ port: '1516' bind_addr: '0.0.0.0' nodes: - - 'manager_platofrm' + - 'manager_bionic' hidden: 'no' - - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch_platform:9200' } \ No newline at end of file + - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch_bionic:9200' } \ No newline at end of file diff --git a/molecule/default/playbook.yml.template b/molecule/default/playbook.yml.template new file mode 100644 index 00000000..f73659e9 --- /dev/null +++ b/molecule/default/playbook.yml.template @@ -0,0 +1,19 @@ +--- +- name: Converge + hosts: all + roles: + - role: wazuh/ansible-wazuh-manager + vars: + wazuh_manager_config: + cluster: + disable: 'no' + name: 'wazuh' + node_name: 'manager' + node_type: 'master' + key: 'ugdtAnd7Pi9myP7CVts4qZaZQEQcRYZa' + port: '1516' + bind_addr: '0.0.0.0' + nodes: + - 'manager_platform' + hidden: 'no' + - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch_platform:9200' } \ No newline at end of file diff --git a/molecule/elasticsearch/playbook.yml b/molecule/elasticsearch/playbook.yml index 75be4f34..0b2f9d5a 100644 --- a/molecule/elasticsearch/playbook.yml +++ b/molecule/elasticsearch/playbook.yml @@ -3,4 +3,4 @@ hosts: all roles: - role: elastic-stack/ansible-elasticsearch - elasticsearch_network_host: 'elasticsearch' + elasticsearch_network_host: 'elasticsearch_platform' diff --git a/molecule/kibana/molecule.yml b/molecule/kibana/molecule.yml index ba9ceb26..96c4ae6f 100644 --- a/molecule/kibana/molecule.yml +++ b/molecule/kibana/molecule.yml @@ -9,20 +9,20 @@ lint: config-data: ignore: .virtualenv platforms: - - name: kibana + - name: kibana_bionic image: solita/ubuntu-systemd:bionic command: /sbin/init ulimits: - nofile:262144:262144 privileged: true memory_reservation: 1024m -# - name: xenial -# image: solita/ubuntu-systemd:xenial -# privileged: true -# memory_reservation: 1024m -# command: /sbin/init -# ulimits: -# - nofile:262144:262144 + - name: kibana_xenial + image: solita/ubuntu-systemd:xenial + privileged: true + memory_reservation: 1024m + command: /sbin/init + ulimits: + - nofile:262144:262144 # - name: trusty # image: ubuntu:trusty # memory_reservation: 1024m @@ -34,12 +34,12 @@ platforms: # memory_reservation: 1024m # ulimits: # - nofile:262144:262144 -# - name: centos7 -# image: milcom/centos7-systemd -# memory_reservation: 1024m -# privileged: true -# ulimits: -# - nofile:262144:262144 + - name: kibana_centos7 + image: milcom/centos7-systemd + memory_reservation: 1024m + privileged: true + ulimits: + - nofile:262144:262144 provisioner: name: ansible config_options: diff --git a/molecule/kibana/playbook.yml b/molecule/kibana/playbook.yml index f560f96d..b166ac28 100644 --- a/molecule/kibana/playbook.yml +++ b/molecule/kibana/playbook.yml @@ -3,4 +3,4 @@ hosts: all roles: - role: elastic-stack/ansible-kibana - elasticsearch_network_host: 'elasticsearch' \ No newline at end of file + elasticsearch_network_host: 'elasticsearch_platform' \ No newline at end of file diff --git a/molecule/wazuh-agent/playbook.yml b/molecule/wazuh-agent/playbook.yml index 09413204..4feac0c2 100644 --- a/molecule/wazuh-agent/playbook.yml +++ b/molecule/wazuh-agent/playbook.yml @@ -5,7 +5,7 @@ - role: wazuh/ansible-wazuh-agent vars: wazuh_managers: - - address: 'manager' + - address: 'manager_platform' port: 1514 protocol: tcp api_port: 55000 diff --git a/molecule/worker/molecule.yml b/molecule/worker/molecule.yml index c22b3497..894b9453 100644 --- a/molecule/worker/molecule.yml +++ b/molecule/worker/molecule.yml @@ -9,22 +9,21 @@ lint: config-data: ignore: .virtualenv platforms: - - name: worker + - name: worker_bionic image: solita/ubuntu-systemd:bionic command: /sbin/init ulimits: - nofile:262144:262144 privileged: true memory_reservation: 2048m - - #- name: xenial - # image: solita/ubuntu-systemd:xenial - # privileged: true - # memory_reservation: 2048m - # command: /sbin/init - # ulimits: - # - nofile:262144:262144 - #- name: trusty + - name: worker_xenial + image: solita/ubuntu-systemd:xenial + privileged: true + memory_reservation: 2048m + command: /sbin/init + ulimits: + - nofile:262144:262144 + - name: trusty #image: ubuntu:trusty #privileged: true #memory_reservation: 2048m @@ -36,12 +35,12 @@ platforms: # memory_reservation: 2048m # ulimits: # - nofile:262144:262144 - #- name: centos7 - # image: milcom/centos7-systemd - # memory_reservation: 2048m - # privileged: true - # ulimits: - # - nofile:262144:262144 + - name: worker_centos7 + image: milcom/centos7-systemd + memory_reservation: 2048m + privileged: true + ulimits: + - nofile:262144:262144 provisioner: name: ansible config_options: diff --git a/molecule/worker/playbook.yml b/molecule/worker/playbook.yml index 7e256bbe..a59f93f2 100644 --- a/molecule/worker/playbook.yml +++ b/molecule/worker/playbook.yml @@ -14,8 +14,8 @@ port: '1516' bind_addr: '0.0.0.0' nodes: - - 'manager' + - 'manager_bionic' hidden: 'no' - - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch:9200' } + - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch_bionic:9200' } diff --git a/molecule/worker/playbook.yml.template b/molecule/worker/playbook.yml.template new file mode 100644 index 00000000..45b12d1d --- /dev/null +++ b/molecule/worker/playbook.yml.template @@ -0,0 +1,21 @@ +--- +- name: Converge + hosts: all + roles: + - role: wazuh/ansible-wazuh-manager + vars: + wazuh_manager_config: + cluster: + disable: 'no' + name: 'wazuh' + node_name: 'worker-01' + node_type: 'worker' + key: 'ugdtAnd7Pi9myP7CVts4qZaZQEQcRYZa' + port: '1516' + bind_addr: '0.0.0.0' + nodes: + - 'manager_platform' + hidden: 'no' + - { role: wazuh/ansible-filebeat, filebeat_output_elasticsearch_hosts: 'elasticsearch_platform:9200' } + + diff --git a/run_cluster_mode.sh b/run_cluster_mode.sh index 0933b9ee..51e699be 100644 --- a/run_cluster_mode.sh +++ b/run_cluster_mode.sh @@ -1,6 +1,23 @@ #!/bin/bash +paths=( "molecule/default/" "molecule/worker/" "molecule/elasticsearch/" "molecule/kibana/" ) + +if [ -z "$1" ] +then + echo "Platform not selected. Please select a platform. => Aborting" + exit +else + for i in "${paths[@]}" + do + cp "$i/playbook.yml.template" "$i/playbook.yml" + sed -i "s/platform/$1/g" "$i/playbook.yml" + done + + cp Pipfile.template Pipfile + sed -i "s/_PLATFORM_/$1/g" Pipfile +fi + sudo pipenv run elasticsearch sudo pipenv run test -sudo pipenv run worker +sudo pipenv run agent sudo pipenv run kibana \ No newline at end of file diff --git a/run_none_cluster.sh b/run_none_cluster.sh deleted file mode 100644 index 0bad5d84..00000000 --- a/run_none_cluster.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -if [ -z "$1" ] -then - echo "Platform not selected. Please select a platform. => Aborting" - exit -else - cp Pipfile.template Pipfile - sed -i "s/_PLATFORM_/$1/g" Pipfile -fi - -sudo pipenv run elasticsearch -sudo pipenv run test -sudo pipenv run agent -sudo pipenv run kibana - -cp Pipfile.template Pipfile \ No newline at end of file