diff --git a/installers/charm/lcm/src/charm.py b/installers/charm/lcm/src/charm.py
index 52bc5cf..10257ba 100755
--- a/installers/charm/lcm/src/charm.py
+++ b/installers/charm/lcm/src/charm.py
@@ -42,14 +42,14 @@
 
 
 class ConfigModel(ModelValidator):
-    vca_host: str
-    vca_port: int
-    vca_user: str
-    vca_secret: str
-    vca_pubkey: str
-    vca_cacert: str
-    vca_cloud: str
-    vca_k8s_cloud: str
+    vca_host: Optional[str]
+    vca_port: Optional[int]
+    vca_user: Optional[str]
+    vca_secret: Optional[str]
+    vca_pubkey: Optional[str]
+    vca_cacert: Optional[str]
+    vca_cloud: Optional[str]
+    vca_k8s_cloud: Optional[str]
     database_commonkey: str
     mongodb_uri: Optional[str]
     log_level: str
@@ -190,29 +190,32 @@
                 "OSMLCM_STORAGE_PATH": "/app/storage",
                 "OSMLCM_STORAGE_COLLECTION": "files",
                 "OSMLCM_STORAGE_URI": self.mongodb_client.connection_string,
-                # VCA configuration
-                "OSMLCM_VCA_HOST": config.vca_host,
-                "OSMLCM_VCA_PORT": config.vca_port,
-                "OSMLCM_VCA_USER": config.vca_user,
-                "OSMLCM_VCA_PUBKEY": config.vca_pubkey,
-                "OSMLCM_VCA_SECRET": config.vca_secret,
-                "OSMLCM_VCA_CACERT": config.vca_cacert,
-                "OSMLCM_VCA_CLOUD": config.vca_cloud,
-                "OSMLCM_VCA_K8S_CLOUD": config.vca_k8s_cloud,
             }
         )
-        if config.vca_apiproxy:
-            container_builder.add_env("OSMLCM_VCA_APIPROXY", config.vca_apiproxy)
+        if config.vca_host:
+            container_builder.add_envs(
+                {
+                    # VCA configuration
+                    "OSMLCM_VCA_HOST": config.vca_host,
+                    "OSMLCM_VCA_PORT": config.vca_port,
+                    "OSMLCM_VCA_USER": config.vca_user,
+                    "OSMLCM_VCA_PUBKEY": config.vca_pubkey,
+                    "OSMLCM_VCA_SECRET": config.vca_secret,
+                    "OSMLCM_VCA_CACERT": config.vca_cacert,
+                    "OSMLCM_VCA_CLOUD": config.vca_cloud,
+                    "OSMLCM_VCA_K8S_CLOUD": config.vca_k8s_cloud,
+                }
+            )
+            if config.vca_apiproxy:
+                container_builder.add_env("OSMLCM_VCA_APIPROXY", config.vca_apiproxy)
 
-        model_config_envs = {
-            f"OSMLCM_{k.upper()}": v
-            for k, v in self.config.items()
-            if k.startswith("vca_model_config")
-        }
-
-        if model_config_envs:
-            container_builder.add_envs(model_config_envs)
-
+            model_config_envs = {
+                f"OSMLCM_{k.upper()}": v
+                for k, v in self.config.items()
+                if k.startswith("vca_model_config")
+            }
+            if model_config_envs:
+                container_builder.add_envs(model_config_envs)
         container = container_builder.build()
 
         # Add container to pod spec
