apiVersion: v1
kind: ConfigMap
metadata:
  name: showcase-3d-printer-anomaly-detection
data:
  anomalies.avsc: |
    {
      "name": "Anomalies",
      "type": "record",
      "namespace": "de.ihbr",
      "fields": [
        {
          "name": "ax",
          "type": "float"
        },
        {
          "name": "ay",
          "type": "float"
        },
        {
          "name": "az",
          "type": "float"
        },
        {
          "name": "gx",
          "type": "float"
        },
        {
          "name": "gy",
          "type": "float"
        },
        {
          "name": "gz",
          "type": "float"
        },
        {
          "name": "hum",
          "type": "int"
        },
        {
          "name": "temp",
          "type": "int"
        },
        {
          "name": "time",
          "type": "long"
        }
      ]
    }
  config.yaml: |
    General:
      KAFKA_BROKER_URL: kafka:9094
      KAFKA_CONSUMER_TIMEOUT_MS: 120000

    anomaly_detection:
      IN_TOPIC:
        showcase-3d-printer_prusa-esp32: data.avsc
      IN_GROUP: ender_printer_anomaly_detection
      OUT_TOPIC:
        ender_printer_anomalies: anomalies.avsc
      JSON_QUERY: fields
      DATA_COLUMNS: [ax, ay, az, gx, gy, gz]
  data.avsc: |
    {
      "name": "Data",
      "namespace": "de.ihbr",
      "type": "record",
      "fields": [
        {
          "name": "fields",
          "type": {
            "name": "sensorData",
            "namespace": "de.ihbr.fields",
            "type": "record",
            "fields": [
              {
                "name": "ax",
                "type": "float"
              },
              {
                "name": "ay",
                "type": "float"
              },
              {
                "name": "az",
                "type": "float"
              },
              {
                "name": "gx",
                "type": "float"
              },
              {
                "name": "gy",
                "type": "float"
              },
              {
                "name": "gz",
                "type": "float"
              },
              {
                "name": "hum",
                "type": "int"
              },
              {
                "name": "temp",
                "type": "int"
              },
              {
                "name": "time",
                "type": "long"
              }
            ]
          }
        },
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "tags",
          "type": {
            "name": "metaTags",
            "namespace": "de.ihbr.tags",
            "type": "record",
            "fields": [
              {
                "name": "host",
                "type": "string"
              },
              {
                "name": "topic",
                "type": "string"
              }
            ]
          }
        },
        {
          "name": "timestamp",
          "type": "long"
        }
      ]
    }
