diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c7339cdb3a9..df081020c75 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -310,6 +310,7 @@ /devenv/docker/blocks/webdav/ @grafana/alerting-backend /devenv/docker/buildcontainer/ @bergquist /devenv/docker/compose_header.yml @grafana/grafana-backend-services-squad +/devenv/docker/compose_volume_section.yml @grafana/grafana-backend-services-squad /devenv/docker/debtest/ @bergquist /devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend /devenv/docker/ha_test/ @grafana/grafana-backend-services-squad diff --git a/devenv/create_docker_compose.sh b/devenv/create_docker_compose.sh index d937f95cec4..baa50818f11 100755 --- a/devenv/create_docker_compose.sh +++ b/devenv/create_docker_compose.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +shopt -s nullglob # Enable nullglob + blocks_dir=docker/blocks docker_dir=docker template_dir=templates @@ -8,6 +10,8 @@ grafana_config_file=conf.tmp grafana_config=config compose_header_file=docker/compose_header.yml +compose_volume_section_file=docker/compose_volume_section.yml +compose_volume_section_create_flag=docker_volume_create_true compose_file=docker-compose.yaml env_file=.env @@ -60,3 +64,27 @@ for dir in $@; do fi done +volume_files=$($blocks_dir/**/$compose_volume_section_create_flag) + +if [[ ${#volume_files[@]} -ne 0 ]]; then + echo "Adding volume section to $compose_file" + cat $compose_volume_section_file >> $compose_file + echo "" >> $compose_file + + for dir in $@; do + current_dir=$blocks_dir/$dir + if [ ! -d "$current_dir" ]; then + echo "$current_dir is not a directory" + exit 1 + fi + + + if [ -f $current_dir/$compose_volume_section_create_flag ]; then + echo "Adding volume for $current_dir to $compose_file" + echo " $dir-data-volume:" >> $compose_file + echo "" >> $compose_file + fi + done + + cat $compose_file +fi diff --git a/devenv/docker/compose_volume_section.yml b/devenv/docker/compose_volume_section.yml new file mode 100644 index 00000000000..f61bd276b2c --- /dev/null +++ b/devenv/docker/compose_volume_section.yml @@ -0,0 +1 @@ +volumes: \ No newline at end of file