|
@@ -50,9 +50,9 @@ class Release extends Command
|
|
|
*/
|
|
|
private $_domain;
|
|
|
/**
|
|
|
- * @var string Contiene el dominio que se agrega al final de la linea.
|
|
|
+ * @var string Contiene el nombre del cliente.
|
|
|
*/
|
|
|
- private $_domain_behind;
|
|
|
+ private $_client;
|
|
|
/**
|
|
|
* @var array Contiene todos los modulos para la instalacion.
|
|
|
*/
|
|
@@ -61,6 +61,10 @@ class Release extends Command
|
|
|
* @var array Contiene la configuracion de los modulos.
|
|
|
*/
|
|
|
private $_modules;
|
|
|
+ /**
|
|
|
+ * @var array Contiene los usuarios que van a poder acceder al sistema.
|
|
|
+ */
|
|
|
+ private $_user_system;
|
|
|
|
|
|
/**
|
|
|
* Constructor.
|
|
@@ -76,8 +80,13 @@ class Release extends Command
|
|
|
$this->_mysql_user = "iksop";
|
|
|
$this->_mysql_pass = "235r2342gtfsw";
|
|
|
$this->_mysql_root_pass = "235r2342gtfsw";
|
|
|
- $this->_domain_behind = "flowdat.com";
|
|
|
$this->_docker_restart_default = "on-failure:10";
|
|
|
+ $this->_user_system = ['users' =>
|
|
|
+ [
|
|
|
+ ['user' => 'admin', 'password' => 'admin', 'tenancy' => 1, 'email' => 'soporte@interlink.com.ar', 'extra' => '--super-admin '],
|
|
|
+ ['user' => 'iksop', 'password' => 'gran5pe', 'tenancy' => 2, 'email' => 'admin@interlink.com.ar', 'extra' => ''],
|
|
|
+ ['user' => 'interno', 'password' => 'gran5pe1nterno', 'tenancy' => 2, 'email' => 'admin@interlink.com.ar', 'extra' => '']
|
|
|
+ ]];
|
|
|
$this->_modules = array();
|
|
|
$this->_ansible_vars = array();
|
|
|
$this->_modules_all = array(
|
|
@@ -236,13 +245,17 @@ class Release extends Command
|
|
|
}
|
|
|
$this->_domain = $input->getOption("domain");
|
|
|
$this->_client = $input->getOption("client");
|
|
|
- if (!$this->_client) {
|
|
|
+
|
|
|
+ if (!$this->_client) {
|
|
|
$this->_client = basename(realpath($dir));
|
|
|
- }
|
|
|
+ }
|
|
|
+
|
|
|
$docker_tag = $input->getOption("docker-tag");
|
|
|
|
|
|
$this->_ansible_vars["DOMAIN"] = $this->_domain;
|
|
|
$this->_ansible_vars["CLIENT"] = $this->_client;
|
|
|
+ $this->_ansible_vars["CMD_USERNAME"] = $this->_user_system['users']['user'];
|
|
|
+ $this->_ansible_vars["CMD_PASSWORD"] = $this->_user_system['users']['password'];
|
|
|
|
|
|
$dObj = new DevOps\FileSystem(realpath($dir));
|
|
|
$dObj->dirExists()->realpath();
|
|
@@ -264,6 +277,8 @@ class Release extends Command
|
|
|
$this->writeOAUTH();
|
|
|
// escribo un archivo con variables para ansible
|
|
|
$this->writeEnvVariables();
|
|
|
+ // escribo un archivo con los usuarios del sistema
|
|
|
+ $this->writeUserSystem();
|
|
|
|
|
|
$dObj->file('install.yml')->content(
|
|
|
yaml::dump(array(
|
|
@@ -285,8 +300,6 @@ class Release extends Command
|
|
|
} catch (\Throwable $error) {
|
|
|
var_dump($error->getTraceAsString(), $error->getCode(), $error->getMessage());
|
|
|
} finally {
|
|
|
- $this->_OAUTH_CLIENT_SECRET = null;
|
|
|
- $this->_OAUTH_CLIENT_ID = null;
|
|
|
$this->_dObj = null;
|
|
|
$this->_modules = null;
|
|
|
}
|
|
@@ -744,6 +757,7 @@ class Release extends Command
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
|
->addLinks("nginx", $this->getDomain("base"))
|
|
|
+ ->addEnv_file("running.env")
|
|
|
->addVolumes("./base/", "/opt/base");
|
|
|
|
|
|
$composer
|
|
@@ -756,6 +770,7 @@ class Release extends Command
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
|
->addLinks("nginx", $this->getDomain("base"))
|
|
|
+ ->addEnv_file("running.env")
|
|
|
->addVolumes("./ftth/", "/opt/ftth");
|
|
|
|
|
|
$composer
|
|
@@ -768,6 +783,7 @@ class Release extends Command
|
|
|
->addLinks("base")
|
|
|
->addLinks("amqp")
|
|
|
->addLinks("nginx", $this->getDomain("base"))
|
|
|
+ ->addEnv_file("running.env")
|
|
|
->addVolumes("./ftth/", "/opt/ftth");
|
|
|
|
|
|
$composer
|
|
@@ -999,7 +1015,7 @@ class Release extends Command
|
|
|
*/
|
|
|
private function getDomain($module)
|
|
|
{
|
|
|
- return $module . "." . $this->_domain . "." . $this->_domain_behind;
|
|
|
+ return $module . "." . $this->_client . "." . $this->_domain;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1027,6 +1043,15 @@ class Release extends Command
|
|
|
->content($tmp);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Crea el archivo con los usuarios del sistema para que lea el ansible.
|
|
|
+ */
|
|
|
+ private function writeUserSystem()
|
|
|
+ {
|
|
|
+ $this->_dObj->file("user_system.json")
|
|
|
+ ->content(json_encode($this->_user_system));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Crea el archivo con las variables para ejecutar el ansible.
|
|
|
*/
|
|
@@ -1036,8 +1061,8 @@ class Release extends Command
|
|
|
$all = "[all]\n";
|
|
|
foreach ($composer->getServices() as $key => $value) {
|
|
|
$tmp .= "[$key]\n";
|
|
|
- $tmp .= $this->_domain . "_" . $key . "_1\n\n";
|
|
|
- $all .= $this->_domain . "_" . $key . "_1\n";
|
|
|
+ $tmp .= $this->_client . "_" . $key . "_1\n\n";
|
|
|
+ $all .= $this->_client . "_" . $key . "_1\n";
|
|
|
}
|
|
|
|
|
|
$this->_dObj->file("inventory.ini")->content($tmp . $all);
|