Adding security_context flag to charms
[osm/devops.git] / installers / charm / kafka / src / charm.py
index 763d416..5be3404 100755 (executable)
@@ -43,6 +43,7 @@ KAFKA_RESERVED_BROKER_MAX_ID = "999999999"
 class ConfigModel(ModelValidator):
     num_partitions: int
     image_pull_policy: str
+    security_context: bool
 
     @validator("image_pull_policy")
     def validate_image_pull_policy(cls, v):
@@ -100,11 +101,16 @@ class KafkaCharm(CharmedOsmBase):
         self._check_missing_dependencies()
 
         # Create Builder for the PodSpec
-        pod_spec_builder = PodSpecV3Builder()
+        pod_spec_builder = PodSpecV3Builder(
+            enable_security_context=config.security_context
+        )
 
         # Build Container
         container_builder = ContainerV3Builder(
-            self.app.name, image_info, config.image_pull_policy
+            self.app.name,
+            image_info,
+            config.image_pull_policy,
+            run_as_non_root=config.security_context,
         )
 
         container_builder.add_port(name="kafka", port=KAFKA_PORT)