diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java b/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java
index 9c92ef75867231e02644baa68d702f3b5bec88ff..b1c89db562d71d0e018476a2ab195839667030fd 100644
--- a/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java
+++ b/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java
@@ -20,8 +20,6 @@ public class GeneralExceptionHandler implements ExceptionHandlerProvider {
     public Throwable transform(Throwable t) {
         if (t instanceof ExternalServiceFailureException) {
             return new StatusRuntimeException(Status.INTERNAL.withDescription(t.getMessage()));
-        } else if (t instanceof NewException) {
-            return new StatusRuntimeException(Status.UNIMPLEMENTED.withDescription(t.getMessage()));
         } else {
             return ExceptionHandlerProvider.toStatusException(t, true);
         }
diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java b/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java
deleted file mode 100644
index 96010e9c483b2640bab670bee738ea9d703fabc2..0000000000000000000000000000000000000000
--- a/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.etsi.tfs.policy.exception;
-
-public class NewException extends RuntimeException {
-
-    public NewException(String message, Exception e) {
-        super(message, e);
-    }
-
-    public NewException(String message) {
-        super(message);
-    }
-}
diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java
index 9784841305bbc82395e5262fcebbb100330157a3..1247f9c0f1ece926e2ddfa8b15628162cd8d229c 100644
--- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java
+++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java
@@ -9,7 +9,7 @@ import jakarta.inject.Inject;
 import java.util.List;
 import org.etsi.tfs.policy.context.ContextService;
 import org.etsi.tfs.policy.context.model.ServiceId;
-import org.etsi.tfs.policy.exception.NewException;
+import org.etsi.tfs.policy.exception.ExternalServiceFailureException;
 import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor;
 import org.etsi.tfs.policy.policy.model.PolicyRule;
 import org.etsi.tfs.policy.policy.model.PolicyRuleBasic;
@@ -21,7 +21,6 @@ import org.jboss.logging.Logger;
 
 @ApplicationScoped
 public class AddPolicyServiceImpl {
-    private static final Logger LOGGER = Logger.getLogger(AddPolicyServiceImpl.class);
 
     @Inject private CommonPolicyServiceImpl commonPolicyService;
     @Inject private CommonAlarmService commonAlarmService;
@@ -65,7 +64,7 @@ public class AddPolicyServiceImpl {
         return contextService
                 .setPolicyRule(policyRule)
                 .onFailure()
-                .transform(failure -> new NewException(failure.getMessage()))
+                .transform(failure -> new ExternalServiceFailureException(failure.getMessage()))
                 .onItem()
                 .transform(
                         policyId -> {
diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e30bc89af310fa5f8567e0b9fbf3e7d1cbf88b82
--- /dev/null
+++ b/src/policy/target/kubernetes/kubernetes.yml
@@ -0,0 +1,133 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+  annotations:
+    app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299
+    app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000
+    prometheus.io/scrape: "true"
+    prometheus.io/path: /q/metrics
+    prometheus.io/port: "8080"
+    prometheus.io/scheme: http
+  labels:
+    app.kubernetes.io/name: policyservice
+    app.kubernetes.io/version: 0.1.0
+    app: policyservice
+    app.kubernetes.io/managed-by: quarkus
+  name: policyservice
+spec:
+  ports:
+    - name: https
+      port: 443
+      protocol: TCP
+      targetPort: 8443
+    - name: http
+      port: 9192
+      protocol: TCP
+      targetPort: 8080
+    - name: grpc
+      port: 6060
+      protocol: TCP
+      targetPort: 6060
+  selector:
+    app.kubernetes.io/name: policyservice
+  type: ClusterIP
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  annotations:
+    app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299
+    app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000
+    prometheus.io/scrape: "true"
+    prometheus.io/path: /q/metrics
+    prometheus.io/port: "8080"
+    prometheus.io/scheme: http
+  labels:
+    app: policyservice
+    app.kubernetes.io/managed-by: quarkus
+    app.kubernetes.io/name: policyservice
+    app.kubernetes.io/version: 0.1.0
+  name: policyservice
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: policyservice
+  template:
+    metadata:
+      annotations:
+        app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299
+        app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /q/metrics
+        prometheus.io/port: "8080"
+        prometheus.io/scheme: http
+      labels:
+        app: policyservice
+        app.kubernetes.io/managed-by: quarkus
+        app.kubernetes.io/name: policyservice
+        app.kubernetes.io/version: 0.1.0
+    spec:
+      containers:
+        - env:
+            - name: KUBERNETES_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: CONTEXT_SERVICE_HOST
+              value: contextservice
+            - name: MONITORING_SERVICE_HOST
+              value: monitoringservice
+            - name: SERVICE_SERVICE_HOST
+              value: serviceservice
+          image: labs.etsi.org:5050/tfs/controller/policy:0.1.0
+          imagePullPolicy: Always
+          livenessProbe:
+            failureThreshold: 3
+            httpGet:
+              path: /q/health/live
+              port: 8080
+              scheme: HTTP
+            initialDelaySeconds: 2
+            periodSeconds: 10
+            successThreshold: 1
+            timeoutSeconds: 10
+          name: policyservice
+          ports:
+            - containerPort: 8443
+              name: https
+              protocol: TCP
+            - containerPort: 8080
+              name: http
+              protocol: TCP
+            - containerPort: 6060
+              name: grpc
+              protocol: TCP
+          readinessProbe:
+            failureThreshold: 3
+            httpGet:
+              path: /q/health/ready
+              port: 8080
+              scheme: HTTP
+            initialDelaySeconds: 2
+            periodSeconds: 10
+            successThreshold: 1
+            timeoutSeconds: 10
+          resources:
+            limits:
+              cpu: 500m
+              memory: 2048Mi
+            requests:
+              cpu: 50m
+              memory: 512Mi
+          startupProbe:
+            failureThreshold: 3
+            httpGet:
+              path: /q/health/started
+              port: 8080
+              scheme: HTTP
+            initialDelaySeconds: 5
+            periodSeconds: 10
+            successThreshold: 1
+            timeoutSeconds: 10