public static function save($account) { $account->credentials = StringHelper::encrypt($account->credentials, md5(Auth::user()->username)); return $account->save(); }
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]])); }