Esempio n. 1
0
 /**
  * _getNRPECfg - get core nrpe config file 
  * 
  * @param mixed $deployment deployment we are referencing
  * @param mixed $revision   revision we are referencing
  *
  * @static
  * @access private
  * @return void
  */
 private static function _getNRPECfg($deployment, $revision)
 {
     $results = "";
     if (RevDeploy::existsDeploymentNRPECfg($deployment, $revision) !== false) {
         $nrpecfgInfo = RevDeploy::getDeploymentNRPECfg($deployment, $revision);
         $results = NRPECreate::buildNRPEFile($deployment, $revision, $nrpecfgInfo);
         return $results;
     }
     return $results;
 }
Esempio n. 2
0
        $viewData->b64 = "";
        $viewData->location = "";
        $viewData->md5 = "";
        $viewData->plugins = $plugins;
    } elseif (!empty($nrpeCfgInfo) && empty($plugins)) {
        $msg = NRPECreate::buildNRPEFile($deployment, $deployrev, $nrpeCfgInfo);
        $viewData->b64 = base64_encode($msg);
        $viewData->location = $nrpeCfgInfo['location'];
        $viewData->md5 = md5($msg);
        $viewData->plugins = array();
    } else {
        foreach ($plugins as $plugin => $pArray) {
            unset($plugins[$plugin]['desc']);
            unset($plugins[$plugin]['deployment']);
        }
        $msg = NRPECreate::buildNRPEFile($deployment, $deployrev, $nrpeCfgInfo);
        $viewData->b64 = base64_encode($msg);
        $viewData->location = $nrpeCfgInfo['location'];
        $viewData->md5 = md5($msg);
        $viewData->plugins = $plugins;
    }
    echo json_encode($viewData);
})->via('GET', 'POST');
$app->map('/api/getSupNRPECfg/:deployment', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    $deployrev = RevDeploy::getDeploymentRev($deployment);
    $nrpeCfgInfo = RevDeploy::getDeploymentSupNRPECfg($deployment, $deployrev);
    $plugins = RevDeploy::getCommonMergedDeploymentSupNRPEPluginsMetaData($deployment, $deployrev);
    $viewData = new ViewData();
    if (empty($nrpeCfgInfo) && empty($plugins)) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to detect supplemental nrpe config information for deployment: {$deployment}");
Esempio n. 3
0
    $nrpeCfgInfo = RevDeploy::getDeploymentNRPECfg($deployment, $deployRev);
    $plugins = RevDeploy::getCommonMergedDeploymentNRPEPluginsMetaData($deployment, $deployRev);
    if (empty($nrpeCfgInfo) && empty($plugins)) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to detect nrpe config information for deployment: {$deployment}");
        $app->halt(403, $apiResponse->returnJson());
    }
    $apiResponse = new APIViewData(0, $deployment, false);
    if (empty($nrpeCfgInfo) && !empty($plugins)) {
        $apiResponse->setExtraResponseData('plugins', $plugins);
    } elseif (!empty($nrpeCfgInfo) && empty($plugins)) {
        $config = NRPECreate::buildNRPEFile($deployment, $deployRev, $nrpeCfgInfo);
        $apiResponse->setExtraResponseData('contents', base64_encode($config));
        $apiResponse->setExtraResponseData('location', $nrpeCfgInfo['location']);
        $apiResponse->setExtraResponseData('md5', md5($config));
    } else {
        $config = NRPECreate::buildNRPEFile($deployment, $deployRev, $nrpeCfgInfo);
        $apiResponse->setExtraResponseData('contents', base64_encode($config));
        $apiResponse->setExtraResponseData('location', $nrpeCfgInfo['location']);
        $apiResponse->setExtraResponseData('md5', md5($config));
        $apiResponse->setExtraResponseData('plugins', $plugins);
    }
    $apiResponse->printJson();
})->name('saigon-api-consumer-nrpe-config');
$app->get('/sapi/consumer/supnrpeconfig/:deployment', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    $deployRev = RevDeploy::getDeploymentRev($deployment);
    $nrpeCfgInfo = RevDeploy::getDeploymentSupNRPECfg($deployment, $deployRev);
    $plugins = RevDeploy::getCommonMergedDeploymentSupNRPEPluginsMetaData($deployment, $deployRev);
    if (empty($nrpeCfgInfo) && empty($plugins)) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to detect supplemental nrpe config information for deployment: {$deployment}");
        $app->halt(403, $apiResponse->returnJson());
 public function show()
 {
     $viewData = new ViewData();
     $deployment = $this->getDeployment('nrpe_cfg_error');
     $modrevision = RevDeploy::getDeploymentNextRev($deployment);
     if (RevDeploy::existsDeploymentNRPECfg($deployment, $modrevision) !== false) {
         $nrpecfgInfo = RevDeploy::getDeploymentNRPECfg($deployment, $modrevision);
         $filecontents = NRPECreate::buildNRPEFile($deployment, $modrevision, $nrpecfgInfo);
         $viewData->deployment = $deployment;
         $viewData->md5 = md5($filecontents);
         $viewData->location = $nrpecfgInfo['location'];
         $viewData->msg = $filecontents;
         $this->sendResponse('nrpe_cfg_output', $viewData);
     }
     $viewData->header = $this->getErrorHeader('nrpe_cfg_error');
     $viewData->error = 'NRPE Config File for Deployment Specified Does not Exist';
     $this->sendError('generic_error', $viewData);
 }
Esempio n. 5
0
        $app->halt(404, $apiResponse->returnJson());
    } elseif (!isset($nrpeCfgInfo['allowed_hosts']) || empty($nrpeCfgInfo['allowed_hosts'])) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to detect allowed_hosts parameter (hosts allowed to connect to service)");
        $app->halt(404, $apiResponse->returnJson());
    } elseif (!isset($nrpeCfgInfo['cmds']) || empty($nrpeCfgInfo['cmds'])) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to detect cmds parameter (commands to activate in nrpe config)");
        $app->halt(404, $apiResponse->returnJson());
    }
    // Param manipulation depending on what is detected
    if (is_array($nrpeCfgInfo['cmds'])) {
        $nrpeCfgInfo['cmds'] = implode(',', $nrpeCfgInfo['cmds']);
    }
    if (!isset($nrpeCfgInfo['include_dir']) || empty($nrpeCfgInfo['include_dir'])) {
        unset($nrpeCfgInfo['include_dir']);
    }
    check_revision_status($deployment);
    $deployRev = RevDeploy::getDeploymentNextRev($deployment);
    if (RevDeploy::existsDeploymentNRPECfg($deployment, $deployRev) === true) {
        RevDeploy::modifyDeploymentNRPECfg($deployment, $nrpeCfgInfo, $deployRev);
        $msg = "Successfully Modified NRPE Config";
    } else {
        RevDeploy::createDeploymentNRPECfg($deployment, $nrpeCfgInfo, $deployRev);
        $msg = "Successfully Created NRPE Config";
    }
    unset($nrpeCfgInfo);
    $nrpeCfgInfo = RevDeploy::getDeploymentNRPECfg($deployment, $deployRev);
    $fileContents = NRPECreate::buildNRPEFile($deployment, $deployRev, $nrpeCfgInfo);
    $apiResponse = new APIViewData(0, $deployment, $msg);
    $apiResponse->setExtraResponseData('md5', md5($fileContents));
    $apiResponse->printJson();
})->name('saigon-api-create-nrpe-cfg');