Pārlūkot izejas kodu

Merge branch 'master' of https://bitbucket.org/ikflowdat/installer

Conflicts:
	docker-compose.yml
Maxi Schvindt 7 gadi atpakaļ
vecāks
revīzija
cff0489d4d
4 mainītis faili ar 65 papildinājumiem un 125 dzēšanām
  1. 32 29
      docker-compose.yml
  2. 0 39
      statsd/command/mongodelete.js
  3. 0 46
      statsd/command/mysqldelete.js
  4. 33 11
      tools/src/Release.php

+ 32 - 29
docker-compose.yml

@@ -14,7 +14,7 @@ services:
     environment:
       VIRTUAL_HOST: base.fd3.flowdat.com
       HTTPS_METHOD: nohttps
-    volumes: 
+    volumes:
       - ./base/:/opt/base/
 
   ftth:
@@ -38,7 +38,7 @@ services:
       #LETSENCRYPT_HOST: ftth.fd3.flowdat.com
       #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
       AMQP_KEY: ftth
-    volumes: 
+    volumes:
       - ./ftth/:/opt/ftth/
 
   radius:
@@ -66,7 +66,7 @@ services:
       #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
     volumes:
       - ./radius/:/opt/radius/
-      
+
   mapas:
     restart: always
     image: fd3-mapas
@@ -85,7 +85,7 @@ services:
       OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
       OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
 
-    volumes: 
+    volumes:
       - ./mapas/:/opt/mapas/
 
   stats:
@@ -110,10 +110,10 @@ services:
       OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
       OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
       AMQP_KEY: stats
-    volumes: 
+    volumes:
       - ./stats/:/opt/stats/
       - ./geoserver/geoserver-shapes:/var/www/shapes
-      
+
   cablemodem:
     restart: always
     image: fd3-cablemodem
@@ -136,15 +136,15 @@ services:
       OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
       HTTPS_METHOD: nohttps
     volumes:
-      - ./cablemodem/:/opt/cablemodem/    
- 
+      - ./cablemodem/:/opt/cablemodem/
+
   mysql:
     restart: always
     environment:
         MYSQL_ROOT_PASSWORD: 235r2342gtfsw
         MYSQL_USER: iksop
         MYSQL_PASSWORD: 235r2342gtfsw
-    volumes: 
+    volumes:
       - ./mysql/:/var/lib/mysql/
     image: mysql:5.7
 
@@ -154,7 +154,7 @@ services:
     restart: always
     ports:
       - "8072:15672"
-  
+
   ftth_worker:
     restart: always
     image: fd3-ftth
@@ -174,14 +174,14 @@ services:
       OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
       AMQP_KEY: ftth
 
-    volumes: 
+    volumes:
       - ./ftth/:/opt/ftth/
-      
+
   command_consumer_worker:
     restart: always
     image: fd3-ftth
     build:
-      context: ./ftth    
+      context: ./ftth
     command: bin/console rabbitmq:consumer command_consumer
     restart: always
     links:
@@ -193,12 +193,12 @@ services:
       HOST_FTTH: ftth.fd3.flowdat.com
       HOST_BASE: base.fd3.flowdat.com
       OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
-      OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g  
+      OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
       AMQP_KEY: ftth
 
-    volumes: 
+    volumes:
       - ./ftth/:/opt/ftth/
-      
+
   stats_command_worker:
     restart: always
     image: docker.infra.flowdat.com/fd3/stats:latest
@@ -218,7 +218,7 @@ services:
       AMQP_KEY: stats
     volumes:
       - ./stats:/opt/stats
-      
+
   log_consumer_worker:
     restart: always
     image: docker.infra.flowdat.com/fd3/base:latest
@@ -229,12 +229,12 @@ services:
       - amqp:amqp
       - nginx-proxy:base.fd3.flowdat.com
     env_file:
-      - host.env      
+      - host.env
     environment:
       OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
-      OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g  
+      OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
       AMQP_KEY: base
- 
+
   phpmyadmin:
     restart: always
     image: phpmyadmin/phpmyadmin
@@ -285,7 +285,7 @@ services:
       - ./extra/statsd/endpoint/json:/opt/datasource
     environment:
       TIMEOUT: 60000
-      
+
   mysql_jsonendpoint:
     restart: always
     image: fd3_simple_json_endpoint_mysql
@@ -322,8 +322,8 @@ services:
       - mongodb:mongo
 
   mongodb:
-    volumes: 
-      - ./mongodb:/data/db 
+    volumes:
+      - ./mongodb:/data/db
     image: mongo:3.4
 
   statsd:
@@ -339,7 +339,7 @@ services:
     volumes:
       - ./statsd/statsd/:/opt/config
       - ./statsd/backend/mongodb/mongodb.js:/opt/statsd/backends/mongodb.js
- 
+
   supervisord:
     restart: always
     image: fd3-supervisord
@@ -348,7 +348,10 @@ services:
     ports:
       - "9001:9001"
     privileged: true
-    volumes: 
+    links:
+      - mongodb:mongodb
+      - mysql:mysql
+    volumes:
       - ./supervisord/:/etc/supervisord/
       - ./supervisord/var/:/var/log/supervisor/
       - ./supervisord/sshd_config:/etc/ssh/sshd_config
@@ -356,7 +359,7 @@ services:
       - ./supervisord/bin/fiberlink:/usr/bin/fiberlink
     environment:
       TERM: "xterm"
-  
+
   geoserver:
     build:
       context: ./extra/geoserver/
@@ -369,7 +372,7 @@ services:
     ports:
       - 8082:8080
     restart: unless-stopped
- 
+
   nginx-proxy:
         build:
             context: ./extra/nginx/
@@ -385,7 +388,7 @@ services:
             - './extra/nginx/certs:/etc/nginx/certs:ro'
             - './extra/nginx/vhost.d:/etc/nginx/vhost.d'
             - './extra/nginx/share:/usr/share/nginx/html'
-  
+
   redis:
     image: redis:latest
     restart: always
@@ -399,4 +402,4 @@ services:
 #      - /var/run/docker.sock:/var/run/docker.sock:ro
 #      - ./nginx/certs:/etc/nginx/certs
 #      - ./nginx/vhost.d:/etc/nginx/vhost.d
-# 
+#

+ 0 - 39
statsd/command/mongodelete.js

@@ -1,39 +0,0 @@
-#!/usr/bin/env node
-
-var cli = require('cli'), 
-    options = cli.parse({
-        leave: ['l', 'Period of time', 'string', '1d'],
-        name: ['n', 'MongoDb database name', 'string', 'statsd'],
-        host: ['h', 'MongoDb host', 'string', 'mongodb'],
-	port: ['p', 'MongoDb port', 'string', '27017']
-    })
-;
-
-var mongo = require('mongodb');
-
-var moment = require('moment');
-var n = parseInt(options.leave, 10);
-var from = moment().subtract(n, options.leave.replace(n, '')).format('X');
-var to = moment().format('X');
-
-mongo.connect("mongodb://" + options.host + ":" + options.port + "/" + options.name, function (err, db) {
-    if (err) {
-        db.close();
-        console.log(err);
-        throw err;
-    }
-    db.listCollections().toArray(function(err, collInfos) {
-        if (err) {
-            db.close();
-            console.log(err);
-            throw err;
-        }
-        for (var i = 0; i < collInfos.length; i++) {
-            console.log('db.collection('+collInfos[i].name+').remove({ time: { $lte: '+from+', $gte: '+to+' } })');
-            db.collection(""+collInfos[i].name).remove({ time: { $lte: from, $gte: to } });
-        }
-        db.close();
-    });
-});
-
-console.log('OK');

+ 0 - 46
statsd/command/mysqldelete.js

@@ -1,46 +0,0 @@
-#!/usr/bin/env node
-
-var cli = require('cli'), 
-    options = cli.parse({
-        leave: ['l', 'Period of time', 'string', '1d'],
-        host: ['h', 'MySQL host', 'string', 'mysql'],
-        port: ['p', 'MySQL port', 'string', '3306'],
-	user: ['u', 'MySQL user', 'string', 'root'],
-	password: ['pw', 'MySQL password', 'string', '235r2342gtfsw'],
-	database: ['d', 'MySQL database', 'string', 'statsd_db']
-    })
-;
-
-var mysql = require('mysql');
-var connection = mysql.createConnection({
-    host: options.host,
-    port: options.port,
-    user: options.user,
-    password: options.password,
-    database: options.database,
-    multipleStatements: true
-});
-
-var moment = require('moment');
-var n = parseInt(options.leave, 10);
-var from = moment().subtract(n, options.leave.replace(n, '')).format('X');
-var to = moment().format('X');
-
-var mysql_tables = ['gauges_statistics', 'counters_statistics', 'timers_statistics', 'sets_statistics'];
-for (var i = 0; i < mysql_tables.length; i++) {
-    console.log('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';');
-    
-    connection.query('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';', function (err, rows, fields) {
-        if (err) {
-            connection.end();
-            console.log(err);
-            throw err;
-        }
-        for (var i = 0; i <= rows.length - 1; i++) {
-            console.log(rows[i]);
-        }
-    });
-}
-connection.end();
-
-console.log('OK');

+ 33 - 11
tools/src/Release.php

@@ -169,7 +169,7 @@ inventory=inventory.ini
 
     }
 
-    function addBase($composer, $config = array(), $flavor = "dev"){ 
+    function addBase($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -190,7 +190,7 @@ inventory=inventory.ini
 	;
     }
 
-    function addFtth($composer, $config = array(), $flavor = "dev"){ 
+    function addFtth($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -221,7 +221,7 @@ inventory=inventory.ini
 
     }
 
-    function addCablemodem($composer, $config = array(), $flavor = "dev"){ 
+    function addCablemodem($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -251,7 +251,7 @@ inventory=inventory.ini
 	;
     }
 
-    function addRadius($composer, $config = array(), $flavor = "dev"){ 
+    function addRadius($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -282,7 +282,7 @@ inventory=inventory.ini
 
     }
 
-    function addStats($composer, $config = array(), $flavor = "dev"){ 
+    function addStats($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -315,7 +315,7 @@ inventory=inventory.ini
 
     }
 
-    function addMapas($composer, $config = array(), $flavor = "dev"){ 
+    function addMapas($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	extract($config);
@@ -340,13 +340,13 @@ inventory=inventory.ini
 	;
     }
 
-    function addNginx($composer, $config = array(), $flavor = "dev"){ 
+    function addNginx($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
 	$fd_domain = "fd3.flowdat.com";
 	$host_env_file = "host.env";
 	extract($config);
 
-	$composer->addService("nginx")->build("extra/nginx/")	
+	$composer->addService("nginx")->build("extra/nginx/")
 		->image($registry."fd3/nginx:".$version)
 		->addEnv_file($host_env_file)
 		->restart("always")
@@ -386,10 +386,32 @@ inventory=inventory.ini
 		->addVolumes("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
 		->addVolumes("./extra/supervisord/bin/fiberhome", "/usr/bin/fiberhome")
 		->addVolumes("./extra/supervisord/bin/fiberlink", "/usr/bin/fiberlink")
-	 
+
 	;
     }
 
+    /**
+    * @param \Docker\Composer\FileFormat2 $composer
+    * @param array $config
+    * @param string $flavor
+    */
+    public function addSupervisord($composer, $config = array(), $flavor = "dev")
+    {
+        $version = "latest";
+        extract($config);
+
+        $composer->addService("supervisord")->build("./extra/supervisord")
+            ->image($registry."fd3/supervisord:$version")
+            ->privileged(true)
+            ->restart("always")
+            ->addLinks("mongodb")
+            ->addLinks("mysql")
+            ->addVolumes("./extra/supervisord/", "/etc/supervisord/")
+            ->addVolumes("./extra/supervisord/var/", "/var/log/supervisor/")
+            ->addVolumes("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
+            ->addVolumes("./extra/supervisord/bin/fiberhome", "/usr/bin/fiberhome")
+            ->addVolumes("./extra/supervisord/bin/fiberlink", "/usr/bin/fiberlink");
+    }
 
     function addMySql($composer, $config = array(), $flavor = "dev"){
 	$version = "latest";
@@ -613,7 +635,7 @@ $oauth_client_secret = "5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k";
 	/* Apps / Web UI */
 	/**************************************************************************************/
 
-	$this->addBase($composer, $base_vars); 
+	$this->addBase($composer, $base_vars);
 	$this->addFtth($composer, $base_vars);
 	$this->addStats($composer, $base_vars);
 	$this->addCablemodem($composer, $base_vars);
@@ -677,7 +699,7 @@ $oauth_client_secret = "5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k";
 	//	->addEnviroment("HTTPS_METHOD", 	"nohttps")
 	//;
 
-	
+
 	return $composer->render();
     }
 }