github.com/replicatedhq/ship@v0.55.0/integration/update/app_basic/expected/.ship/upstream/appRelease.json (about)

     1  {
     2    "id": "pAb_dFxe4M4TdvkPWSdgDhgtpDbOcGAM",
     3    "sequence": 4603,
     4    "channelId": "lD4lzjnjwOYzKbNsjK0JlcpzF19PswXz",
     5    "channelName": "integration replicated.app basic",
     6    "channelIcon": "",
     7    "semver": "1.0.2",
     8    "releaseNotes": "integration tests",
     9    "spec": "---\nassets:\n  v1:\n    - inline:\n        contents: |\n          #!/bin/bash\n          echo \"installing nothing\"\n          echo \"config option: {{repl ConfigOption \"test_option\" }}\"\n        dest: ./scripts/install.sh\n        mode: 0777\n    - inline:\n        contents: |\n          #!/bin/bash\n          echo \"tested nothing\"\n          echo \"customer {{repl Installation \"customer_id\" }}\"\n          echo \"install {{repl Installation \"installation_id\" }}\"\n        dest: ./scripts/test.sh\n        mode: 0777\nconfig:\n  v1:\n    - name: test_options\n      title: Test Options\n      description: testing testing 123\n      items:\n      - name: test_option\n        title: Test Option\n        default: abc123_test-option-value\n        type: text\nlifecycle:\n  v1:\n    - render: {}\n",
    10    "images": [],
    11    "githubContents": [],
    12    "created": "2018-12-04T03:21:49.000Z",
    13    "registrySecret": "3bfd99a69b5748fab756a593c7dcc852",
    14    "entitlements": {
    15      "meta": {
    16        "last_updated": "0001-01-01T00:00:00Z",
    17        "customer_id": ""
    18      },
    19      "signature": "BaqDEa2yZw5RVSSxDJA9A6IBfEHC89GD/LfZIZSGNOlcbFZzwG0A11O9jL71/jB4ZOOmVpfmzWTahbNeapBvy983EsdHXo1Tqcq3ECnjRfJFD7VoO5vUer3DzBewl/EUGjJEb9ptp7ihjMOQnvahmE8KL+Uq1HO/0NOMIa0/L43tv+05AW5vtcTNJdqb0XF/IyKw6SWq8UJq02GdEyDY+LE/b6Z1FVNcKDrg1aauxCzWsk2NtPLiSPbdClFE0BEbo20803sckrlnNX/SP6CHRUdX0xN2jKFQJ+ROUHqpfi9RQM/6kYVfW4FXGUvU1osmlB3wKOT5fkJ99jJXfEI/t1/qWgqj4cCc4kMyF9wA6egMnTl8ARcL3ZgsSFi5vIw1f9ratxUTMjKFNbRzeiqPZkf+Lt1wTjHcUW37gpLPESVLtctjld9qFWodr6SE5tB26EnybGg2/Tm556z/akDyaStLPllfKSeVByGRfs74MMW7DiX6X/WbubevRkgulFVGnaTQvKBITNb3DWIcX/kC+Rd3BOI2i8A6Fn+zI5uVaMEicX6wFah02Z9KjcLEavDtaT7aEoJP7wIRcVoxdMKqVTknddYEq0PlGj7VN4pUeRu3tpiyu2jC8kQgC1rnM8auLtz9+8k1IONDsVgBB2u2hzk5LIRG6mAn2CVAml7iUW0="
    20    },
    21    "configSpec": "v1:\n  - name: test_options\n    title: Test Options\n    description: testing testing 123\n    items:\n      - name: test_option\n        title: Test Option\n        default: abc123_test-option-value\n        type: text\n",
    22    "collectSpec": "\ncollect:\n  v1:\n    # core\n    # support-bundle\n    - goroutines: {}\n      description: Support bundle goroutine dump\n      output_dir: default/support-bundle\n      defer: true\n    - logs: {}\n      description: Support bundle logs\n      output_dir: default/support-bundle\n      defer: true\n    # system\n    - os.run-command:\n        name: date\n        output_dir: default/commands/date\n    - os.run-command:\n        name: df\n        args: [-al]\n        output_dir: default/commands/df\n    - os.run-command:\n        name: df\n        args: [-ali]\n        output_dir: default/commands/df_inodes\n    - os.run-command:\n        name: dmesg\n        output_dir: default/commands/dmesg\n    - os.run-command:\n        name: free\n        args: [-m]\n        output_dir: default/commands/free\n    - os.run-command:\n        name: ip\n        args: [-o, addr, show]\n        output_dir: default/commands/ip_addr_show\n    - os.run-command:\n        name: ip\n        args: [-o, link, show]\n        output_dir: default/commands/ip_link_show\n    - os.run-command:\n        name: ip\n        args: [-o, route, show]\n        output_dir: default/commands/ip_route_show\n    - os.run-command:\n        name: ps\n        args: [fauxwww]\n        output_dir: default/commands/ps\n    - os.loadavg:\n        output_dir: default/commands/loadavg\n    - os.hostname:\n        output_dir: default/commands/hostname\n    - os.uptime:\n        output_dir: default/commands/uptime\n    - os.read-file:\n        filepath: /etc/fstab\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/hostname\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/hosts\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/os-release\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/system-release\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/centos-release\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/timezone\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /proc/cpuinfo\n        output_dir: default/proc\n    - os.read-file:\n        filepath: /proc/meminfo\n        output_dir: default/proc\n    - os.read-file:\n        filepath: /proc/mounts\n        output_dir: default/proc\n    - os.read-file:\n        filepath: /proc/uptime\n        output_dir: default/proc\n    - os.read-file:\n        filepath: /proc/version\n        output_dir: default/proc\n    - os.read-file:\n        filepath: /proc/vmstat\n        output_dir: default/proc\n    # networking \u0026 firewall\n    - os.read-file:\n        filepath: /etc/sysconfig/iptables\n        description: iptables sysconfig settings\n        output_dir: default/etc/sysconfig\n    - os.read-file:\n        filepath: /etc/sysconfig/iptables-config\n        description: iptables sysconfig settings\n        output_dir: default/etc/sysconfig\n    - os.read-file:\n        filepath: /etc/sysconfig/ip6tables\n        description: iptables sysconfig settings\n        output_dir: default/etc/sysconfig\n    - os.read-file:\n        filepath: /usr/lib/FirewallD\n        description: firewalld settings\n        output_dir: default/usr/lib\n    - os.read-file:\n        filepath: /etc/firewalld\n        description: firewalld settings\n        output_dir: default/etc\n    # dns\n    - os.read-file:\n        filepath: /etc/resolv.conf\n        description: DNS resolv.conf\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/dnsmasq.conf\n        description: dnsmasq.conf\n        output_dir: default/etc\n    - os.read-file:\n        filepath: /etc/dhcp3/dhclient.conf\n        description: dhcp3 dhclient.conf\n        output_dir: default/etc/dhcp3\n    # docker\n    - docker.info:\n        output_dir: default/docker\n    - docker.version:\n        output_dir: default/docker\n    - docker.image-ls:\n        output_dir: default/docker\n    - docker.container-ls:\n        all: true\n        output_dir: default/docker\n    - os.read-file:\n        filepath: /etc/docker/daemon.json\n        description: docker daemon json\n        output_dir: default/etc/docker\n    - os.read-file:\n        filepath: /etc/default/docker\n        output_dir: default/etc/default\n    - os.read-file:\n        filepath: /etc/sysconfig/docker\n        output_dir: default/etc/sysconfig\n    - os.read-file:\n        filepath: /etc/systemd/system/docker.service.d/http-proxy.conf\n        output_dir: default/etc/systemd/system/docker.service.d\n    - os.read-file:\n        filepath: /var/log/upstart/docker.log\n        output_dir: default/var/log/upstart\n    - journald.logs:\n        unit: docker\n        since: -14 days\n        output_dir: default/journald/docker\n    # kubernetes\n    # kubelet\n    - journald.logs:\n        unit: kubelet\n        reverse: true\n        output_dir: default/kubernetes/kubelet/logs\n    # namespace kube-system\n    - docker.logs:\n        description: \u003e-\n          Docker logs for all the containers labeled with\n          io.kubernetes.pod.namespace=kube-system\n        timeout_seconds: 100\n        container_logs_options:\n          timestamps: false\n        container_list_options:\n          all: true\n          filters:\n            label:\n              - io.kubernetes.pod.namespace=kube-system\n        output_dir: default/kubernetes/kube-system/logs\n    - docker.container-inspect:\n        description: \u003e-\n          Docker inspect for all the containers labeled with\n          io.kubernetes.pod.namespace=kube-system\n        container_list_options:\n          all: true\n          filters:\n            label:\n              - io.kubernetes.pod.namespace=kube-system\n        output_dir: default/kubernetes/kube-system/inspect\n    # rook\n    - docker.logs:\n        description: \u003e-\n          Rook container logs\n        output_dir: /kubernetes/internal/logs/rook\n        timeout_seconds: 100\n        container_logs_options:\n          timestamps: false\n        container_list_options:\n          all: true\n          filters:\n            label:\n              - io.kubernetes.pod.namespace=rook\n        output_dir: default/kubernetes/rook/logs\n    - docker.container-inspect:\n        description: \u003e-\n          Rook container inspect\n        container_list_options:\n          all: true\n          filters:\n            label:\n              - io.kubernetes.pod.namespace=rook\n        output_dir: default/kubernetes/rook/inspect\n    # etcd\n    - os.http-request:\n        url: http://localhost:2379/metrics\n        method: get\n        output_dir: default/kubernetes/metrics/etcd\n    # default\n    - kubernetes.resource-list:\n        kind: deployments\n        namespace: \"\"\n        output_dir: default/kubernetes/resources/deployments\n    - kubernetes.resource-list:\n        kind: events\n        namespace: \"\"\n        output_dir: default/kubernetes/resources/events\n    - kubernetes.resource-list:\n        kind: jobs\n        namespace: \"\"\n        output_dir: default/kubernetes/resources/jobs\n    - kubernetes.resource-list:\n        kind: pods\n        namespace: \"\"\n        output_dir: default/kubernetes/resources/pods\n    # platform\n    # native\n    - docker.container-inspect:\n        container_list_options:\n          all: true\n          filters:\n            name:\n              - replicated\n              - retraced\n              - premkit\n              - studio\n        output_dir: default/replicated/native/inspect\n    - docker.logs:\n        container_list_options:\n          all: true\n          filters:\n            name:\n              - replicated\n              - retraced\n              - premkit\n              - studio\n        output_dir: default/replicated/native/logs\n    # swarm\n    - docker.stack-service-logs:\n        namespace: replicated\n        description: Logs from services in the replicated stack\n        output_dir: default/replicated/swarm/replicated/service-logs\n    - docker.stack-service-logs:\n        namespace: replicated-retraced\n        description: Logs from services in the retraced stack\n        output_dir: default/replicated/swarm/replicated-retraced/logs\n    - docker.stack-service-logs:\n        namespace: replicated-premkit\n        description: Logs from services in the premkit stack\n        output_dir: default/replicated/swarm/replicated-premkit/logs\n    - docker.stack-service-logs:\n        namespace: replicated-statsd\n        description: Logs from services in the statsd stack\n        output_dir: default/replicated/swarm/replicated-statsd/logs\n    # kubernetes\n",
    23    "analyzeSpec": "\nanalyze:\n  v1:\n    - name: processes.configmanagement.puppet\n      labels:\n        iconKey: puppet_logo\n        desiredPosition: \"10\"\n      insight:\n        primary: Managed By Puppet\n        detail: This server is running a Puppet agent\n        severity: info\n      registerVariables:\n        - name: ps\n          fileMatch:\n            pathRegexps:\n              - default/commands/ps/stdout\n            regexpCapture:\n              regexp: '.+puppet agent .*'\n              index: 0\n      evaluateConditions:\n        - condition:\n            regexpMatch:\n              regexp: 'puppet agent '\n            variableRef: ps\n          insightOnFalse:\n            primary: No Puppet\n            detail: This server is not running a puppet agent\n            severity: debug\n            labels:\n              iconKey: gray_checkmark\n    - name: processes.configmanagement.chef\n      labels:\n        iconKey: chef_logo\n        desiredPosition: \"10\"\n      insight:\n        primary: Managed By Chef\n        detail: This server is running a Chef client\n        severity: info\n      registerVariables:\n        - name: ps\n          fileMatch:\n            pathRegexps:\n              - default/commands/ps/stdout\n            regexpCapture:\n              regexp: '.+chef-client.*'\n              index: 0\n      evaluateConditions:\n        - condition:\n            regexpMatch:\n              regexp: 'chef-client'\n            variableRef: ps\n          insightOnFalse:\n            primary: No Chef\n            detail: This server is not running a Chef client\n            severity: debug\n            labels:\n              iconKey: gray_checkmark\n    - name: cpucores.usage\n      labels:\n        iconKey: os_cpu\n        desiredPosition: \"1\"\n      insight:\n        primary: '{{repl .numproc}}'\n        detail: Number of CPU Cores is {{repl .numproc}}\n        severity: info\n      registerVariables:\n        - name: numproc\n          cpuCores: {}\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: numproc\n          insightOnFalse:\n            primary: Unknown\n            detail: Could not determine number of CPU Cores. Ensure your specs include a command os.read-file[\"/proc/cpuinfo\"].\n            severity: debug\n    - name: datacenter.aws\n      labels:\n        iconKey: datacenter_aws\n        desiredPosition: \"7\"\n      insight:\n        primary: AWS\n        detail: This is an AWS instance\n        severity: info\n      registerVariables:\n        - name: publicAddress\n          fileMatch:\n            pathRegexps:\n              - /containers/replicated-operator.json\n              - /inspect/replicated-operator.json\n              - /replicated-operator-inspect.json\n            regexpCapture:\n              regexp: '\"PUBLIC_ADDRESS=([^\"]+)\"'\n              index: 1\n        - name: provider\n          whichCloud:\n            variableRef: publicAddress\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: publicAddress\n        - condition:\n            stringCompare:\n              eq: aws\n            variableRef: provider\n    - name: datacenter.gce\n      labels:\n        iconKey: datacenter_gce\n        desiredPosition: \"7\"\n      insight:\n        primary: GCE\n        detail: This is a GCE instance\n        severity: info\n      registerVariables:\n        - name: publicAddress\n          fileMatch:\n            pathRegexps:\n              - /containers/replicated-operator.json\n              - /inspect/replicated-operator.json\n              - /replicated-operator-inspect.json\n            regexpCapture:\n              regexp: '\"PUBLIC_ADDRESS=([^\"]+)\"'\n              index: 1\n        - name: provider\n          whichCloud:\n            variableRef: publicAddress\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: publicAddress\n        - condition:\n            stringCompare:\n              eq: gce\n            variableRef: provider\n    - name: datacenter.azure\n      labels:\n        iconKey: datacenter_azure\n        desiredPosition: \"7\"\n      insight:\n        primary: Azure\n        detail: This is an Azure instance\n        severity: info\n      registerVariables:\n        - name: publicAddress\n          fileMatch:\n            pathRegexps:\n              - /containers/replicated-operator.json\n              - /inspect/replicated-operator.json\n              - /replicated-operator-inspect.json\n            regexpCapture:\n              regexp: '\"PUBLIC_ADDRESS=([^\"]+)\"'\n              index: 1\n        - name: provider\n          whichCloud:\n            variableRef: publicAddress\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: publicAddress\n        - condition:\n            stringCompare:\n              eq: azure\n            variableRef: provider\n    - name: datacenter.unknown\n      labels:\n        iconKey: datacenter_unknown\n        desiredPosition: \"7\"\n      insight:\n        primary: Unknown\n        detail: Could not determine datacenter location of address {{repl .publicAddress}}.\n        severity: debug\n      registerVariables:\n        - name: publicAddress\n          fileMatch:\n            pathRegexps:\n              - /containers/replicated-operator.json\n              - /inspect/replicated-operator.json\n              - /replicated-operator-inspect.json\n            regexpCapture:\n              regexp: '\"PUBLIC_ADDRESS=([^\"]+)\"'\n              index: 1\n        - name: provider\n          whichCloud:\n            variableRef: publicAddress\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: publicAddress\n          insightOnFalse:\n            primary: Unknown\n            detail: Could not determine public IP address.\n            severity: debug\n        - condition:\n            not:\n              stringCompare:\n                in: [aws,gce,azure]\n              variableRef: provider\n    - name: docker.containers.count\n      labels:\n        iconKey: docker_container\n        desiredPosition: \"3\"\n      insight:\n        primary: '{{repl .runningContainers}}'\n        detail: '{{repl .runningContainers}} containers running'\n        severity: info\n      registerVariables:\n        - name: runningContainers\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"ContainersRunning\": *([^\",\n]+)'\n              index: 1\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: runningContainers\n          insightOnFalse:\n            primary: \"?\"\n            detail: Could not determine number of running docker containers\n            severity: warn\n            labels:\n              iconKey: no_docker\n    - name: docker.devicemapper.isLoopback\n      labels:\n        iconKey: docker_whale\n        desiredPosition: \"3\"\n      insight:\n        primary: Devicemapper with loopback\n        detail: Docker devicemapper driver in loopback config\n        severity: warn\n      registerVariables:\n        - name: driver\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"Driver\": *\"([^\"]+)\"'\n              index: 1\n        - name: loopback\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: 'Data loop file'\n              index: 0\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: devicemapper\n            variableRef: driver\n        - condition:\n            not:\n              empty: {}\n              variableRef: loopback\n          insightOnFalse:\n            primary: Devicemapper not in loopback\n            detail: Docker devicemapper driver NOT in loopback config\n            severity: debug\n    - name: docker.daemon.icc\n      labels:\n        iconKey: no_docker\n        desiredPosition: \"3\"\n      insight:\n        primary: No ICC\n        detail: Docker Inter-container communication is disabled, app components will be unable to communicate\n        severity: error\n      registerVariables:\n        - name: docker\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"ServerVersion\": *\"([^\"]+)\"'\n              index: 1\n        - name: icc\n          fileMatch:\n            pathRegexps:\n              - /daemon.json\n            regexpCapture:\n              regexp: '\"icc\": *(false)'\n              index: 1\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: docker\n        - condition:\n            stringCompare:\n              eq: \"false\"\n            variableRef: icc\n          insightOnFalse:\n            primary: Docker ICC enabled\n            detail: Inter-container communication is enabled\n            severity: debug\n            labels:\n              iconKey: docker_whale\n    - name: docker.loggingDriver.isJsonFile\n      labels:\n        iconKey: no_logs\n        desiredPosition: \"3\"\n      insight:\n        primary: Non json-file log driver\n        detail: Logging driver is not json-file or journald, cannot collect container logs\n        severity: warn\n      registerVariables:\n        - name: driver\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"LoggingDriver\": *\"([^\"]+)\"'\n              index: 1\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: driver\n        - condition:\n            not:\n              stringCompare:\n                in: [json-file,journald]\n              variableRef: driver\n          insightOnFalse:\n              primary: json-file/journald\n              detail: Logging driver is json-file or journald\n              severity: debug\n              labels:\n                iconKey: logs\n    - name: docker.noproxy\n      labels:\n        iconKey: docker_whale\n        desiredPosition: \"10\"\n      insight:\n        primary: '{{repl .noproxy}}'\n        detail: Docker no proxy set\n        severity: info\n      registerVariables:\n        - name: httpproxy\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"HttpProxy\": *\"([^\"]*)\"'\n              index: 1\n        - name: httpsproxy\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"HttpsProxy\": *\"([^\"]*)\"'\n              index: 1\n        - name: noproxy\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"NoProxy\": *\"([^\"]*)\"'\n              index: 1\n      evaluateConditions:\n        - condition:\n            or:\n              - not:\n                  empty: {}\n                  variableRef: httpproxy\n              - not:\n                  empty: {}\n                  variableRef: httpsproxy\n        - condition:\n            not:\n              empty: {}\n              variableRef: noproxy\n          insightOnFalse:\n            primary: \"?\"\n            detail: No proxy not set\n            severity: warn\n            labels:\n              iconKey: docker_whale\n    - name: docker.proxy\n      labels:\n        iconKey: docker_whale\n        desiredPosition: \"9\"\n      insight:\n        primary: '{{repl if .httpproxy}}{{repl .httpproxy}}{{repl else}}{{repl .httpsproxy}}{{repl end}}'\n        detail: Docker http(s) proxy set\n        severity: info\n      registerVariables:\n        - name: httpproxy\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"HttpProxy\": *\"([^\"]*)\"'\n              index: 1\n        - name: httpsproxy\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"HttpsProxy\": *\"([^\"]*)\"'\n              index: 1\n      evaluateConditions:\n        - condition:\n            or:\n            - not:\n                empty: {}\n                variableRef: httpproxy\n            - not:\n                empty: {}\n                variableRef: httpsproxy\n          insightOnFalse:\n            primary: No proxy settings\n            detail: Docker http(s) proxy not set\n            severity: debug\n    - name: docker.version\n      labels:\n        iconKey: docker_whale\n        desiredPosition: \"2\"\n      insight:\n        primary: Docker {{repl .version}}\n        detail: Docker server version is {{repl .version}}\n        severity: info\n      registerVariables:\n        - name: version\n          fileMatch:\n            pathRegexps:\n              - /docker_info.json\n            regexpCapture:\n              regexp: '\"ServerVersion\": *\"([^\"]+)\"'\n              index: 1\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: version\n          insightOnFalse:\n            primary: \"?\"\n            detail: Could not determine docker version\n            severity: warn\n            labels:\n              iconKey: no_docker\n    - name: os.loadavg\n      labels:\n        iconKey: os_loadavg\n        desiredPosition: \"8\"\n      insight:\n        primary: '{{repl .loadavg1 | printf \"%.2f\"}} {{repl .loadavg5 | printf \"%.2f\"}} {{repl .loadavg15 | printf \"%.2f\"}}'\n        detail: CPU load averages over 1, 5, and 15 minutes\n        severity: info\n      registerVariables:\n        - name: loadavg\n          loadavg: {}\n        - name: loadavg1\n          loadavg1: {}\n        - name: loadavg5\n          loadavg5: {}\n        - name: loadavg15\n          loadavg15: {}\n      evaluateConditions:\n        - condition:\n            and:\n              - not:\n                  empty: {}\n                  variableRef: loadavg1\n              - not:\n                  empty: {}\n                  variableRef: loadavg5\n              - not:\n                  empty: {}\n                  variableRef: loadavg15\n          insightOnFalse:\n            primary: Unknown\n            detail: Could not determine loadavg. Ensure your specs include the command `os.loadavg`.\n            severity: debug\n    - name: memory.usage\n      labels:\n        iconKey: os_memory\n        desiredPosition: \"6\"\n      insight:\n        primary: '{{repl round .memoryUsagePercent 0 | printf \"%.0f\"}}%'\n        detail: '{{repl sub .memoryUsageTotal .memoryUsageAvailable | float64 | humanSize}} memory used of {{repl .memoryUsageTotal | humanSize}}'\n        severity: warn\n      registerVariables:\n        - name: memoryUsageAvailable\n          memoryUsageAvailable: {}\n        - name: memoryUsageTotal\n          memoryUsageTotal: {}\n        - name: memoryUsagePercent\n          eval: '{{repl if and .memoryUsageAvailable .memoryUsageTotal}}{{repl divFloat (subFloat .memoryUsageTotal .memoryUsageAvailable) .memoryUsageTotal | mulFloat 100}}{{repl end}}'\n      evaluateConditions:\n        - condition:\n            and:\n              - not:\n                  empty: {}\n                  variableRef: memoryUsageAvailable\n              - not:\n                  empty: {}\n                  variableRef: memoryUsageTotal\n          insightOnFalse:\n            primary: Unknown\n            detail: Could not determine memory usage. Ensure your specs include a command os.read-file[\"/proc/meminfo\"].\n            severity: debug\n        - condition:\n            numberCompare:\n              gt: 90\n            variableRef: memoryUsagePercent\n          insightOnFalse:\n            primary: '{{repl round .memoryUsagePercent 0 | printf \"%.0f\"}}%'\n            detail: '{{repl sub .memoryUsageTotal .memoryUsageAvailable | float64 | humanSize}} memory used of {{repl .memoryUsageTotal | humanSize}}'\n            severity: info\n    - name: os.ubuntu\n      labels:\n        iconKey: os_ubuntu\n      insight:\n        primary: OS is Ubuntu\n        detail: Operating System is Ubuntu\n        severity: info\n      registerVariables:\n        - name: os\n          os: {}\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: ubuntu\n            variableRef: os\n          insightOnFalse:\n            primary: OS is not Ubuntu\n            detail: Operating System is not Ubuntu\n            severity: debug\n    - name: os.alpine\n      labels:\n        iconKey: os_alpine\n      insight:\n        primary: OS is Alpine\n        detail: Operating System is Alpine\n        severity: info\n      registerVariables:\n        - name: os\n          os: {}\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: alpine\n            variableRef: os\n          insightOnFalse:\n            primary: OS is not Alpine\n            detail: Operating System is not Alpine\n            severity: debug\n    - name: os.centos\n      labels:\n        iconKey: os_centos\n      insight:\n        primary: OS is CentOS\n        detail: Operating System is CentOS\n        severity: info\n      registerVariables:\n        - name: os\n          os: {}\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: centos\n            variableRef: os\n          insightOnFalse:\n            primary: OS is not CentOS\n            detail: Operating System is not CentOS\n            severity: debug\n    - name: os.rhel\n      labels:\n        iconKey: os_rhel\n      insight:\n        primary: OS is RHEL\n        detail: Operating System is RHEL\n        severity: info\n      registerVariables:\n        - name: os\n          os: {}\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: rhel\n            variableRef: os\n          insightOnFalse:\n            primary: OS is not RHEL\n            detail: Operating System is not RHEL\n            severity: debug\n    - name: os.debian\n      labels:\n        iconKey: os_debian\n      insight:\n        primary: OS is Debian\n        detail: Operating System is Debian\n        severity: info\n      registerVariables:\n        - name: os\n          os: {}\n      evaluateConditions:\n        - condition:\n            stringCompare:\n              eq: debian\n            variableRef: os\n          insightOnFalse:\n            primary: OS is not Debian\n            detail: Operating System is not Debian\n            severity: debug\n    - name: os.uptime\n      labels:\n        iconKey: os_uptime\n        desiredPosition: \"7\"\n      insight:\n        primary: '{{repl .osUptime | seconds | humanDuration}}'\n        detail: '{{repl .osUptime | seconds | humanDuration}} total uptime since last boot'\n        severity: info\n      registerVariables:\n        - name: osUptime\n          osUptime: {}\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: osUptime\n          insightOnFalse:\n            primary: Unknown\n            detail: Could not determine uptime. Ensure your specs include a command `os.uptime`.\n            severity: debug\n    - name: replicated.replicatedd.replicatedConfFormat\n      labels:\n        iconKey: gray_checkmark\n        desiredPosition: \"3\"\n      insight:\n        primary: Incorrect replicated.conf\n        detail: The file at /etc/replicated.conf is formatted incorrectly\n        severity: warn\n      registerVariables:\n        - name: replicatedLogExists\n          fileMatch:\n            pathRegexps:\n              - /replicated.journald/logs.raw\n              - /replicated.log\n              - /replicated.stderr\n            regexpCapture:\n              regexp: '.'\n              index: 0\n            scannable: true\n        - name: replicatedConfError\n          fileMatch:\n            pathRegexps:\n              - /replicated.journald/logs.raw\n              - /replicated.log\n              - /replicated.stderr\n            regexpCapture:\n              regexp: 'Failed to read config:'\n              index: 0\n            scannable: true\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedLogExists\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedConfError\n          insightOnFalse:\n            primary: replicated.conf ok\n            detail: /etc/replicated.conf is correctly formatted\n            severity: debug\n            labels:\n              iconKey: logs\n    - name: os.diskPressure.replicated\n      labels:\n        iconKey: disk_full\n        desiredPosition: \"3\"\n      insight:\n        primary: No Space on Device\n        detail: One or more replicated containers is reporting that it is out of disk space\n        severity: error\n      registerVariables:\n        - name: replicatedLogExists\n          fileMatch:\n            pathRegexps:\n              - /replicated.journald/logs.raw\n              - /replicated.stderr\n              - /replicated.log\n            regexpCapture:\n              regexp: '.'\n              index: 0\n            scannable: true\n        - name: replicatedDiskPressure\n          fileMatch:\n            pathRegexps:\n              - /replicated.journald/logs.raw\n              - /replicated.stderr\n              - /replicated.log\n            regexpCapture:\n              regexp: 'no space left on device'\n              index: 0\n            scannable: true\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedLogExists\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedDiskPressure\n          insightOnFalse:\n            primary: No Disk Pressure\n            detail: All replicated containers have enough disk space\n            severity: debug\n            labels:\n              iconKey: disk\n    - name: os.diskPressure.replicated-operator\n      labels:\n        iconKey: disk_full\n        desiredPosition: \"3\"\n      insight:\n        primary: No Space on Device\n        detail: One or more replicated containers is reporting that it is out of disk space\n        severity: error\n      registerVariables:\n        - name: replicatedLogExists\n          fileMatch:\n            pathRegexps:\n              - /replicated-operator.journald/logs.raw\n              - /replicated-operator.stderr\n              - /replicated-operator.log\n            regexpCapture:\n              regexp: '.'\n              index: 0\n            scannable: true\n        - name: replicatedDiskPressure\n          fileMatch:\n            pathRegexps:\n              - /replicated-operator.journald/logs.raw\n              - /replicated-operator.stderr\n              - /replicated-operator.log\n            regexpCapture:\n              regexp: 'no space left on device'\n              index: 0\n            scannable: true\n      evaluateConditions:\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedLogExists\n        - condition:\n            not:\n              empty: {}\n              variableRef: replicatedDiskPressure\n          insightOnFalse:\n            primary: No Disk Pressure\n            detail: All replicated containers have enough disk space\n            severity: debug\n            labels:\n              iconKey: disk\n"
    24  }