Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Benchmark improvements #1996

Merged
merged 5 commits into from
Sep 5, 2024

Conversation

jachym-tousek-keboola
Copy link
Contributor

No description provided.

@jachym-tousek-keboola jachym-tousek-keboola requested review from michaljurecko and Matovidlo and removed request for michaljurecko September 5, 2024 10:13
Comment on lines +62 to +64
# Increase limit of operations in transaction.
- name: ETCD_MAX_TXN_OPS
value: "1000"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We tried slicesCount 50000 which caused ETCD transactions to fail because they were trying to do 50k operations in one transaction while the limit was 128. So we're increasing the limit of transaction operations and lowering SlicesCount limit accordingly.

@jachym-tousek-keboola jachym-tousek-keboola force-pushed the jt-stream-benchmark-improvements branch from daa9f2f to 61596e1 Compare September 5, 2024 10:34
Copy link
Contributor

@michaljurecko michaljurecko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@Matovidlo Matovidlo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a typo

@@ -176,8 +176,8 @@ export function stripUrlHost(url) {
}

export function teardownSource(sourceId) {
console.info("waiting 50s before source deletion")
sleep(50)
console.info("waiting 12s before source deletion")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
console.info("waiting 12s before source deletion")
console.info("waiting 120s before source deletion")

Copy link

github-actions bot commented Sep 5, 2024

Apps Proxy Kubernetes Diff [CI]

Between base 79dc4d8 ⬅️ head 61596e1.

Expand
--- /tmp/artifacts/test-k8s-state.old.json.processed.kv	2024-09-05 10:44:41.807253215 +0000
+++ /tmp/artifacts/test-k8s-state.new.json.processed.kv	2024-09-05 10:44:41.919253435 +0000
@@ -111 +111 @@
-<Deployment/apps-proxy>.spec.template.spec.containers[0].image = "docker.io/keboola/apps-proxy:79dc4d8-1725532568";
+<Deployment/apps-proxy>.spec.template.spec.containers[0].image = "docker.io/keboola/apps-proxy:61596e1-1725532812";
@@ -485,3 +485,3 @@
-<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:79dc4d8-1725532568";
-<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:79dc4d8-1725532568";
-<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:79dc4d8-1725532568";
+<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:61596e1-1725532812";
+<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:61596e1-1725532812";
+<Pod/apps-proxy-<hash>>.spec.containers[0].image = "docker.io/keboola/apps-proxy:61596e1-1725532812";
@@ -909 +909 @@
-<ReplicaSet/apps-proxy-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/apps-proxy:79dc4d8-1725532568";
+<ReplicaSet/apps-proxy-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/apps-proxy:61596e1-1725532812";


(see artifacts in the Github Action for more information)

Copy link

github-actions bot commented Sep 5, 2024

Templates API Kubernetes Diff [CI]

Between base 79dc4d8 ⬅️ head 61596e1.

Expand
--- /tmp/artifacts/test-k8s-state.old.json.processed.kv	2024-09-05 10:46:23.307095801 +0000
+++ /tmp/artifacts/test-k8s-state.new.json.processed.kv	2024-09-05 10:46:23.531096427 +0000
@@ -194 +194 @@
-<Deployment/templates-api>.spec.template.spec.containers[0].image = "docker.io/keboola/templates-api:79dc4d8-1725532567";
+<Deployment/templates-api>.spec.template.spec.containers[0].image = "docker.io/keboola/templates-api:61596e1-1725532852";
@@ -747,3 +747,3 @@
-<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:79dc4d8-1725532567";
-<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:79dc4d8-1725532567";
-<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:79dc4d8-1725532567";
+<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:61596e1-1725532852";
+<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:61596e1-1725532852";
+<Pod/templates-api-<hash>>.spec.containers[0].image = "docker.io/keboola/templates-api:61596e1-1725532852";
@@ -1157,0 +1158,3 @@
+<Pod/templates-api-etcd-0>.spec.containers[0].env[25] = {};
+<Pod/templates-api-etcd-0>.spec.containers[0].env[25].name = "ETCD_MAX_TXN_OPS";
+<Pod/templates-api-etcd-0>.spec.containers[0].env[25].value = "1000";
@@ -1414 +1417 @@
-<ReplicaSet/templates-api-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/templates-api:79dc4d8-1725532567";
+<ReplicaSet/templates-api-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/templates-api:61596e1-1725532852";
@@ -1485,0 +1489,12 @@
+<Secret/sh.helm.release.v1.templates-api-etcd.v2> = {};
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.apiVersion = "v1";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.data = {};
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.kind = "Secret";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata = {};
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.labels = {};
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.labels.name = "templates-api-etcd";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.labels.owner = "helm";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.labels.version = "2";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.name = "sh.helm.release.v1.templates-api-etcd.v2";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.metadata.namespace = "templates-api";
+<Secret/sh.helm.release.v1.templates-api-etcd.v2>.type = "helm.sh/release.v1";
@@ -1719,0 +1735,3 @@
+<StatefulSet/templates-api-etcd>.spec.template.spec.containers[0].env[25] = {};
+<StatefulSet/templates-api-etcd>.spec.template.spec.containers[0].env[25].name = "ETCD_MAX_TXN_OPS";
+<StatefulSet/templates-api-etcd>.spec.template.spec.containers[0].env[25].value = "1000";


(see artifacts in the Github Action for more information)

Copy link

github-actions bot commented Sep 5, 2024

Stream Kubernetes Diff [CI]

Between base 79dc4d8 ⬅️ head 61596e1.

Expand
--- /tmp/artifacts/test-k8s-state.old.json.processed.kv	2024-09-05 10:51:07.652652841 +0000
+++ /tmp/artifacts/test-k8s-state.new.json.processed.kv	2024-09-05 10:51:08.260650510 +0000
@@ -13 +13 @@
-<ConfigMap/stream-config>.data["config.yaml"] = "###############################################################################################...
+<ConfigMap/stream-config>.data["config.yaml"] = "###############################################################################################...
@@ -197 +197 @@
-<Deployment/stream-api>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Deployment/stream-api>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -358 +358 @@
-<Deployment/stream-http-source>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Deployment/stream-http-source>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -516 +516 @@
-<Deployment/stream-storage-coordinator>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Deployment/stream-storage-coordinator>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -593 +593 @@
-<Endpoints/stream-etcd-headless>.subsets[0].addresses[0].hostname = "stream-etcd-0";
+<Endpoints/stream-etcd-headless>.subsets[0].addresses[0].hostname = "stream-etcd-1";
@@ -597 +597 @@
-<Endpoints/stream-etcd-headless>.subsets[0].addresses[0].targetRef.name = "stream-etcd-0";
+<Endpoints/stream-etcd-headless>.subsets[0].addresses[0].targetRef.name = "stream-etcd-1";
@@ -600 +600 @@
-<Endpoints/stream-etcd-headless>.subsets[0].addresses[1].hostname = "stream-etcd-1";
+<Endpoints/stream-etcd-headless>.subsets[0].addresses[1].hostname = "stream-etcd-0";
@@ -604 +604 @@
-<Endpoints/stream-etcd-headless>.subsets[0].addresses[1].targetRef.name = "stream-etcd-1";
+<Endpoints/stream-etcd-headless>.subsets[0].addresses[1].targetRef.name = "stream-etcd-0";
@@ -637 +637 @@
-<Endpoints/stream-etcd>.subsets[0].addresses[0].targetRef.name = "stream-etcd-0";
+<Endpoints/stream-etcd>.subsets[0].addresses[0].targetRef.name = "stream-etcd-1";
@@ -643 +643 @@
-<Endpoints/stream-etcd>.subsets[0].addresses[1].targetRef.name = "stream-etcd-1";
+<Endpoints/stream-etcd>.subsets[0].addresses[1].targetRef.name = "stream-etcd-0";
@@ -1241,2 +1241,2 @@
-<Pod/stream-api-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
-<Pod/stream-api-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-api-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
+<Pod/stream-api-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -1561 +1561 @@
-<Pod/stream-etcd-0>.spec.containers[0].env[21].value = "new";
+<Pod/stream-etcd-0>.spec.containers[0].env[21].value = "existing";
@@ -1579,0 +1580,3 @@
+<Pod/stream-etcd-0>.spec.containers[0].env[28] = {};
+<Pod/stream-etcd-0>.spec.containers[0].env[28].name = "ETCD_MAX_TXN_OPS";
+<Pod/stream-etcd-0>.spec.containers[0].env[28].value = "1000";
@@ -1803 +1806 @@
-<Pod/stream-etcd-1>.spec.containers[0].env[21].value = "new";
+<Pod/stream-etcd-1>.spec.containers[0].env[21].value = "existing";
@@ -1821,0 +1825,3 @@
+<Pod/stream-etcd-1>.spec.containers[0].env[28] = {};
+<Pod/stream-etcd-1>.spec.containers[0].env[28].name = "ETCD_MAX_TXN_OPS";
+<Pod/stream-etcd-1>.spec.containers[0].env[28].value = "1000";
@@ -1956,0 +1963,394 @@
+<Pod/stream-http-source-6667985cf5-47lf7> = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.kind = "Pod";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.deletionGracePeriodSeconds = 60;
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.generateName = "stream-http-source-6667985cf5-";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels.app = "stream-http-source";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels.releaseId = "dev-my-release";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels["pod-template-hash"] = "6667985cf5";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels["stream-etcd-client"] = "true";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels["tags.datadoghq.com/env"] = "local-machine";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels["tags.datadoghq.com/service"] = "stream";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.labels["tags.datadoghq.com/version"] = "dev-my-release";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.name = "stream-http-source-6667985cf5-47lf7";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.namespace = "stream";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0].apiVersion = "apps/v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0].blockOwnerDeletion = true;
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0].controller = true;
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0].kind = "ReplicaSet";
+<Pod/stream-http-source-6667985cf5-47lf7>.metadata.ownerReferences[0].name = "stream-http-source-6667985cf5";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].args = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].args[0] = "--config-file";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].args[1] = "/stream/config/config.yaml";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].args[2] = "http-source";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].command = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].command[0] = "/app/service";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[0].name = "GOMEMLIMIT";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[0].value = "900MiB";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[1].name = "STREAM_SOURCE_HTTP_LISTEN";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[1].value = "0.0.0.0:7000";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[2] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[2].name = "STREAM_METRICS_LISTEN";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[2].value = "0.0.0.0:9000";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3].name = "STREAM_NODE_ID";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[3].valueFrom.fieldRef.fieldPath = "metadata.name";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[4] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[4].name = "STREAM_HOSTNAME";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[4].value = "localhost";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5].name = "STREAM_ETCD_PASSWORD";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5].valueFrom.secretKeyRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5].valueFrom.secretKeyRef.key = "etcd-root-password";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[5].valueFrom.secretKeyRef.name = "stream-etcd";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6].name = "DD_AGENT_HOST";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[6].valueFrom.fieldRef.fieldPath = "status.hostIP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7].name = "DD_ENV";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[7].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/env']";�...
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8].name = "DD_SERVICE";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[8].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/service'...
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9].name = "DD_VERSION";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].env[9].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/version'...
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].imagePullPolicy = "IfNotPresent";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.failureThreshold = 3;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0].value = "KubernetesLivenessProbe";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.periodSeconds = 10;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].livenessProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].name = "stream-http-source";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[0].containerPort = 7000;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[0].protocol = "TCP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[1].containerPort = 9000;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].ports[1].protocol = "TCP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.failureThreshold = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0].value = "KubernetesReadinessProbe";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.periodSeconds = 10;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].readinessProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].resources = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.failureThreshold = 30;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.httpHeaders[0].value = "KubernetesStartupProbe";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.initialDelaySeconds = 10;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.periodSeconds = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].startupProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].terminationMessagePath = "/dev/termination-log";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].terminationMessagePolicy = "File";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[0].mountPath = "/stream/config";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[0].readOnly = true;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[1].mountPath = "/var/run/secrets/kubernetes.io/serviceaccount";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.containers[0].volumeMounts[1].readOnly = true;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.dnsPolicy = "ClusterFirst";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.enableServiceLinks = true;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.nodeName = "stream";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.nodeSelector = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.nodeSelector.nodepool = "main";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.preemptionPolicy = "PreemptLowerPriority";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.priority = 0;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.restartPolicy = "Always";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.schedulerName = "default-scheduler";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.securityContext = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.serviceAccount = "default";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.serviceAccountName = "default";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.terminationGracePeriodSeconds = 60;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[0].effect = "NoExecute";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[0].key = "node.kubernetes.io/not-ready";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[0].operator = "Exists";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[0].tolerationSeconds = 300;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[1].effect = "NoExecute";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[1].key = "node.kubernetes.io/unreachable";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[1].operator = "Exists";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.tolerations[1].tolerationSeconds = 300;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.defaultMode = 420;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.items = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.items[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.items[0].key = "config.yaml";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.items[0].path = "config.yaml";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[0].configMap.name = "stream-config";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.defaultMode = 420;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[0].serviceAccountToken = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[0].serviceAccountToken.expirationSeconds = 3607;
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[0].serviceAccountToken.path = "token";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap.items = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap.items[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap.items[0].key = "ca.crt";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap.items[0].path = "ca.crt";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[1].configMap.name = "kube-root-ca.crt";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items = [];
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items[0] = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef = {};
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef.fieldPath = "metadata.namespace";�[...
+<Pod/stream-http-source-6667985cf5-47lf7>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].path = "namespace";
+<Pod/stream-http-source-6667985cf5-kb9wp> = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.kind = "Pod";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.deletionGracePeriodSeconds = 60;
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.generateName = "stream-http-source-6667985cf5-";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels.app = "stream-http-source";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels.releaseId = "dev-my-release";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels["pod-template-hash"] = "6667985cf5";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels["stream-etcd-client"] = "true";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels["tags.datadoghq.com/env"] = "local-machine";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels["tags.datadoghq.com/service"] = "stream";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.labels["tags.datadoghq.com/version"] = "dev-my-release";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.name = "stream-http-source-6667985cf5-kb9wp";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.namespace = "stream";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0].apiVersion = "apps/v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0].blockOwnerDeletion = true;
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0].controller = true;
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0].kind = "ReplicaSet";
+<Pod/stream-http-source-6667985cf5-kb9wp>.metadata.ownerReferences[0].name = "stream-http-source-6667985cf5";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].args = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].args[0] = "--config-file";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].args[1] = "/stream/config/config.yaml";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].args[2] = "http-source";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].command = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].command[0] = "/app/service";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[0].name = "GOMEMLIMIT";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[0].value = "900MiB";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[1].name = "STREAM_SOURCE_HTTP_LISTEN";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[1].value = "0.0.0.0:7000";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[2] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[2].name = "STREAM_METRICS_LISTEN";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[2].value = "0.0.0.0:9000";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3].name = "STREAM_NODE_ID";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[3].valueFrom.fieldRef.fieldPath = "metadata.name";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[4] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[4].name = "STREAM_HOSTNAME";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[4].value = "localhost";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5].name = "STREAM_ETCD_PASSWORD";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5].valueFrom.secretKeyRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5].valueFrom.secretKeyRef.key = "etcd-root-password";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[5].valueFrom.secretKeyRef.name = "stream-etcd";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6].name = "DD_AGENT_HOST";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[6].valueFrom.fieldRef.fieldPath = "status.hostIP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7].name = "DD_ENV";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[7].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/env']";�...
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8].name = "DD_SERVICE";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[8].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/service'...
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9].name = "DD_VERSION";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9].valueFrom = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9].valueFrom.fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9].valueFrom.fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].env[9].valueFrom.fieldRef.fieldPath = "metadata.labels['tags.datadoghq.com/version'...
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].imagePullPolicy = "IfNotPresent";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.failureThreshold = 3;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.httpHeaders[0].value = "KubernetesLivenessProbe";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.periodSeconds = 10;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].livenessProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].name = "stream-http-source";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[0].containerPort = 7000;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[0].protocol = "TCP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[1].containerPort = 9000;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].ports[1].protocol = "TCP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.failureThreshold = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.httpHeaders[0].value = "KubernetesReadinessProbe";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.periodSeconds = 10;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].readinessProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].resources = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.failureThreshold = 30;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.httpHeaders = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.httpHeaders[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.httpHeaders[0].name = "Host";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.httpHeaders[0].value = "KubernetesStartupProbe";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.path = "/health-check";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.port = 7000;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.httpGet.scheme = "HTTP";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.initialDelaySeconds = 10;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.periodSeconds = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.successThreshold = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].startupProbe.timeoutSeconds = 1;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].terminationMessagePath = "/dev/termination-log";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].terminationMessagePolicy = "File";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[0].mountPath = "/stream/config";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[0].readOnly = true;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[1].mountPath = "/var/run/secrets/kubernetes.io/serviceaccount";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.containers[0].volumeMounts[1].readOnly = true;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.dnsPolicy = "ClusterFirst";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.enableServiceLinks = true;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.nodeName = "stream";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.nodeSelector = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.nodeSelector.nodepool = "main";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.preemptionPolicy = "PreemptLowerPriority";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.priority = 0;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.restartPolicy = "Always";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.schedulerName = "default-scheduler";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.securityContext = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.serviceAccount = "default";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.serviceAccountName = "default";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.terminationGracePeriodSeconds = 60;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[0].effect = "NoExecute";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[0].key = "node.kubernetes.io/not-ready";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[0].operator = "Exists";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[0].tolerationSeconds = 300;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[1].effect = "NoExecute";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[1].key = "node.kubernetes.io/unreachable";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[1].operator = "Exists";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.tolerations[1].tolerationSeconds = 300;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.defaultMode = 420;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.items = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.items[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.items[0].key = "config.yaml";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.items[0].path = "config.yaml";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[0].configMap.name = "stream-config";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.defaultMode = 420;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[0].serviceAccountToken = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[0].serviceAccountToken.expirationSeconds = 3607;
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[0].serviceAccountToken.path = "token";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap.items = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap.items[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap.items[0].key = "ca.crt";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap.items[0].path = "ca.crt";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[1].configMap.name = "kube-root-ca.crt";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items = [];
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items[0] = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef = {};
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef.apiVersion = "v1";
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].fieldRef.fieldPath = "metadata.namespace";�[...
+<Pod/stream-http-source-6667985cf5-kb9wp>.spec.volumes[1].projected.sources[2].downwardAPI.items[0].path = "namespace";
@@ -2117,2 +2517,2 @@
-<Pod/stream-http-source-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
-<Pod/stream-http-source-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-http-source-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
+<Pod/stream-http-source-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -2503,2 +2903,2 @@
-<Pod/stream-storage-coordinator-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
-<Pod/stream-storage-coordinator-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-storage-coordinator-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
+<Pod/stream-storage-coordinator-<hash>>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -2733 +3133 @@
-<Pod/stream-storage-writer-reader-0>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-storage-writer-reader-0>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -2817 +3217 @@
-<Pod/stream-storage-writer-reader-0>.spec.containers[1].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-storage-writer-reader-0>.spec.containers[1].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -2991 +3391 @@
-<Pod/stream-storage-writer-reader-1>.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-storage-writer-reader-1>.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -3075 +3475 @@
-<Pod/stream-storage-writer-reader-1>.spec.containers[1].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<Pod/stream-storage-writer-reader-1>.spec.containers[1].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -3320 +3720 @@
-<ReplicaSet/stream-api-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<ReplicaSet/stream-api-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -3488 +3888 @@
-<ReplicaSet/stream-http-source-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<ReplicaSet/stream-http-source-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -3653 +4053 @@
-<ReplicaSet/stream-storage-coordinator-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<ReplicaSet/stream-storage-coordinator-<hash>>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -3694,0 +4095,12 @@
+<Secret/sh.helm.release.v1.stream-etcd.v2> = {};
+<Secret/sh.helm.release.v1.stream-etcd.v2>.apiVersion = "v1";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.data = {};
+<Secret/sh.helm.release.v1.stream-etcd.v2>.kind = "Secret";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata = {};
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.labels = {};
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.labels.name = "stream-etcd";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.labels.owner = "helm";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.labels.version = "2";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.name = "sh.helm.release.v1.stream-etcd.v2";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.metadata.namespace = "stream";
+<Secret/sh.helm.release.v1.stream-etcd.v2>.type = "helm.sh/release.v1";
@@ -3990 +4402 @@
-<StatefulSet/stream-etcd>.spec.template.spec.containers[0].env[21].value = "new";
+<StatefulSet/stream-etcd>.spec.template.spec.containers[0].env[21].value = "existing";
@@ -4008,0 +4421,3 @@
+<StatefulSet/stream-etcd>.spec.template.spec.containers[0].env[28] = {};
+<StatefulSet/stream-etcd>.spec.template.spec.containers[0].env[28].name = "ETCD_MAX_TXN_OPS";
+<StatefulSet/stream-etcd>.spec.template.spec.containers[0].env[28].value = "1000";
@@ -4230 +4645 @@
-<StatefulSet/stream-storage-writer-reader>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<StatefulSet/stream-storage-writer-reader>.spec.template.spec.containers[0].image = "docker.io/keboola/stream-api:61596e1-1725533000";
@@ -4311 +4726 @@
-<StatefulSet/stream-storage-writer-reader>.spec.template.spec.containers[1].image = "docker.io/keboola/stream-api:79dc4d8-1725532568";
+<StatefulSet/stream-storage-writer-reader>.spec.template.spec.containers[1].image = "docker.io/keboola/stream-api:61596e1-1725533000";


(see artifacts in the Github Action for more information)

@jachym-tousek-keboola jachym-tousek-keboola merged commit f1e5576 into main Sep 5, 2024
16 checks passed
@jachym-tousek-keboola jachym-tousek-keboola deleted the jt-stream-benchmark-improvements branch September 5, 2024 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants