summaryrefslogtreecommitdiffstats
path: root/fluent-bit/tests/runtime/data/kubernetes
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /fluent-bit/tests/runtime/data/kubernetes
parentInitial commit. (diff)
downloadnetdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz
netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/tests/runtime/data/kubernetes')
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta9
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta10
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta11
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta11
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta12
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta13
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta12
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta116
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta155
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta116
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta109
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/parsers.conf88
160 files changed, 947 insertions, 0 deletions
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log
new file mode 100644
index 00000000..a857f5ab
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log
new file mode 100644
index 00000000..a857f5ab
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log
new file mode 100644
index 00000000..65d77786
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log
@@ -0,0 +1 @@
+{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"]\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log
new file mode 100644
index 00000000..d9dc4a39
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log
@@ -0,0 +1 @@
+{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log
new file mode 100644
index 00000000..db4b14a8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log
new file mode 100644
index 00000000..d2f01a8b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log
new file mode 100644
index 00000000..edee75aa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log
new file mode 100644
index 00000000..48e1dabd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log
new file mode 100644
index 00000000..81e67c5f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log
new file mode 100644
index 00000000..db4b14a8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log
new file mode 100644
index 00000000..d2f01a8b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log
new file mode 100644
index 00000000..edee75aa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log
new file mode 100644
index 00000000..48e1dabd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log
new file mode 100644
index 00000000..81e67c5f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log
new file mode 100644
index 00000000..8e87678b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log
@@ -0,0 +1 @@
+{"log":"2019-04-05T14:54:23.584269761 - Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log
new file mode 100644
index 00000000..6e334835
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log
@@ -0,0 +1 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log
new file mode 100644
index 00000000..c6e1e05f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log
new file mode 100644
index 00000000..c47aa000
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log
new file mode 100644
index 00000000..0cf6e441
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log
@@ -0,0 +1 @@
+{"log":"{\"stringified-json\":\"{\\\"stringified-json\\\":\\\"{\\\\\\\"stringified-json\\\\\\\":\\\\\\\"\\\\\\\"}\\\"}\",\"text\":\"quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log
new file mode 100644
index 00000000..55c67368
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log
@@ -0,0 +1 @@
+{"log":"Text with embedded quoted \"text with embedded quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log
new file mode 100644
index 00000000..9b4e0dcb
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"]\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log
new file mode 100644
index 00000000..6dc59dc1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log
new file mode 100644
index 00000000..6dc59dc1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta
new file mode 100644
index 00000000..e986f164
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta
new file mode 100644
index 00000000..9f529a42
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "neither-true-nor-false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta
new file mode 100644
index 00000000..137d88e6
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta
@@ -0,0 +1,9 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-2": "true",
+ "fluentbit.io/exclude_stderr-container-3": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta
new file mode 100644
index 00000000..f9d1ded2
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta
@@ -0,0 +1,10 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true",
+ "fluentbit.io/exclude_stderr-container-2": "false",
+ "fluentbit.io/exclude_stdout-container-3": "false",
+ "fluentbit.io/exclude-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta
new file mode 100644
index 00000000..bfcbb44b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta
@@ -0,0 +1,11 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stdout": "true",
+ "fluentbit.io/exclude_stderr-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-3": "false",
+ "fluentbit.io/exclude_stderr-container-3": "true",
+ "fluentbit.io/exclude_stdout-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta
new file mode 100644
index 00000000..1295d0ed
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta
@@ -0,0 +1,11 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stderr": "true",
+ "fluentbit.io/exclude_stdout-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-2": "true",
+ "fluentbit.io/exclude_stderr-container-2": "false",
+ "fluentbit.io/exclude_stderr-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta
new file mode 100644
index 00000000..b57831f5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stderr": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta
new file mode 100644
index 00000000..db187f2e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stdout": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta
new file mode 100644
index 00000000..676f2063
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "invalid-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta
new file mode 100644
index 00000000..9bdba685
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "json-parser-with-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta
new file mode 100644
index 00000000..2195ae0d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "json-parser-without-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta
new file mode 100644
index 00000000..51420a87
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta
@@ -0,0 +1,12 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser-container-1": "container-1-parser",
+ "fluentbit.io/parser_stdout-container-2": "container-2-stdout-parser",
+ "fluentbit.io/parser_stderr-container-2": "container-2-stderr-parser",
+ "fluentbit.io/parser_stdout-container-3": "container-3-stdout-parser",
+ "fluentbit.io/parser_stderr-container-4": "container-4-stderr-parser",
+ "fluentbit.io/parser": "default-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta
new file mode 100644
index 00000000..b3bb2bdc
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta
@@ -0,0 +1,13 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser-container-1": "container-1-parser",
+ "fluentbit.io/parser_stdout-container-2": "container-2-stdout-parser",
+ "fluentbit.io/parser_stderr-container-2": "container-2-stderr-parser",
+ "fluentbit.io/parser_stdout-container-3": "container-3-stdout-parser",
+ "fluentbit.io/parser_stderr-container-4": "container-4-stderr-parser",
+ "fluentbit.io/parser_stdout": "default-stdout-parser",
+ "fluentbit.io/parser_stderr": "default-stderr-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta
new file mode 100644
index 00000000..e098a81d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "regex-parser-with-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta
new file mode 100644
index 00000000..8a43354b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "regex-parser-without-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta
new file mode 100644
index 00000000..6a869276
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser_stderr": "default-stderr-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta
new file mode 100644
index 00000000..1b9fd148
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser_stdout": "default-stdout-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta
new file mode 100644
index 00000000..a1bc934a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta
@@ -0,0 +1,12 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/invalid": "true",
+ "fluentbit.io/exclude_": "true",
+ "fluentbit.io/exclude_invalid": "true",
+ "fluentbit.io/exclude_stdout-": "true",
+ "fluentbit.io/exclude-": "true",
+ "fluentbit.io/exclude+": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta
new file mode 100644
index 00000000..3ccca443
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta
@@ -0,0 +1,116 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "base",
+ "namespace": "core",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [
+ {
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [
+ {
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }
+ ]
+ }
+ ],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [
+ {
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }
+ ]
+ },
+ "status": {
+ "conditions": [
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [
+ {
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }
+ ],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta
new file mode 100644
index 00000000..0967ef42
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta
@@ -0,0 +1 @@
+{}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta
new file mode 100644
index 00000000..90109bfe
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta
@@ -0,0 +1,155 @@
+{
+ "kind": "Pod",
+ "apiVersion": "v1",
+ "metadata": {
+ "name": "kairosdb-914055854-b63vq",
+ "generateName": "kairosdb-914055854-",
+ "namespace": "default",
+ "selfLink": "/api/v1/namespaces/default/pods/kairosdb-914055854-b63vq",
+ "uid": "d6c53deb-05a4-11e8-a8c4-080027435fb7",
+ "resourceVersion": "25205",
+ "creationTimestamp": "2018-01-30T10:03:37Z",
+ "labels": {
+ "name": "kairosdb",
+ "pod-template-hash": "914055854"
+ },
+ "annotations": {
+ "kubernetes.io/created-by": "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"default\",\"name\":\"kairosdb-914055854\",\"uid\":\"d6c2f841-05a4-11e8-a8c4-080027435fb7\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"1592\"}}\n"
+ },
+ "ownerReferences": [
+ {
+ "apiVersion": "extensions/v1beta1",
+ "kind": "ReplicaSet",
+ "name": "kairosdb-914055854",
+ "uid": "d6c2f841-05a4-11e8-a8c4-080027435fb7",
+ "controller": true,
+ "blockOwnerDeletion": true
+ }
+ ]
+ },
+ "spec": {
+ "volumes": [
+ {
+ "name": "default-token-vv11j",
+ "secret": {
+ "secretName": "default-token-vv11j",
+ "defaultMode": 420
+ }
+ }
+ ],
+ "containers": [
+ {
+ "name": "kairosdb",
+ "image": "docker.io/davradocker/docker-kairosdb:1.1.1_9",
+ "env": [
+ {
+ "name": "kairosdb_http_port",
+ "value": "58080"
+ },
+ {
+ "name": "kairosdb_datastore_cassandra_host_list",
+ "valueFrom": {
+ "configMapKeyRef": {
+ "name": "cassandra-config",
+ "key": "cassandra.nodeports"
+ }
+ }
+ },
+ {
+ "name": "kairosdb_ttl",
+ "value": "315360000"
+ },
+ {
+ "name": "_JAVA_OPTIONS",
+ "value": "-Xms128m -Xmx512m"
+ }
+ ],
+ "resources": {},
+ "volumeMounts": [
+ {
+ "name": "default-token-vv11j",
+ "readOnly": true,
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount"
+ }
+ ],
+ "livenessProbe": {
+ "httpGet": {
+ "path": "/api/v1/metricnames",
+ "port": 58080,
+ "scheme": "HTTP"
+ },
+ "initialDelaySeconds": 20,
+ "timeoutSeconds": 1,
+ "periodSeconds": 1,
+ "successThreshold": 1,
+ "failureThreshold": 1
+ },
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "imagePullPolicy": "IfNotPresent",
+ "securityContext": {
+ "privileged": false
+ }
+ }
+ ],
+ "restartPolicy": "Always",
+ "terminationGracePeriodSeconds": 30,
+ "dnsPolicy": "ClusterFirst",
+ "serviceAccountName": "default",
+ "serviceAccount": "default",
+ "nodeName": "192.168.10.169",
+ "securityContext": {},
+ "schedulerName": "default-scheduler"
+ },
+ "status": {
+ "phase": "Running",
+ "conditions": [
+ {
+ "type": "Initialized",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-01-30T10:03:37Z"
+ },
+ {
+ "type": "Ready",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-02-27T07:28:45Z"
+ },
+ {
+ "type": "PodScheduled",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-01-30T10:03:37Z"
+ }
+ ],
+ "hostIP": "192.168.10.169",
+ "podIP": "10.2.39.12",
+ "startTime": "2018-01-30T10:03:37Z",
+ "containerStatuses": [
+ {
+ "name": "kairosdb",
+ "state": {
+ "running": {
+ "startedAt": "2018-02-27T07:28:45Z"
+ }
+ },
+ "lastState": {
+ "terminated": {
+ "exitCode": 0,
+ "reason": "Completed",
+ "startedAt": "2018-02-27T07:27:13Z",
+ "finishedAt": "2018-02-27T07:27:16Z",
+ "containerID": "docker://5bc9f63b02c09d7726ed3669f734b365f90e077e77a88c4a2f004459772bf912"
+ }
+ },
+ "ready": true,
+ "restartCount": 20,
+ "image": "davradocker/docker-kairosdb:1.1.1_9",
+ "imageID": "docker-pullable://davradocker/docker-kairosdb@sha256:2ee07e3f3ba61b96597c78ab0aa7b837d771b375888b020da7a7316bb524b6e8",
+ "containerID": "docker://02d45318f220ad01109d13df31fbbb0668b87fdd06ef6607abfdecf5eba4b311"
+ }
+ ],
+ "qosClass": "BestEffort"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta
new file mode 100644
index 00000000..e986f164
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta
new file mode 100644
index 00000000..b922088e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "default-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta
new file mode 100644
index 00000000..ce693695
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta
@@ -0,0 +1,116 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "use-kubelet-disabled",
+ "namespace": "options",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [
+ {
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [
+ {
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }
+ ]
+ }
+ ],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [
+ {
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }
+ ]
+ },
+ "status": {
+ "conditions": [
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [
+ {
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }
+ ],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta
new file mode 100644
index 00000000..af9fb1a3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta
@@ -0,0 +1,109 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {},
+ "items": [{
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "use-kubelet-enabled",
+ "namespace": "options",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [{
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [{
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }]
+ }],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [{
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [{
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }]
+ },
+ "status": {
+ "conditions": [{
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [{
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+ }]
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out
new file mode 100644
index 00000000..14703ca6
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"neither-true-nor-false"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out
new file mode 100644
index 00000000..66bcbba9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"neither-true-nor-false"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out
new file mode 100644
index 00000000..8f22e1d4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out
new file mode 100644
index 00000000..f534e361
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out
new file mode 100644
index 00000000..08ae820a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out
new file mode 100644
index 00000000..236481af
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out
new file mode 100644
index 00000000..50520e92
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out
new file mode 100644
index 00000000..73e7e5db
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out
new file mode 100644
index 00000000..0b7da35c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out
new file mode 100644
index 00000000..427b67c7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out
new file mode 100644
index 00000000..de5af8a1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out
new file mode 100644
index 00000000..de7d598e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out
new file mode 100644
index 00000000..cff4f21e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out
new file mode 100644
index 00000000..0329d218
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out
new file mode 100644
index 00000000..ad9fa8d4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out
new file mode 100644
index 00000000..730abcc7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out
new file mode 100644
index 00000000..22865762
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out
new file mode 100644
index 00000000..75b6ae3a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out
new file mode 100644
index 00000000..0e237f7a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out
new file mode 100644
index 00000000..8204d04d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out
new file mode 100644
index 00000000..dbb0d7a0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"invalid-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out
new file mode 100644
index 00000000..5bb03765
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"invalid-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out
new file mode 100644
index 00000000..16835827
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"]\n","stream":"stdout","kubernetes":{"pod_name":"json-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"json-parser-with-time"},"container_name":"invalid-json-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out
new file mode 100644
index 00000000..2a472dad
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","message":"Simple text","kubernetes":{"pod_name":"json-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"json-parser-with-time"},"container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out
new file mode 100644
index 00000000..937c3add
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_1_parser":"Container 1 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out
new file mode 100644
index 00000000..c672970c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_1_parser":"Container 1 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out
new file mode 100644
index 00000000..02f9ce66
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_2_stderr_parser":"Container 2 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out
new file mode 100644
index 00000000..9d3d358c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_2_stdout_parser":"Container 2 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out
new file mode 100644
index 00000000..3908d07e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_parser":"Container 3 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out
new file mode 100644
index 00000000..77ca2ce0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_3_stdout_parser":"Container 3 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out
new file mode 100644
index 00000000..f3752f59
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_4_stderr_parser":"Container 4 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out
new file mode 100644
index 00000000..bf81796a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_parser":"Container 4 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out
new file mode 100644
index 00000000..b633eb0e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_parser":"Container 5 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out
new file mode 100644
index 00000000..f6137799
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_parser":"Container 5 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out
new file mode 100644
index 00000000..d4d401d0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_1_parser":"Container 1 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out
new file mode 100644
index 00000000..fc0de55c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_1_parser":"Container 1 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out
new file mode 100644
index 00000000..38214f3c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_2_stderr_parser":"Container 2 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out
new file mode 100644
index 00000000..6c4dc1d7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_2_stdout_parser":"Container 2 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out
new file mode 100644
index 00000000..8d5e8cf7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Container 3 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out
new file mode 100644
index 00000000..1371805e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_3_stdout_parser":"Container 3 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out
new file mode 100644
index 00000000..bca461e5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_4_stderr_parser":"Container 4 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out
new file mode 100644
index 00000000..79aa4d99
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Container 4 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out
new file mode 100644
index 00000000..860dbeba
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Container 5 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out
new file mode 100644
index 00000000..141fc422
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Container 5 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out
new file mode 100644
index 00000000..a563c4e4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"2019-04-05T14:54:23.584269761 - Simple text\n","stream":"stdout","kubernetes":{"pod_name":"regex-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"regex-parser-with-time"},"container_name":"invalid-text-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out
new file mode 100644
index 00000000..dad7fcda
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","message":"Simple text","kubernetes":{"pod_name":"regex-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"regex-parser-with-time"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out
new file mode 100644
index 00000000..85954f7b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Simple text","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out
new file mode 100644
index 00000000..a56cb809
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out
new file mode 100644
index 00000000..65e31d0d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stdout":"default-stdout-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out
new file mode 100644
index 00000000..07c2d913
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Simple text","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stdout":"default-stdout-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out
new file mode 100644
index 00000000..900560d8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations","annotations":{"fluentbit.io/invalid":"true","fluentbit.io/exclude_":"true","fluentbit.io/exclude_invalid":"true","fluentbit.io/exclude_stdout-":"true","fluentbit.io/exclude-":"true","fluentbit.io/exclude+":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out
new file mode 100644
index 00000000..6a1a3ac5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"base","namespace_name":"core","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out
new file mode 100644
index 00000000..f72dc98b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"no-meta","namespace_name":"core","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out
new file mode 100644
index 00000000..8063a7fa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"stringified-json\":\"{\\\"stringified-json\\\":\\\"{\\\\\\\"stringified-json\\\\\\\":\\\\\\\"\\\\\\\"}\\\"}\",\"text\":\"quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"}\n","stream":"stdout","kubernetes":{"pod_name":"unescaping","namespace_name":"core","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out
new file mode 100644
index 00000000..f9dad5be
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Text with embedded quoted \"text with embedded quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"\n","stream":"stdout","kubernetes":{"pod_name":"unescaping","namespace_name":"core","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out b/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out
new file mode 100644
index 00000000..efaaf0d8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out
@@ -0,0 +1 @@
+[1541358747.464754,{"_UID":"1000","_GID":"1000","_CAP_EFFECTIVE":"0","_SELINUX_CONTEXT":"unconfined\n","_AUDIT_LOGINUID":"1000","_SYSTEMD_OWNER_UID":"1000","_SYSTEMD_SLICE":"user-1000.slice","_SYSTEMD_USER_SLICE":"-.slice","_BOOT_ID":"e3abb4093a904a169e2ac21af241392f","_MACHINE_ID":"28d81df105e641e9b7d85e9d41433662","_HOSTNAME":"cube","PRIORITY":"6","CODE_FILE":"filter_kubernetes.c","CODE_LINE":"456","CODE_FUNC":"flb_test_systemd_logs","CONTAINER_NAME":"k8s_kairosdb_kairosdb-914055854-b63vq_default_d6c53deb-05a4-11e8-a8c4-080027435fb7_23","CONTAINER_TAG":"","CONTAINER_ID":"56e257661383","CONTAINER_ID_FULL":"56e257661383836fac4cd90a23ee8a7a02ee1538c8f35657d1a90f3de1065a22","MESSAGE":"08:58:45.839 [qtp151442075-47] DEBUG [HttpParser.java:281] - filled 157/157","KUBE_TEST":"2018","SYSLOG_IDENTIFIER":"flb-rt-filter_kubernetes","_TRANSPORT":"journal","_PID":"32318","_COMM":"flb-rt-filter_k","_EXE":"build/bin/flb-rt-filter_kubernetes","_CMDLINE":"bin/flb-rt-filter_kubernetes","_AUDIT_SESSION":"7417","_SYSTEMD_CGROUP":"/user.slice/user-1000.slice/session-7417.scope","_SYSTEMD_SESSION":"7417","_SYSTEMD_UNIT":"session-7417.scope","_SYSTEMD_INVOCATION_ID":"899c0f7241ae4db0af3cb4088dca76b0","_SOURCE_REALTIME_TIMESTAMP":"1541358747464738","kubernetes":{"pod_name":"kairosdb-914055854-b63vq","namespace_name":"default","pod_id":"d6c53deb-05a4-11e8-a8c4-080027435fb7","labels":{"name":"kairosdb","pod-template-hash":"914055854"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"default\",\"name\":\"kairosdb-914055854\",\"uid\":\"d6c2f841-05a4-11e8-a8c4-080027435fb7\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"1592\"}}\n"},"host":"192.168.10.169","container_name":"kairosdb","docker_id":"02d45318f220ad01109d13df31fbbb0668b87fdd06ef6607abfdecf5eba4b311","container_hash":"davradocker/docker-kairosdb@sha256:2ee07e3f3ba61b96597c78ab0aa7b837d771b375888b020da7a7316bb524b6e8","container_image":"davradocker/docker-kairosdb:1.1.1_9"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out
new file mode 100644
index 00000000..2b148329
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"k8s-logging-exclude-disabled","namespace_name":"options","annotations":{"fluentbit.io/exclude":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out
new file mode 100644
index 00000000..4a87d121
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"k8s-logging-exclude-disabled","namespace_name":"options","annotations":{"fluentbit.io/exclude":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out
new file mode 100644
index 00000000..0c35402f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"k8s-logging-parser-disabled","namespace_name":"options","annotations":{"fluentbit.io/parser":"default-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out
new file mode 100644
index 00000000..5eb80966
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"k8s-logging-parser-disabled","namespace_name":"options","annotations":{"fluentbit.io/parser":"default-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out
new file mode 100644
index 00000000..6f95c3ba
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"keep-log-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out
new file mode 100644
index 00000000..b09efae8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"keep-log-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out
new file mode 100644
index 00000000..7d28a9c9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out
new file mode 100644
index 00000000..66cfe547
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"]\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"invalid-json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out
new file mode 100644
index 00000000..25717717
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out
new file mode 100644
index 00000000..7c6363bc
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out
new file mode 100644
index 00000000..130e92f2
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","merge-log-key":{"text":"Simple text"},"kubernetes":{"pod_name":"merge-log-key","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out
new file mode 100644
index 00000000..0fee8645
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","text":"Simple text\n","kubernetes":{"pod_name":"merge-log-trim-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out
new file mode 100644
index 00000000..adcdf765
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"merge-log-trim-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out
new file mode 100644
index 00000000..699da8bd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"use-kubelet-disabled","namespace_name":"options","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out
new file mode 100644
index 00000000..dbd97f1a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"use-kubelet-enabled","namespace_name":"options","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/parsers.conf b/fluent-bit/tests/runtime/data/kubernetes/parsers.conf
new file mode 100644
index 00000000..40014ec3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/parsers.conf
@@ -0,0 +1,88 @@
+[PARSER]
+ Name docker
+ Format json
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L%z
+
+[PARSER]
+ Name kubernetes-tag
+ Format regex
+ Regex ^(?<namespace_name>[^.]+).(?<pod_name>[^.]+).(?<container_name>[^.]+)$
+
+[PARSER]
+ Name regex-parser-without-time
+ Format regex
+ Regex ^(?<message>.+)$
+
+[PARSER]
+ Name regex-parser-with-time
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<message>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name json-parser-without-time
+ Format json
+
+[PARSER]
+ Name json-parser-with-time
+ Format json
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-1-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_1_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-2-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_2_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-2-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_2_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-3-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_3_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-4-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_4_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L