From b88c78e3cf2bef22aa2f1c4d0bf305e303bc15f0 Mon Sep 17 00:00:00 2001 From: Koren Lev Date: Thu, 27 Jul 2017 16:42:15 +0300 Subject: adding calipso ui Change-Id: Ifa6f63daebb07f45580f747341960e898fdb00c4 Signed-off-by: Koren Lev --- .../monitoring-configuration.js | 119 +++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 ui/imports/api/environments/configuration-groups/monitoring-configuration.js (limited to 'ui/imports/api/environments/configuration-groups/monitoring-configuration.js') diff --git a/ui/imports/api/environments/configuration-groups/monitoring-configuration.js b/ui/imports/api/environments/configuration-groups/monitoring-configuration.js new file mode 100644 index 0000000..2b27f8a --- /dev/null +++ b/ui/imports/api/environments/configuration-groups/monitoring-configuration.js @@ -0,0 +1,119 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +import { SimpleSchema } from 'meteor/aldeed:simple-schema'; +import * as R from 'ramda'; +import { Constants } from '/imports/api/constants/constants'; +import { portRegEx } from '/imports/lib/general-regex'; +import { hostnameRegex } from '/imports/lib/general-regex'; +import { ipAddressRegex } from '/imports/lib/general-regex'; +import { pathRegEx } from '/imports/lib/general-regex'; + +export const MonitoringSchema = new SimpleSchema({ + name: { type: String, autoValue: function () { return 'Monitoring'; } }, + //app_path: { type: String, autoValue: function () { return '/etc/calipso/monitoring'; } }, + + config_folder: { + type: String, + defaultValue: '/local_dir/sensu_config', + regEx: pathRegEx, + }, + + env_type: { + type: String, + defaultValue: 'production', + custom: function () { + let that = this; + let EnvTypesRec = Constants.findOne({ name: 'env_types' }); + + if (R.isNil(EnvTypesRec.data)) { return 'notAllowed'; } + let EnvTypes = EnvTypesRec.data; + + if (R.isNil(R.find(R.propEq('value', that.value), EnvTypes))) { + return 'notAllowed'; + } + }, + }, + + rabbitmq_port: { + type: String, + defaultValue: '5671', + regEx: portRegEx, + }, + + rabbitmq_user: { + type: String, + defaultValue: 'sensu' + }, + + rabbitmq_pass: { type: String }, + + server_ip: { + type: String, + regEx: new RegExp(hostnameRegex.source + '|' + ipAddressRegex.soure), + defaultValue: '10.0.0.1', + }, + + server_name: { + type: String, + defaultValue: 'sensu_server', + }, + + type: { + type: String, + defaultValue: 'Sensu', + custom: function () { + let that = this; + let values = Constants.findOne({ name: 'environment_monitoring_types' }).data; + + if (R.isNil(values)) { return 'notAllowed'; } + + if (R.isNil(R.find(R.propEq('value', that.value), values))) { + return 'notAllowed'; + } + }, + }, + + provision: { + type: String, + defaultValue: 'None', + custom: function () { + let that = this; + let values = Constants.findOne({ name: 'environment_provision_types' }).data; + + if (R.isNil(values)) { return 'notAllowed'; } + + if (R.isNil(R.find(R.propEq('value', that.value), values))) { + return 'notAllowed'; + } + }, + }, + + ssh_port: { + type: String, + defaultValue: '20022', + optional: true + }, + + ssh_user: { + type: String, + defaultValue: 'root', + optional: true + }, + + ssh_password: { + type: String, + defaultValue: 'calipso', + optional: true + }, + + api_port: { + type: Number, + defaultValue: 4567, + }, +}); -- cgit 1.2.3-korg