Преглед изворни кода

Transitioning fig to docker-compose v3

Akshay Chhajed пре 8 година
родитељ
комит
38ec8ddefc
38 измењених фајлова са 203 додато и 197 уклоњено
  1. 11 0
      docker/blocks/collectd/docker-compose.yaml
  2. 0 11
      docker/blocks/collectd/fig
  3. 8 0
      docker/blocks/elastic/docker-compose.yaml
  4. 0 8
      docker/blocks/elastic/fig
  5. 8 0
      docker/blocks/elastic1/docker-compose.yaml
  6. 0 8
      docker/blocks/elastic1/fig
  7. 8 0
      docker/blocks/elastic5/docker-compose.yaml
  8. 0 8
      docker/blocks/elastic5/fig
  9. 16 0
      docker/blocks/graphite/docker-compose.yaml
  10. 0 16
      docker/blocks/graphite/fig
  11. 16 0
      docker/blocks/graphite1/docker-compose.yaml
  12. 0 16
      docker/blocks/graphite1/fig
  13. 17 0
      docker/blocks/influxdb/docker-compose.yaml
  14. 0 17
      docker/blocks/influxdb/fig
  15. 6 0
      docker/blocks/jaeger/docker-compose.yaml
  16. 0 6
      docker/blocks/jaeger/fig
  17. 5 0
      docker/blocks/memcached/docker-compose.yaml
  18. 0 5
      docker/blocks/memcached/fig
  19. 14 0
      docker/blocks/mysql/docker-compose.yaml
  20. 0 14
      docker/blocks/mysql/fig
  21. 9 0
      docker/blocks/mysql_opendata/docker-compose.yaml
  22. 0 9
      docker/blocks/mysql_opendata/fig
  23. 9 0
      docker/blocks/mysql_tests/docker-compose.yaml
  24. 0 9
      docker/blocks/mysql_tests/fig
  25. 10 0
      docker/blocks/openldap/docker-compose.yaml
  26. 0 10
      docker/blocks/openldap/fig
  27. 11 0
      docker/blocks/opentsdb/docker-compose.yaml
  28. 0 11
      docker/blocks/opentsdb/fig
  29. 9 0
      docker/blocks/postgres/docker-compose.yaml
  30. 0 9
      docker/blocks/postgres/fig
  31. 7 0
      docker/blocks/postgres_tests/docker-compose.yaml
  32. 0 7
      docker/blocks/postgres_tests/fig
  33. 25 0
      docker/blocks/prometheus/docker-compose.yaml
  34. 0 25
      docker/blocks/prometheus/fig
  35. 4 0
      docker/blocks/smtp/docker-compose.yaml
  36. 0 4
      docker/blocks/smtp/fig
  37. 2 0
      docker/compose_header.yml
  38. 8 4
      docker/create_docker_compose.sh

+ 11 - 0
docker/blocks/collectd/docker-compose.yaml

@@ -0,0 +1,11 @@
+  collectd:
+    build: blocks/collectd
+    environment:
+      HOST_NAME: myserver
+      GRAPHITE_HOST: graphite
+      GRAPHITE_PORT: 2003
+      GRAPHITE_PREFIX: collectd.
+      REPORT_BY_CPU: 'false'
+      COLLECT_INTERVAL: 10
+    links:
+      - graphite

+ 0 - 11
docker/blocks/collectd/fig

@@ -1,11 +0,0 @@
-collectd:
-  build: blocks/collectd
-  environment:
-    HOST_NAME: myserver
-    GRAPHITE_HOST: graphite
-    GRAPHITE_PORT: 2003
-    GRAPHITE_PREFIX: collectd.
-    REPORT_BY_CPU: 'false'
-    COLLECT_INTERVAL: 10
-  links:
-    - graphite

+ 8 - 0
docker/blocks/elastic/docker-compose.yaml

@@ -0,0 +1,8 @@
+  elasticsearch:
+    image: elasticsearch:2.4.1
+    command: elasticsearch -Des.network.host=0.0.0.0
+    ports:
+      - "9200:9200"
+      - "9300:9300"
+    volumes:
+      - ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

+ 0 - 8
docker/blocks/elastic/fig

@@ -1,8 +0,0 @@
-elasticsearch:
-  image: elasticsearch:2.4.1
-  command: elasticsearch -Des.network.host=0.0.0.0
-  ports:
-    - "9200:9200"
-    - "9300:9300"
-  volumes:
-    - ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

+ 8 - 0
docker/blocks/elastic1/docker-compose.yaml

@@ -0,0 +1,8 @@
+  elasticsearch1:
+    image: elasticsearch:1.7.6
+    command: elasticsearch -Des.network.host=0.0.0.0
+    ports:
+      - "11200:9200"
+      - "11300:9300"
+    volumes:
+      - ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

+ 0 - 8
docker/blocks/elastic1/fig

@@ -1,8 +0,0 @@
-elasticsearch1:
-  image: elasticsearch:1.7.6
-  command: elasticsearch -Des.network.host=0.0.0.0
-  ports:
-    - "11200:9200"
-    - "11300:9300"
-  volumes:
-    - ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

+ 8 - 0
docker/blocks/elastic5/docker-compose.yaml

@@ -0,0 +1,8 @@
+# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
+
+  elasticsearch5:
+    image: elasticsearch:5
+    command: elasticsearch
+    ports:
+      - "10200:9200"
+      - "10300:9300"

+ 0 - 8
docker/blocks/elastic5/fig

@@ -1,8 +0,0 @@
-# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
-
-elasticsearch5:
-  image: elasticsearch:5
-  command: elasticsearch
-  ports:
-    - "10200:9200"
-    - "10300:9300"

+ 16 - 0
docker/blocks/graphite/docker-compose.yaml

@@ -0,0 +1,16 @@
+  graphite:
+    build: blocks/graphite
+    ports:
+      - "8080:80"
+      - "2003:2003"
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /etc/timezone:/etc/timezone:ro
+
+  fake-graphite-data:
+    image: grafana/fake-data-gen
+    network_mode: bridge
+    environment:
+      FD_DATASOURCE: graphite
+      FD_PORT: 2003
+

+ 0 - 16
docker/blocks/graphite/fig

@@ -1,16 +0,0 @@
-graphite:
-  build: blocks/graphite
-  ports:
-    - "8080:80"
-    - "2003:2003"
-  volumes:
-    - /etc/localtime:/etc/localtime:ro
-    - /etc/timezone:/etc/timezone:ro
-
-fake-graphite-data:
-  image: grafana/fake-data-gen
-  net: bridge
-  environment:
-    FD_DATASOURCE: graphite
-    FD_PORT: 2003
-

+ 16 - 0
docker/blocks/graphite1/docker-compose.yaml

@@ -0,0 +1,16 @@
+  graphite:
+    build: blocks/graphite1
+    ports:
+      - "8080:80"
+      - "2003:2003"
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /etc/timezone:/etc/timezone:ro
+
+  fake-graphite-data:
+    image: grafana/fake-data-gen
+    network_mode: bridge
+    environment:
+      FD_DATASOURCE: graphite
+      FD_PORT: 2003
+

+ 0 - 16
docker/blocks/graphite1/fig

@@ -1,16 +0,0 @@
-graphite:
-  build: blocks/graphite1
-  ports:
-    - "8080:80"
-    - "2003:2003"
-  volumes:
-    - /etc/localtime:/etc/localtime:ro
-    - /etc/timezone:/etc/timezone:ro
-
-fake-graphite-data:
-  image: grafana/fake-data-gen
-  net: bridge
-  environment:
-    FD_DATASOURCE: graphite
-    FD_PORT: 2003
-

+ 17 - 0
docker/blocks/influxdb/docker-compose.yaml

@@ -0,0 +1,17 @@
+  influxdb:
+    image: influxdb:latest
+    container_name: influxdb
+    ports:
+      - "2004:2004"
+      - "8083:8083"
+      - "8086:8086"
+    volumes:
+      - ./blocks/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
+
+  fake-influxdb-data:
+    image: grafana/fake-data-gen
+    network_mode: bridge
+    environment:
+      FD_DATASOURCE: influxdb
+      FD_PORT: 8086
+

+ 0 - 17
docker/blocks/influxdb/fig

@@ -1,17 +0,0 @@
-influxdb:
-  image: influxdb:latest
-  container_name: influxdb
-  ports:
-    - "2004:2004"
-    - "8083:8083"
-    - "8086:8086"
-  volumes:
-    - ./blocks/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
-
-fake-influxdb-data:
-  image: grafana/fake-data-gen
-  net: bridge
-  environment:
-    FD_DATASOURCE: influxdb
-    FD_PORT: 8086
-

+ 6 - 0
docker/blocks/jaeger/docker-compose.yaml

@@ -0,0 +1,6 @@
+  jaeger:
+    image: jaegertracing/all-in-one:latest
+    ports:
+      - "127.0.0.1:6831:6831/udp"
+      - "16686:16686"
+

+ 0 - 6
docker/blocks/jaeger/fig

@@ -1,6 +0,0 @@
-jaeger:
-  image: jaegertracing/all-in-one:latest
-  ports:
-    - "localhost:6831:6831/udp"
-    - "16686:16686"
-  

+ 5 - 0
docker/blocks/memcached/docker-compose.yaml

@@ -0,0 +1,5 @@
+  memcached:
+    image: memcached:latest
+    ports:
+      - "11211:11211"
+

+ 0 - 5
docker/blocks/memcached/fig

@@ -1,5 +0,0 @@
-memcached:
-  image: memcached:latest
-  ports:
-    - "11211:11211"
-

+ 14 - 0
docker/blocks/mysql/docker-compose.yaml

@@ -0,0 +1,14 @@
+  mysql:
+    image: mysql:latest
+    environment:
+      MYSQL_ROOT_PASSWORD: rootpass
+      MYSQL_DATABASE: grafana
+      MYSQL_USER: grafana
+      MYSQL_PASSWORD: password
+    ports:
+      - "3306:3306"
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /etc/timezone:/etc/timezone:ro
+    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all]
+

+ 0 - 14
docker/blocks/mysql/fig

@@ -1,14 +0,0 @@
-mysql:
-  image: mysql:latest
-  environment:
-    MYSQL_ROOT_PASSWORD: rootpass
-    MYSQL_DATABASE: grafana
-    MYSQL_USER: grafana
-    MYSQL_PASSWORD: password
-  ports:
-    - "3306:3306"
-  volumes:
-    - /etc/localtime:/etc/localtime:ro
-    - /etc/timezone:/etc/timezone:ro
-  command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all]
-

+ 9 - 0
docker/blocks/mysql_opendata/docker-compose.yaml

@@ -0,0 +1,9 @@
+  mysql_opendata:
+    build: blocks/mysql_opendata
+    environment:
+      MYSQL_ROOT_PASSWORD: rootpass
+      MYSQL_DATABASE: testdata
+      MYSQL_USER: grafana
+      MYSQL_PASSWORD: password
+    ports:
+      - "3307:3306"

+ 0 - 9
docker/blocks/mysql_opendata/fig

@@ -1,9 +0,0 @@
-mysql_opendata:
-  build: blocks/mysql_opendata
-  environment:
-    MYSQL_ROOT_PASSWORD: rootpass
-    MYSQL_DATABASE: testdata
-    MYSQL_USER: grafana
-    MYSQL_PASSWORD: password
-  ports:
-    - "3307:3306"

+ 9 - 0
docker/blocks/mysql_tests/docker-compose.yaml

@@ -0,0 +1,9 @@
+  mysqltests:
+    image: mysql:latest
+    environment:
+      MYSQL_ROOT_PASSWORD: rootpass
+      MYSQL_DATABASE: grafana_tests
+      MYSQL_USER: grafana
+      MYSQL_PASSWORD: password
+    ports:
+      - "3306:3306"

+ 0 - 9
docker/blocks/mysql_tests/fig

@@ -1,9 +0,0 @@
-mysqltests:
-  image: mysql:latest
-  environment:
-    MYSQL_ROOT_PASSWORD: rootpass
-    MYSQL_DATABASE: grafana_tests
-    MYSQL_USER: grafana
-    MYSQL_PASSWORD: password
-  ports:
-    - "3306:3306"

+ 10 - 0
docker/blocks/openldap/docker-compose.yaml

@@ -0,0 +1,10 @@
+  openldap:
+    build: blocks/openldap
+    environment:
+      SLAPD_PASSWORD: grafana
+      SLAPD_DOMAIN: grafana.org
+      SLAPD_ADDITIONAL_MODULES: memberof
+    ports:
+      - "389:389"
+
+

+ 0 - 10
docker/blocks/openldap/fig

@@ -1,10 +0,0 @@
-openldap:
-  build: blocks/openldap
-  environment:
-    SLAPD_PASSWORD: grafana
-    SLAPD_DOMAIN: grafana.org
-    SLAPD_ADDITIONAL_MODULES: memberof
-  ports:
-    - "389:389"
-
-

+ 11 - 0
docker/blocks/opentsdb/docker-compose.yaml

@@ -0,0 +1,11 @@
+  opentsdb:
+    image: opower/opentsdb:latest
+    ports:
+      - "4242:4242"
+
+  fake-opentsdb-data:
+    image: grafana/fake-data-gen
+    network_mode: bridge
+    environment:
+      FD_DATASOURCE: opentsdb
+

+ 0 - 11
docker/blocks/opentsdb/fig

@@ -1,11 +0,0 @@
-opentsdb:
-  image: opower/opentsdb:latest
-  ports:
-    - "4242:4242"
-
-fake-opentsdb-data:
-  image: grafana/fake-data-gen
-  net: bridge
-  environment:
-    FD_DATASOURCE: opentsdb
-

+ 9 - 0
docker/blocks/postgres/docker-compose.yaml

@@ -0,0 +1,9 @@
+  postgrestest:
+    image: postgres:latest
+    environment:
+      POSTGRES_USER: grafana
+      POSTGRES_PASSWORD: password
+      POSTGRES_DATABASE: grafana
+    ports:
+      - "5432:5432"
+    command: postgres -c log_connections=on -c logging_collector=on -c log_destination=stderr -c log_directory=/var/log/postgresql

+ 0 - 9
docker/blocks/postgres/fig

@@ -1,9 +0,0 @@
-postgrestest:
-  image: postgres:latest
-  environment:
-    POSTGRES_USER: grafana
-    POSTGRES_PASSWORD: password
-    POSTGRES_DATABASE: grafana
-  ports:
-    - "5432:5432"
-  command: postgres -c log_connections=on -c logging_collector=on -c log_destination=stderr -c log_directory=/var/log/postgresql

+ 7 - 0
docker/blocks/postgres_tests/docker-compose.yaml

@@ -0,0 +1,7 @@
+  postgrestest:
+    image: postgres:latest
+    environment:
+      POSTGRES_USER: grafanatest
+      POSTGRES_PASSWORD: grafanatest
+    ports:
+      - "5432:5432"

+ 0 - 7
docker/blocks/postgres_tests/fig

@@ -1,7 +0,0 @@
-postgrestest:
-  image: postgres:latest
-  environment:
-    POSTGRES_USER: grafanatest
-    POSTGRES_PASSWORD: grafanatest
-  ports:
-    - "5432:5432"

+ 25 - 0
docker/blocks/prometheus/docker-compose.yaml

@@ -0,0 +1,25 @@
+  prometheus:
+    build: blocks/prometheus
+    network_mode: host
+    ports:
+      - "9090:9090"
+
+  node_exporter:
+    image: prom/node-exporter
+    network_mode: host
+    ports:
+      - "9100:9100"
+
+  fake-prometheus-data:
+    image: grafana/fake-data-gen
+    network_mode: host
+    ports:
+      - "9091:9091"
+    environment:
+      FD_DATASOURCE: prom
+
+  alertmanager:
+    image: quay.io/prometheus/alertmanager
+    network_mode: host
+    ports:
+      - "9093:9093"

+ 0 - 25
docker/blocks/prometheus/fig

@@ -1,25 +0,0 @@
-prometheus:
-  build: blocks/prometheus
-  net: host
-  ports:
-    - "9090:9090"
-
-node_exporter:
-  image: prom/node-exporter
-  net: host
-  ports:
-    - "9100:9100"
-
-fake-prometheus-data:
-  image: grafana/fake-data-gen
-  net: host
-  ports:
-    - "9091:9091"
-  environment:
-    FD_DATASOURCE: prom
-
-alertmanager:
-  image: quay.io/prometheus/alertmanager
-  net: host
-  ports:
-    - "9093:9093"

+ 4 - 0
docker/blocks/smtp/docker-compose.yaml

@@ -0,0 +1,4 @@
+  snmpd:
+    image: namshi/smtp
+    ports:
+      - "25:25"

+ 0 - 4
docker/blocks/smtp/fig

@@ -1,4 +0,0 @@
-snmpd:
-  image: namshi/smtp
-  ports:
-    - "25:25"

+ 2 - 0
docker/compose_header.yml

@@ -0,0 +1,2 @@
+version: "3"
+services:

+ 8 - 4
docker/create_docker_compose.sh

@@ -7,8 +7,9 @@ template_dir=templates
 grafana_config_file=conf.tmp
 grafana_config=config
 
-fig_file=docker-compose.yml
-fig_config=fig
+compose_header_file=compose_header.yml
+fig_file=docker-compose.yaml
+fig_config=docker-compose.yaml
 
 if [ "$#" == 0 ]; then
     blocks=`ls $blocks_dir`
@@ -23,13 +24,16 @@ if [ "$#" == 0 ]; then
     exit 0
 fi
 
-for file in $gogs_config_file $fig_file; do
+for file in $grafana_config_file $fig_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
+
 for dir in $@; do
     current_dir=$blocks_dir/$dir
     if [ ! -d "$current_dir" ]; then
@@ -45,7 +49,7 @@ for dir in $@; do
 
     if [ -e $current_dir/$fig_config ]; then
         echo "Adding $current_dir/$fig_config to $fig_file"
-        cat $current_dir/fig >> $fig_file
+        cat $current_dir/$fig_config >> $fig_file
         echo "" >> $fig_file
     fi
 done