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" : { }
}
⚠️ **GitHub.com Fallback** ⚠️