diff --git a/.gitignore b/.gitignore index 2df94cb35c9..dca9e2b2279 100644 --- a/.gitignore +++ b/.gitignore @@ -39,10 +39,11 @@ public/css/*.min.css /data/* /bin/* +# devenv +/devenv/docker-compose.yaml +/devenv/.env + conf/custom.ini -fig.yml -devenv/docker-compose.yml -devenv/docker-compose.yaml /conf/provisioning/**/custom.yaml /conf/provisioning/**/dev.yaml /conf/ldap_dev.toml diff --git a/Makefile b/Makefile index 0557dbd378f..4c161b37194 100644 --- a/Makefile +++ b/Makefile @@ -125,7 +125,7 @@ devenv: devenv-down @cd devenv; \ ./create_docker_compose.sh $(targets) || \ - (rm -rf docker-compose.yaml; exit 1) + (rm -rf {docker-compose.yaml,conf.tmp,.env}; exit 1) @cd devenv; \ docker-compose up -d --build diff --git a/devenv/README.md b/devenv/README.md index eecfb6b7710..48ec3a0d651 100644 --- a/devenv/README.md +++ b/devenv/README.md @@ -22,8 +22,7 @@ found. The dashboards are located in the `devenv/dev-dashboards` folder. # docker-compose with databases ```bash -./create_docker_compose.sh influxdb prometheus2 elastic5 -docker-compose up +make devenv sources=influxdb,prometheus2,elastic5 ``` This command will create a docker compose file with specified databases configured and ready to run. Each database has @@ -31,3 +30,8 @@ a prepared image with some fake data ready to use. For available databases see ` for some databases there are multiple images, for example there is prometheus_mac specifically for Macs or different version. +Some of the blocks support dynamic change of the image version used in docker file. The signature looks like this - `make devenv sources=postgres,openldap name-of-block_version=9.2` - + +```bash +make devenv sources=postgres,openldap postgres_version=9.2 +``` \ No newline at end of file diff --git a/devenv/create_docker_compose.sh b/devenv/create_docker_compose.sh index 5da9e8f5c8f..9fef9636017 100755 --- a/devenv/create_docker_compose.sh +++ b/devenv/create_docker_compose.sh @@ -8,8 +8,8 @@ grafana_config_file=conf.tmp grafana_config=config compose_header_file=docker/compose_header.yml -fig_file=docker-compose.yaml -fig_config=docker-compose.yaml +compose_file=docker-compose.yaml +env_file=.env if [ "$#" == 0 ]; then blocks=`ls $blocks_dir` @@ -24,15 +24,15 @@ if [ "$#" == 0 ]; then exit 0 fi -for file in $grafana_config_file $fig_file; do +for file in $grafana_config_file $compose_file $env_file; do if [ -e $file ]; then echo "Deleting $file" rm $file fi done -echo "Adding Compose header to $fig_file" -cat $compose_header_file >> $fig_file +echo "Adding Compose header to $compose_file" +cat $compose_header_file >> $compose_file for dir in $@; do current_dir=$blocks_dir/$dir @@ -47,10 +47,16 @@ for dir in $@; do echo "" >> $grafana_config_file fi - if [ -e $current_dir/$fig_config ]; then - echo "Adding $current_dir/$fig_config to $fig_file" - cat $current_dir/$fig_config >> $fig_file - echo "" >> $fig_file + if [ -e $current_dir/$compose_file ]; then + echo "Adding $current_dir/$compose_file to $compose_file" + cat $current_dir/$compose_file >> $compose_file + echo "" >> $compose_file + fi + + if [ -e $current_dir/$env_file ]; then + echo "Adding $current_dir/$env_file to .env" + cat $current_dir/$env_file >> .env + echo "" >> .env fi done diff --git a/devenv/docker/blocks/mysql/.env b/devenv/docker/blocks/mysql/.env new file mode 100644 index 00000000000..29440f18d52 --- /dev/null +++ b/devenv/docker/blocks/mysql/.env @@ -0,0 +1 @@ +mysql_version=5.6 diff --git a/devenv/docker/blocks/mysql/docker-compose.yaml b/devenv/docker/blocks/mysql/docker-compose.yaml index 381b04a53c8..d85f3db53ac 100644 --- a/devenv/docker/blocks/mysql/docker-compose.yaml +++ b/devenv/docker/blocks/mysql/docker-compose.yaml @@ -1,5 +1,5 @@ mysql: - image: mysql:5.6 + image: mysql:${mysql_version} environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: grafana diff --git a/devenv/docker/blocks/postgres/.env b/devenv/docker/blocks/postgres/.env new file mode 100644 index 00000000000..2494e5f2ee9 --- /dev/null +++ b/devenv/docker/blocks/postgres/.env @@ -0,0 +1 @@ +postgres_version=9.3 diff --git a/devenv/docker/blocks/postgres/docker-compose.yaml b/devenv/docker/blocks/postgres/docker-compose.yaml index 27736042f7b..3628c4d6771 100644 --- a/devenv/docker/blocks/postgres/docker-compose.yaml +++ b/devenv/docker/blocks/postgres/docker-compose.yaml @@ -1,5 +1,5 @@ postgrestest: - image: postgres:9.3 + image: postgres:${postgres_version} environment: POSTGRES_USER: grafana POSTGRES_PASSWORD: password