Sample Definition - csap-platform/csap-core GitHub Wiki
The following application definition is the default used when creating a new application.
https://github.com/csap-platform/csap-core/wiki/definition/images/Application.json
{
"project" : {
"api-version" : 2.1,
"project-version" : 1,
"name" : "all-in-one",
"architect" : "[email protected]",
"emailNotifications" : "[email protected]"
},
"environments" : {
"defaults" : {
"settings" : {
"base-env-only" : true,
"application" : {
"name" : "all-in-one",
"sub-projects" : [ ],
"definition-repo-url" : "https://moc-bb.lab.sensus.net/bitbucket/update-with-your-repo",
"definition-repo-branch" : "master",
"maven-url" : "http://devops-prod01.lab.sensus.net:8081/artifactory/csap-release",
"help-menu-items" : {
"User Guide" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP",
"Release Notes" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP/pages/258211856/Release+Notes",
"Quick Install" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP/pages/395282580/CSAP+Quick+Install",
"Health Status" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP/pages/258211861/CSAP+Health",
"Application Editor" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP/pages/258211875/CSAP+Application+Editor",
"FAQ" : "https://xyleminc.atlassian.net/wiki/spaces/CSAP/pages/347177032/CSAP+FAQ"
}
},
"operatorNotifications" : [ "[email protected]" ],
"csap-host-agent" : {
"maxJmxCollectionMs" : 3000,
"numberWorkerThreads" : "3",
"adminToAgentTimeoutInMs" : 2000,
"lsofIntervalMins" : 1,
"duIntervalMins" : 5,
"apiLocal" : true,
"apiUser" : "agentUser",
"apiPass" : "CSAP Developmentdev",
"infraTests" : {
"cpuIntervalMinutes" : "30",
"diskIntervalMinutes" : "30",
"cpuLoopsMillions" : "1",
"diskWriteMb" : "600"
},
"gitSslVerificationDisabledUrls" : [ "https://updateTHisIfNeeded.com/demo.git" ]
},
"csap-data" : {
"user" : "events-disabled",
"credential" : "pAH+tsfwU/kgW+34WPXQW/8Z0a9SJpXq8dNOirMmUxM=",
"service-url" : "http://csap-dev01.lab.sensus.net:8080/events-service"
},
"monitorDefaults" : {
"jvm_jmxHeartbeat" : true,
"maxDiskPercent" : 60,
"maxDiskPercentIgnorePatterns" : "/auto/.*",
"maxHostCpuLoad" : 4,
"maxHostCpu" : 50,
"maxHostCpuIoWait" : 11,
"minFreeMemoryMb" : "1000",
"max_diskUtil" : "150",
"max_threadCount" : "120",
"max_fileCount" : "350",
"max_rssMemory" : "500m",
"max_tomcatConnections" : "40",
"max_topCpu" : "150"
},
"configuration-maps" : {
"global" : {
"about" : "csap-globals-loaded",
"allowRemoteJmx" : "false",
"isJmxAuthentication" : "false"
},
"httpd" : {
"configureAsToolServer" : "false",
"httpdDocFolder" : "$$csap-base/web-server",
"createPort80Tunnel" : true
},
"docker" : {
"allowRemote" : false
},
"kubelet" : {
"clusterToken" : "584t76.b0b7c7r75rbc0ml0",
"kubernetesAllInOne" : false
},
"storage-settings-sample" : {
"about-type" : "vsphere or nfs can be used",
"$$storage-type" : "nfs",
"$$storage-class" : "csap-nfs-storage-1",
"$$storage-folder" : "csap-dev-platform-storage",
"$$vsphere-datastore" : "YOUR_DS_NAME",
"$$nfs-server" : "YOUR_NFS_IP",
"$$nfs-path" : "/YOUR_NFS_EXPORT_PATH",
"$$nfs-mount" : "/mnt/YOUR_OS_MOUNT_PATH",
"$$nfs-provisioner" : "kubernetes-pvcs-csap-platform",
"httpdDocFolder" : "$$nfs-mount/csap-web-server"
},
"nginx-ingress" : {
"$$ingress-host" : "*.lab.sensus.net",
"$$ingress-node-selector" : "\"kubernetes.io/os\": linux",
"$$ingress-http-port" : 7080,
"$$ingress-https-port" : 7443
}
},
"csap-collection" : {
"processDumps" : {
"resouceInterval" : 30,
"maxInInterval" : 3,
"lowMemoryInMb" : "500"
},
"host" : [ 30, 300, "3600" ],
"os-process" : [ 30, 300, 3600 ],
"application" : [ "30", 300, 3600 ]
},
"reports" : {
"trending" : [ {
"label" : "Cores Used (all hosts)",
"report" : "custom/core",
"metric" : "coresUsed",
"about" : "New item"
}, {
"label" : "Memory (all services,gb)",
"report" : "os-process",
"metric" : "rssMemory",
"divideBy" : "numberOfSamples,1000",
"allVmTotal" : "true"
}, {
"label" : "CPU Test (all hosts,seconds)",
"report" : "host",
"metric" : "totalCpuTestTime",
"divideBy" : "numberOfSamples",
"allVmTotal" : "false"
}, {
"label" : "Disk Test (all hosts,seconds)",
"report" : "host",
"metric" : "totalDiskTestTime",
"divideBy" : "numberOfSamples",
"allVmTotal" : "false"
}, {
"label" : "CPU Load (all hosts)",
"report" : "host",
"metric" : "totalLoad",
"divideBy" : "numberOfSamples",
"allVmTotal" : "true"
}, {
"label" : "Threads (all hosts)",
"report" : "host",
"metric" : "threadsTotal",
"divideBy" : "numberOfSamples",
"allVmTotal" : "true"
}, {
"label" : "Java GC (all jvms,seconds)",
"report" : "java",
"metric" : "minorGcInMs",
"serviceName" : "all",
"allVmTotal" : true,
"divideBy" : "1000"
}, {
"label" : "csap-agent sockets",
"report" : "os-process",
"metric" : "socketCount",
"serviceName" : "csap-agent",
"divideBy" : "numberOfSamples"
}, {
"label" : "csap-agent os commands",
"report" : "application",
"metric" : "OsCommandsCounter",
"serviceName" : "csap-agent",
"divideBy" : "numberOfSamples"
} ],
"realTimeMeters" : [ {
"label" : "Cpu Cores Active",
"id" : "host.coresActive",
"intervals" : [ 7, 8, 9 ],
"min" : 0,
"about" : "New item",
"healthMeter" : [ false, 0, 4 ]
}, {
"label" : "Cpu Response (s)",
"id" : "host.cpuTest",
"intervals" : [ 6, 7, 8 ],
"min" : 0,
"divideBy" : "host-count",
"healthMeter" : [ true, 1, 7 ]
}, {
"label" : "Disk Response (s)",
"id" : "host.diskTest",
"intervals" : [ 4, 5, 6 ],
"min" : 0,
"divideBy" : "host-count",
"healthMeter" : [ true, 1, 5 ]
}, {
"label" : "csap-agent Cpu (Total)",
"id" : "os-process.topCpu_csap-agent",
"intervals" : [ 10, 30, 100 ]
} ]
},
"loadBalanceVmFilter" : [ "none" ],
"monitoringUrl" : "http://monitoring",
"mavenCommand" : "-B -Dmaven.test.skip=true clean package",
"newsItems" : [ "News items may be added using Application Editor." ],
"portRange" : {
"start" : 8200,
"end" : 9300
},
"secureUrl" : "https://csap-secure/admin",
"autoRestartHttpdOnClusterReload" : "yes",
"launchUrls" : [ {
"description" : "http(Tomcat Embed)",
"url" : "default"
}, {
"description" : "ajp(LB - Internal)",
"url" : "http://yourlb.na.sensus.net"
} ],
"metricsPublication" : [ {
"type" : "csapCallHome",
"intervalInSeconds" : 300,
"url" : "http://csaptools/CsapGlobalAnalytics/rest/vm/health",
"token" : "notUsed"
} ],
"lastModifiedBy" : "pnightingale"
},
"base-os" : {
"description" : "core services installed on every host",
"type" : "simple",
"template-references" : [ "csap-package-java", "csap-package-linux", "csap-package-tomcat", "csap-agent", "docker" ]
}
},
"dev" : {
"settings" : {
"imports" : [ "defaults" ],
"loadbalancer-url" : "http://centos1.lab.sensus.net:8080",
"configuration-maps" : {
"kubelet" : {
"kubernetesAllInOne" : true
}
},
"application" : {
"name" : "all-in-one",
"definition-repo-url" : "https://moc-bb.lab.sensus.net/bitbucket/scm/xxx/xxx-csap.git"
}
},
"base-os" : {
"hosts" : [ "centos1" ]
},
"csap-demo" : {
"notes" : "For ease of management - common services are typically placed in a single cluster.",
"type" : "simple",
"hosts" : [ "csap_def_template_host" ],
"template-references" : [ "csap-demo-mp-monitor", "csap-demo-source", "csap-verify-service", "csap-demo-tomcat" ]
},
"csap-management" : {
"notes" : "For production clusters, 2 hosts are recommended. All others - a single host is sufficient",
"type" : "modjk",
"hosts" : [ "centos1" ],
"template-references" : [ "csap-admin", "httpd" ]
},
"kubernetes-provider" : {
"type" : "kubernetes-provider",
"masters" : [ "centos1" ],
"hosts" : [ "centos1" ],
"template-references" : [ "kubelet" ]
},
"kubernetes-system-services" : {
"type" : "kubernetes",
"kubernetes-provider" : "kubernetes-provider",
"kubernetes-namespace" : "kube-system",
"template-references" : [ "calico-kube-controllers", "calico-node", "coredns", "etcd", "kube-apiserver", "kube-controller-manager", "kube-proxy", "kube-scheduler", "kubernetes-dashboard", "metrics-server", "nginx-ingress-controller" ]
}
}
},
"service-templates" : { }
}