|
@@ -21,6 +21,10 @@ class Release extends Command
|
|
|
* @var string Nombre del archivo de log.
|
|
|
*/
|
|
|
private $_running_log;
|
|
|
+ /**
|
|
|
+ * @var string Contiene la politica de restart de los dockers.
|
|
|
+ */
|
|
|
+ private $_docker_restart_default;
|
|
|
/**
|
|
|
* @var array Contiene las variables que se utilizar en la ejecucion del ansible.
|
|
|
*/
|
|
@@ -73,6 +77,7 @@ class Release extends Command
|
|
|
$this->_mysql_pass = "235r2342gtfsw";
|
|
|
$this->_mysql_root_pass = "235r2342gtfsw";
|
|
|
$this->_domain_behind = "flowdat.com";
|
|
|
+ $this->_docker_restart_default = "on-failure:10";
|
|
|
$this->_modules = array();
|
|
|
$this->_ansible_vars = array();
|
|
|
$this->_modules_all = array(
|
|
@@ -130,6 +135,15 @@ class Release extends Command
|
|
|
'OAUTH' => true,
|
|
|
'MODULE_INSTALL' => true
|
|
|
),
|
|
|
+ "dhcp" => array(
|
|
|
+ 'HOST_ENV' => true,
|
|
|
+ "VAR_ENV" => array(
|
|
|
+ 'VIRTUAL_HOST' => '',
|
|
|
+ 'HTTPS_METHOD' => 'nohttps',
|
|
|
+ ),
|
|
|
+ 'OAUTH' => true,
|
|
|
+ 'MODULE_INSTALL' => true
|
|
|
+ ),
|
|
|
"grafana" => array(
|
|
|
'HOST_ENV' => true,
|
|
|
"VAR_ENV" => array(
|
|
@@ -303,7 +317,7 @@ class Release extends Command
|
|
|
$composer
|
|
|
->addService($module)
|
|
|
->image($registry . "fd3/$module:" . $version)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql:mysql")
|
|
|
->addLinks("amqp")
|
|
|
->addEnv_file($host_env_file)
|
|
@@ -326,7 +340,7 @@ class Release extends Command
|
|
|
$composer
|
|
|
->addService($module)
|
|
|
->image($registry . "fd3/$module:" . $version)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql:mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -352,7 +366,7 @@ class Release extends Command
|
|
|
$composer
|
|
|
->addService($module)
|
|
|
->image($registry . "fd3/$module:" . $version)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql:mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -380,7 +394,7 @@ class Release extends Command
|
|
|
$composer
|
|
|
->addService($module)
|
|
|
->image($registry . "fd3/$module:" . $version)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql:mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -407,7 +421,7 @@ class Release extends Command
|
|
|
$composer
|
|
|
->addService($module)
|
|
|
->image($registry . "fd3/$module:" . $version)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql:mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -423,6 +437,58 @@ class Release extends Command
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ function addRadius(FileFormat2 $composer, $config = array())
|
|
|
+ {
|
|
|
+ $module = "radius";
|
|
|
+ $version = "latest";
|
|
|
+ $registry = "";
|
|
|
+ $host_env_file = "";
|
|
|
+ extract($config);
|
|
|
+ if (array_key_exists($module, $this->_modules)) {
|
|
|
+ $composer
|
|
|
+ ->addService($module)
|
|
|
+ ->image($registry . "fd3/$module:" . $version)
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
+ ->addLinks("mysql:mysql")
|
|
|
+ ->addLinks("base")
|
|
|
+ ->addLinks("amqp")
|
|
|
+ ->addLinks("base", $this->getDomain("base"))
|
|
|
+ ->addEnv_file($host_env_file)
|
|
|
+ ->addEnv_file($module . "." . $host_env_file)
|
|
|
+ ->addEnv_file("$module.oauth.env")
|
|
|
+ ->addVolumes("./$module/", "/opt/$module");
|
|
|
+ $this->addBuild($module, $composer);
|
|
|
+
|
|
|
+ $this->writeVariablesEnviroment($module . "." . $host_env_file, $module);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function addDHCP(FileFormat2 $composer, $config = array())
|
|
|
+ {
|
|
|
+ $module = "dhcp";
|
|
|
+ $version = "latest";
|
|
|
+ $registry = "";
|
|
|
+ $host_env_file = "";
|
|
|
+ extract($config);
|
|
|
+ if (array_key_exists($module, $this->_modules)) {
|
|
|
+ $composer
|
|
|
+ ->addService($module)
|
|
|
+ ->image($registry . "fd3/$module:" . $version)
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
+ ->addLinks("mysql:mysql")
|
|
|
+ ->addLinks("base")
|
|
|
+ ->addLinks("amqp")
|
|
|
+ ->addLinks("base", $this->getDomain("base"))
|
|
|
+ ->addEnv_file($host_env_file)
|
|
|
+ ->addEnv_file($module . "." . $host_env_file)
|
|
|
+ ->addEnv_file("$module.oauth.env")
|
|
|
+ ->addVolumes("./$module/", "/opt/$module");
|
|
|
+ $this->addBuild($module, $composer);
|
|
|
+
|
|
|
+ $this->writeVariablesEnviroment($module . "." . $host_env_file, $module);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function addNginx(FileFormat2 $composer, $config = array())
|
|
|
{
|
|
|
$version = "latest";
|
|
@@ -435,7 +501,7 @@ class Release extends Command
|
|
|
->build("extra/nginx/")
|
|
|
->image($registry . "fd3/nginx:" . $version)
|
|
|
->addEnv_file($host_env_file)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addPorts(80, 80)
|
|
|
->addPorts(443, 443)
|
|
|
->addVolumes("/var/run/docker.sock", "/tmp/docker.sock:ro")
|
|
@@ -466,7 +532,7 @@ class Release extends Command
|
|
|
->build("./extra/supervisord")
|
|
|
->image($registry . "fd3/supervisord:$version")
|
|
|
->privileged(true)
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addVolumes("./extra/supervisord/", "/etc/supervisord/")
|
|
|
->addVolumes("./extra/supervisord/var/", "/var/log/supervisor/")
|
|
|
->addVolumes("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
|
|
@@ -502,7 +568,7 @@ class Release extends Command
|
|
|
->image("redis:latest")
|
|
|
->command("redis-server --appendonly yes")
|
|
|
//->addPorts("6379", "6379")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
}
|
|
|
|
|
|
function addGenieACS(FileFormat2 $composer, $config = array(), $flavor = "dev")
|
|
@@ -513,7 +579,7 @@ class Release extends Command
|
|
|
->addLinks("mongodb")
|
|
|
->addLinks("redis")
|
|
|
->addPorts("7547", "7547")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$composer
|
|
|
->addService("genieacs-nbi")
|
|
@@ -521,7 +587,7 @@ class Release extends Command
|
|
|
->addLinks("mongodb")
|
|
|
->addLinks("redis")
|
|
|
->addPorts("7557", "7557")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$composer
|
|
|
->addService("genieacs-fs")
|
|
@@ -529,14 +595,14 @@ class Release extends Command
|
|
|
->addLinks("mongodb")
|
|
|
->addLinks("redis")
|
|
|
->addPorts("7567", "7567")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$composer
|
|
|
->addService("genieacs-gui")
|
|
|
->build("extra/genieacs/genieacs-gui")
|
|
|
->addLinks("genieacs-nbi")
|
|
|
->addPorts("3001", "3000")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
}
|
|
|
|
|
|
function addFreeradius(FileFormat2 $composer, $config = array(), $flavor = "dev")
|
|
@@ -568,7 +634,7 @@ class Release extends Command
|
|
|
extract($config);
|
|
|
if (array_key_exists($module, $this->_modules)) {
|
|
|
$composer->addService("phpmyadmin")->image("phpmyadmin/phpmyadmin")
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addPorts(8080, 80)
|
|
|
->addLinks("mysql", "db")
|
|
|
->addEnv_file("mysql." . $host_env_file)
|
|
@@ -588,8 +654,8 @@ class Release extends Command
|
|
|
->addService($module)
|
|
|
->image("grafana/grafana")
|
|
|
->addLinks("mysql")
|
|
|
- ->restart("always")
|
|
|
- ->addEnv_file("mysql.".$host_env_file)
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
+ ->addEnv_file("mysql." . $host_env_file)
|
|
|
->addVolumes("./statsd/grafana/lib", "/var/lib/grafana");
|
|
|
|
|
|
$this->writeVariablesEnviroment($module . "." . $host_env_file, $module,
|
|
@@ -621,7 +687,7 @@ class Release extends Command
|
|
|
->addPorts("8125", "8125/udp")
|
|
|
->addLinks("mysql")
|
|
|
->addLinks("mongodb")
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addVolumes("./extra/statsd/statsd/statsd.config.js", "/opt/config/statsd.config.js");
|
|
|
|
|
|
$composer
|
|
@@ -631,7 +697,7 @@ class Release extends Command
|
|
|
->addVolumes("./extra/statsd/endpoint/json", "/opt/datasource")
|
|
|
->addLinks("jsonep_mysql")
|
|
|
->addLinks("jsonep_mongo")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$composer
|
|
|
->addService("jsonep_mysql")
|
|
@@ -640,7 +706,7 @@ class Release extends Command
|
|
|
->addVolumes("./extra/statsd/endpoint/mysql", "/opt/datasource")
|
|
|
->addLinks("mysql")
|
|
|
->addEnv_file("mysql." . $host_env_file)
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$composer
|
|
|
->addService("jsonep_mongo")
|
|
@@ -648,7 +714,7 @@ class Release extends Command
|
|
|
->image($registry . "fd3/jsonep_mongo:$version")
|
|
|
->addVolumes("./extra/statsd/endpoint/mongodb", "/opt/datasource")
|
|
|
->addLinks("mongodb")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
}
|
|
|
|
|
|
function addCommandWorkers(FileFormat2 $composer, $config = array())
|
|
@@ -662,7 +728,7 @@ class Release extends Command
|
|
|
->image($registry . "fd3/base:" . $version)
|
|
|
->build("./base/")
|
|
|
->command("bin/console rabbitmq:consumer log_consumer")
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -674,7 +740,7 @@ class Release extends Command
|
|
|
->image($registry . "fd3/ftth:" . $version)
|
|
|
->build("./ftth/")
|
|
|
->command("bin/console rabbitmq:consumer command_consumer")
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -686,7 +752,7 @@ class Release extends Command
|
|
|
->image($registry . "fd3/ftth:" . $version)
|
|
|
->build("./ftth/")
|
|
|
->command("bin/console rabbitmq:consumer flowdat_tasklogger")
|
|
|
- ->restart("always")
|
|
|
+ ->restart($this->_docker_restart_default)
|
|
|
->addLinks("mysql")
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
@@ -703,7 +769,7 @@ class Release extends Command
|
|
|
->addEnviroment("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
|
|
|
->addEnviroment("./extra/supervisord/bin/fiberhome", "/usr/bin/fiberhome")
|
|
|
->addEnviroment("./extra/supervisord/bin/fiberlink", "/usr/bin/fiberlink");
|
|
|
-// ->restart("always")
|
|
|
+// ->restart($this->_docker_restart_default)
|
|
|
// ->addLinks("mysql")
|
|
|
// ->addLinks("base")
|
|
|
// ->addLinks("amqp")
|
|
@@ -732,6 +798,8 @@ class Release extends Command
|
|
|
$this->addStats($composer, $base_vars);
|
|
|
$this->addMapas($composer, $base_vars);
|
|
|
$this->addCablemodem($composer, $base_vars);
|
|
|
+ $this->addRadius($composer, $base_vars);
|
|
|
+ $this->addDHCP($composer, $base_vars);
|
|
|
|
|
|
/**************************************************************************************/
|
|
|
/* Servicios */
|
|
@@ -739,7 +807,7 @@ class Release extends Command
|
|
|
$this->addMySql($composer, $base_vars);
|
|
|
|
|
|
$composer->addService("amqp")->image("rabbitmq:3-management")
|
|
|
- ->restart("always");
|
|
|
+ ->restart($this->_docker_restart_default);
|
|
|
|
|
|
$this->addMongDb($composer, $base_vars);
|
|
|
$this->addRedis($composer, $base_vars);
|