github.com/replicatedhq/ship@v0.55.0/integration/update/app-with-added-files/expected/.ship/upstream/appRelease.json (about)

     1  {
     2    "id": "YU2IGzqQWlTepOKTWL5GMCGGGqOxHfwY",
     3    "sequence": 2,
     4    "channelId": "s-M3ZsM1sIlXDFbfhmoPan4TJb78mZrc",
     5    "channelName": "Nightly",
     6    "channelIcon": "",
     7    "semver": "1.1.0",
     8    "releaseNotes": "two resources",
     9    "spec": "assets:\n  v1:\n  - inline:\n      contents: |\n        apiVersion: apps/v1\n        kind: Deployment\n        metadata:\n          name: redis\n          labels:\n            component: redis\n        spec:\n          replicas: 1\n          selector:\n            matchLabels:\n              component: redis\n          template:\n            metadata:\n              labels:\n                component: redis\n            spec:\n              containers:\n                - name: redis\n                  image: redis\n      dest: base/redis-deployment.yaml\n      mode: 0644\n  - inline:\n      contents: |\n        apiVersion: apps/v1\n        kind: Deployment\n        metadata:\n          name: redis2\n          labels:\n            component: redis2\n        spec:\n          replicas: 1\n          selector:\n            matchLabels:\n              component: redis2\n          template:\n            metadata:\n              labels:\n                component: redis2\n            spec:\n              containers:\n                - name: redis2\n                  image: redis\n      dest: base/redis2-deployment.yaml\n      mode: 0644\nconfig:\n  v1: []\nlifecycle:\n  v1:\n    - config:\n        invalidates: [\"render\"]\n    - render:\n        requires: [\"config\"]\n        root: \".\"\n    - kustomize:\n        requires: [\"render\"]\n        base: ./base\n        overlay: overlays/ship\n        dest: rendered.yaml",
    10    "images": [],
    11    "githubContents": [],
    12    "created": "2019-07-24T17:44:44.000Z",
    13    "registrySecret": "3bfd99a69b5748fab756a593c7dcc852",
    14    "entitlements": {
    15      "meta": {
    16        "lastUpdated": "0001-01-01T00:00:00Z",
    17        "customerID": "a16_bcTnkNqFWs1UEcCJ3DQFYzfnLfVr"
    18      },
    19      "signature": "fKUguIJdowknuE6960jkb4RE2WE0zIhx2euVgqv1kPExs7kFlMSxP2JdNJ7jq6DF3k1L1OlEHglXsVtvaO0EtNnwx7dm9W6XIrrdPSeqLA6j30L7R8V8BYKW9EFzpzIxR27AFg1u32g2SOwJxH/XIEHavZck+HEUCIxeq68zKO5Ktu0wxJv7SqKYCjEYEEGHDZ9/jAJPvo43KVo66O1xpf4pqNP+Yrvxu+knm7qL0aEQhJ3n1FQEjQ7lwqBmZLsZoR3uX9ZPqz9ifHmVqVyoImWKMCjXMW4QIyqnNvppNO2M9a7iEKPllNetyVOH3zK5YRnPoYL2uvIs8Wy2wwzwFLEXBDpPz5fl+7nVIFmfQaeVHvpWzHWPo+iwUCnrWRMx+L7HEGMhlQWq02Iq9/F6TPUnZdbZNxGf5rPjkjkVeHc/p4BUPsrJnWItBQ5W/SM40c4qf23MrLC9C7wIhoKaZKYjTSKebSz0hW4+47OlRNVU8m+qd1exOhglnEoKZ/DCH2cH6Pp0Ema6J6iNIlWCx50rl0k1AZ43EX5IYAaneAp7i6IMxfSn8sYfIGyGycKaEVjxpmh0uEM9I/p3EVY3/2RZ+fAhN0fVthBZTkJXFCAIWYJKaERGzuobxaFe90o57WJTdRcwFsjHHE2zJx6hFSnQJ7qBwGFM8r3QyNAI/EA="
    20    },
    21    "configSpec": "v1: []\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  }