Beispiel #1
0
 public static function save($account)
 {
     $account->credentials = StringHelper::encrypt($account->credentials, md5(Auth::user()->username));
     return $account->save();
 }
Beispiel #2
0
 private function prepare($user, $account, &$deployment)
 {
     $credentials = json_decode($account->credentials);
     $parameters = json_decode($deployment->parameters);
     $dockerParams = xDockerEngine::getDockerParams($deployment->docker_name);
     $rawApiKey = StringHelper::encrypt($credentials->apiKey, md5(Auth::user()->username));
     $rawSecretKey = StringHelper::encrypt($credentials->secretKey, md5(Auth::user()->username));
     if (xDockerEngine::billingBucket($deployment->docker_name) && empty($credentials->billingBucket)) {
         Log::error('error', 'Billing bucket is mandatory for ' . $deployment->docker_name);
         return Redirect::to('account/' . $account->id . '/edit')->with('error', 'Billing bucket is mandatory for ' . $deployment->docker_name);
     }
     $secPolicy = xDockerEngine::securityPolicy($deployment->docker_name);
     if (!empty($secPolicy)) {
         $keys = array_keys($secPolicy);
     } else {
         $keys[0] = 0;
         $secPolicy[0] = '';
     }
     $keys = !empty($secPolicy) ? array_keys($secPolicy) : '';
     if (xDockerEngine::isAppCredEanbled($deployment->docker_name)) {
         if (empty($parameters->app_username) || empty($parameters->app_username)) {
             Log::error('App Username/Password are required fields for ' . $deployment->docker_name);
             return Redirect::back()->with('error', 'App Username/Password are required fields for ' . $deployment->docker_name);
         }
     }
     $userArr = array('app_username' => $parameters->app_username, 'app_psw' => crypt($parameters->app_psw, base64_encode($parameters->app_psw)));
     $env = $dockerParams['env'];
     $dockerParams['env'] = array_merge($env, $userArr);
     $deployment->wsParams = json_encode(array('token' => $deployment->token, 'username' => $user->username, 'cloudProvider' => $account->cloudProvider, 'apiKey' => $rawApiKey, 'secretKey' => $rawSecretKey, 'billingBucket' => !empty($credentials->billingBucket) ? $credentials->billingBucket : '', 'instanceName' => $deployment->name, 'instanceType' => $parameters->instanceType, 'instanceRegion' => $parameters->instanceRegion, 'instanceAmi' => $parameters->instanceAmi, 'OS' => $parameters->OS, 'packageName' => $deployment->docker_name, 'sgPorts' => $parameters->sgPorts, 'dockerParams' => $dockerParams, 'ipUI' => xDockerEngine::getIPAddress($deployment->docker_name), $keys[0] => $secPolicy[$keys[0]]));
 }