public function stage()
 {
     $viewData = new ViewData();
     $deployment = $this->getDeployment('nrpe_cmd_error');
     $modrevision = RevDeploy::getDeploymentNextRev($deployment);
     $viewData->nrpecmds = RevDeploy::getCommonMergedDeploymentNRPECmds($deployment, $modrevision);
     $viewData->deployment = $deployment;
     $this->sendResponse('nrpe_cmd_stage', $viewData);
 }
Exemplo n.º 2
0
 /**
  * buildNRPECmdLines 
  * 
  * @param mixed $deployment 
  * @param mixed $revision 
  * @param array $cherrypick 
  * @static
  * @access public
  * @return void
  */
 public static function buildNRPECmdLines($deployment, $revision, array $cherrypick = array())
 {
     $nrpecmds = RevDeploy::getCommonMergedDeploymentNRPECmds($deployment, $revision);
     if (!empty($nrpecmds)) {
         $results = array();
         if (empty($cherrypick)) {
             foreach ($nrpecmds as $nrpecmd => $nrpecmdInfo) {
                 $cmdline = "command[{$nrpecmd}]=" . base64_decode($nrpecmdInfo['cmd_line']);
                 $results[$nrpecmd] = $cmdline;
             }
         } else {
             foreach ($nrpecmds as $nrpecmd => $nrpecmdInfo) {
                 if (!in_array($nrpecmd, $cherrypick)) {
                     continue;
                 }
                 $cmdline = "command[{$nrpecmd}]=" . base64_decode($nrpecmdInfo['cmd_line']);
                 $results[$nrpecmd] = $cmdline;
             }
         }
         ksort($results);
         return $results;
     }
     return array();
 }
Exemplo n.º 3
0
    $request = $app->request();
    $commonMerge = $request->get('common');
    // Load up Current Commands or Staged Commands
    if ($staged == 1) {
        $revs = RevDeploy::getDeploymentRevs($deployment);
        if ($revs['currrev'] == $revs['nextrev']) {
            $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference");
            $app->halt(404, $apiResponse->returnJson());
        }
        $deployRev = $revs['nextrev'];
    } else {
        $deployRev = RevDeploy::getDeploymentRev($deployment);
    }
    $apiResponse = new APIViewData(0, $deployment, false);
    if ($commonMerge == 1) {
        $apiResponse->setExtraResponseData('commands', RevDeploy::getCommonMergedDeploymentNRPECmds($deployment, $deployRev));
    } else {
        $apiResponse->setExtraResponseData('commands', RevDeploy::getDeploymentNRPECmdswInfo($deployment, $deployRev));
    }
    $apiResponse->printJson();
})->name('saigon-api-get-nrpe-cmds');
$app->post('/sapi/nrpecmd/:deployment', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    check_auth($app, $deployment);
    $request = $app->request();
    $contentType = $request->headers('Content-Type');
    if ($contentType == 'application/json') {
        $nrpeCmdInfo = $request->getBody();
        $nrpeCmdInfo = json_decode($nrpeCmdInfo, true);
        if (isset($nrpeCmdInfo['cmd_line']) && !empty($nrpeCmdInfo['cmd_line'])) {
            if (($b64dec = base64_decode($nrpeCmdInfo['cmd_line'], true)) === false) {