diff --git a/.gitignore b/.gitignore index bf36dc2..ee22c0a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ /test/tmp/ /test/version_tmp/ /tmp/ +Gemfile.lock ## Specific to RubyMotion: .dat* @@ -37,4 +38,4 @@ build/ .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: -.rvmrc \ No newline at end of file +.rvmrc diff --git a/test/bin/local_docker_stack b/test/bin/local_docker_stack new file mode 100755 index 0000000..226621d --- /dev/null +++ b/test/bin/local_docker_stack @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# zabbixapi +# +# Use to deploy local zabbix stack for testing + +base_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +stack_deploy_output=$(docker stack deploy --compose-file ${base_dir}/../docker_compose/test_docker_stack.yml zabbix) +echo ${stack_deploy_output} | grep 'this node is not a swarm manager' /dev/null +rc=$? + +if [[ ${rc} == 0 ]] ; then + docker swarm init + docker stack deploy --compose-file ${base_dir}/../docker_compose/test_docker_stack.yml zabbix +fi + +echo 'Use the following to obtain informaiton about the stack' +echo 'docker stack services zabbix' +echo 'docker stack rm zabbix' +echo 'docker network inspect zabbix_zabbix' +echo 'docker container ls | grep zabbix_' +echo 'docker logs ${container_name}' +echo 'bundle exec rspec spec/*' +echo 'open browser: http://localhost:8080' +echo ' Username: Admin' +echo ' Password: zabbix' diff --git a/test/docker_compose/test_docker_stack.yml b/test/docker_compose/test_docker_stack.yml new file mode 100644 index 0000000..cc32582 --- /dev/null +++ b/test/docker_compose/test_docker_stack.yml @@ -0,0 +1,50 @@ +# Postgres, Zabbix Server and Zabbix Frontend stack deployment for testing spec tests locally +# https://www.zabbix.com/container_images + +version: '3.8' + +services: + db: + image: postgres + restart: always + environment: + POSTGRES_PASSWORD: password + POSTGRES_USER: zabbix + POSTGRES_DB: zabbix + networks: + zabbix: + ports: + - "5432:5432" + server: + image: zabbix/zabbix-server-pgsql:alpine-4.0-latest + depends_on: + - db + environment: + DB_SERVER_HOST: db + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: password + networks: + zabbix: + ports: + - 10051:10051 + frontend: + image: zabbix/zabbix-web-apache-pgsql:alpine-4.0-latest + depends_on: + - db + - zabbix_server + environment: + DB_SERVER_HOST: db + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: password + ZBX_SERVER_HOST: server + PHP_TZ: "US/Eastern" + networks: + zabbix: + ports: + - "8080:8080" +networks: + zabbix: + ipam: + driver: default + config: + - subnet: "172.16.238.0/24"