Skip to content

Commit

Permalink
add security context support for kibana index job (#2175)
Browse files Browse the repository at this point in the history
* add security context support for kibana index job

* update test cases and common cleanups
  • Loading branch information
pgvishnuram authored and rishkarajgi committed Apr 8, 2024
1 parent 368dfa7 commit 385f524
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 9 deletions.
1 change: 1 addition & 0 deletions charts/kibana/templates/kibana-default-index-cronjob.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ spec:
image: {{ template "kibana.init.image" . }}
imagePullPolicy: {{ .Values.images.init.pullPolicy }}
resources: {{ toYaml .Values.resources | nindent 12 }}
securityContext: {{ template "kibana.securityContext" . }}
command:
- "/bin/sh"
- -ec
Expand Down
50 changes: 41 additions & 9 deletions tests/chart_tests/test_kibana.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@
from tests.chart_tests.helm_template_generator import render_chart


def common_kibana_cronjob_test(docs):
"""Test common asserts for kibana index cronjob."""
assert len(docs) == 1
doc = docs[0]
assert doc["kind"] == "Job"
assert doc["apiVersion"] == "batch/v1"
assert doc["metadata"]["name"] == "release-name-kibana-default-index"


@pytest.mark.parametrize(
"kube_version",
supported_k8s_versions,
Expand All @@ -18,11 +27,8 @@ def test_kibana_index_defaults(self, kube_version):
"charts/kibana/templates/kibana-default-index-cronjob.yaml",
],
)
assert len(docs) == 1
common_kibana_cronjob_test(docs)
doc = docs[0]
assert doc["kind"] == "Job"
assert doc["apiVersion"] == "batch/v1"
assert doc["metadata"]["name"] == "release-name-kibana-default-index"
assert (
"fluentd.*"
in doc["spec"]["template"]["spec"]["containers"][0]["command"][2]
Expand All @@ -37,12 +43,8 @@ def test_kibana_index_with_logging_sidecar(self, kube_version):
"charts/kibana/templates/kibana-default-index-cronjob.yaml",
],
)

assert len(docs) == 1
common_kibana_cronjob_test(docs)
doc = docs[0]
assert doc["kind"] == "Job"
assert doc["apiVersion"] == "batch/v1"
assert doc["metadata"]["name"] == "release-name-kibana-default-index"
assert (
"vector.*" in doc["spec"]["template"]["spec"]["containers"][0]["command"][2]
)
Expand Down Expand Up @@ -85,3 +87,33 @@ def test_kibana_index_network_policy_enabled(self, kube_version):
] == [doc["spec"]["ingress"][1]["from"][0]]

assert [{"port": 5601, "protocol": "TCP"}] == doc["spec"]["ingress"][1]["ports"]

def test_kibana_index_securitycontext_defaults(self, kube_version):
"""Test kibana Service with index defaults."""
docs = render_chart(
kube_version=kube_version,
values={},
show_only=[
"charts/kibana/templates/kibana-default-index-cronjob.yaml",
],
)
common_kibana_cronjob_test(docs)
doc = docs[0]
assert {"runAsNonRoot": True, "runAsUser": 1000} == doc["spec"]["template"][
"spec"
]["containers"][0]["securityContext"]

def test_kibana_index_securitycontext_with_openshiftEnabled(self, kube_version):
"""Test kibana Service with index defaults."""
docs = render_chart(
kube_version=kube_version,
values={"global": {"openshiftEnabled": True}},
show_only=[
"charts/kibana/templates/kibana-default-index-cronjob.yaml",
],
)
common_kibana_cronjob_test(docs)
doc = docs[0]
assert {"runAsNonRoot": True} == doc["spec"]["template"]["spec"]["containers"][
0
]["securityContext"]

0 comments on commit 385f524

Please sign in to comment.