diff --git a/installers/charm/pol/src/charm.py b/installers/charm/pol/src/charm.py
index 36eb8c6..02c8186 100755
--- a/installers/charm/pol/src/charm.py
+++ b/installers/charm/pol/src/charm.py
@@ -34,6 +34,7 @@
 from opslib.osm.interfaces.mysql import MysqlClient
 from opslib.osm.pod import (
     ContainerV3Builder,
+    PodRestartPolicy,
     PodSpecV3Builder,
 )
 from opslib.osm.validator import ModelValidator, validator
@@ -132,6 +133,21 @@
         # Create Builder for the PodSpec
         pod_spec_builder = PodSpecV3Builder()
 
+        # Add secrets to the pod
+        mongodb_secret_name = f"{self.app.name}-mongodb-secret"
+        pod_spec_builder.add_secret(
+            mongodb_secret_name,
+            {"uri": config.mongodb_uri or self.mongodb_client.connection_string},
+        )
+        mysql_secret_name = f"{self.app.name}-mysql-secret"
+        pod_spec_builder.add_secret(
+            mysql_secret_name,
+            {
+                "uri": config.mysql_uri
+                or self.mysql_client.get_root_uri(DEFAULT_MYSQL_DATABASE)
+            },
+        )
+
         # Build Container
         container_builder = ContainerV3Builder(
             self.app.name, image_info, config.image_pull_policy
@@ -148,14 +164,23 @@
                 "OSMPOL_MESSAGE_PORT": self.kafka_client.port,
                 # Database configuration
                 "OSMPOL_DATABASE_DRIVER": "mongo",
-                "OSMPOL_DATABASE_URI": config.mongodb_uri
-                or self.mongodb_client.connection_string,
-                "OSMPOL_SQL_DATABASE_URI": config.mysql_uri
-                or self.mysql_client.get_root_uri(DEFAULT_MYSQL_DATABASE),
             }
         )
+        container_builder.add_secret_envs(
+            mongodb_secret_name, {"OSMPOL_DATABASE_URI": "uri"}
+        )
+        container_builder.add_secret_envs(
+            mysql_secret_name, {"OSMPOL_SQL_DATABASE_URI": "uri"}
+        )
         container = container_builder.build()
 
+        # Add Pod restart policy
+        restart_policy = PodRestartPolicy()
+        restart_policy.add_secrets(
+            secret_names=(mongodb_secret_name, mysql_secret_name)
+        )
+        pod_spec_builder.set_restart_policy(restart_policy)
+
         # Add container to pod spec
         pod_spec_builder.add_container(container)
 
