diff --git a/app/dubboctl/cmd/proxy.go b/app/dubboctl/cmd/proxy.go
index 49dd267..5689dd5 100644
--- a/app/dubboctl/cmd/proxy.go
+++ b/app/dubboctl/cmd/proxy.go
@@ -21,8 +21,10 @@
 	"context"
 	"fmt"
 	"github.com/apache/dubbo-kubernetes/pkg/core"
+	"github.com/apache/dubbo-kubernetes/pkg/core/logger"
 	"github.com/apache/dubbo-kubernetes/pkg/util/proto"
 	"github.com/pkg/errors"
+	"go.uber.org/zap/zapcore"
 	"io"
 	"os"
 	"path/filepath"
@@ -34,14 +36,12 @@
 	"github.com/apache/dubbo-kubernetes/app/dubboctl/internal/envoy"
 	"github.com/apache/dubbo-kubernetes/pkg/config/app/dubboctl"
 	dubbo_cmd "github.com/apache/dubbo-kubernetes/pkg/core/cmd"
-	"github.com/apache/dubbo-kubernetes/pkg/core/logger"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/mesh"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/model/rest"
 	core_xds "github.com/apache/dubbo-kubernetes/pkg/core/xds"
 	dubbo_log "github.com/apache/dubbo-kubernetes/pkg/log"
 	"github.com/apache/dubbo-kubernetes/pkg/util/template"
-	"go.uber.org/zap/zapcore"
 )
 
 var runLog = controlPlaneLog.WithName("proxy")
@@ -91,7 +91,6 @@
 
 func addProxy(opts dubbo_cmd.RunCmdOpts, cmd *cobra.Command) {
 	proxyArgs := DefaultProxyConfig()
-
 	cfg := proxyArgs.Config
 	var proxyResource model.Resource
 	arg := struct {
@@ -107,6 +106,11 @@
 		Short: "Commands related to proxy",
 		Long:  "Commands help user to generate Ingress and Egress",
 		RunE: func(cmd *cobra.Command, args []string) error {
+
+			return nil
+		},
+		PreRunE: func(cmd *cobra.Command, args []string) error {
+			var err error
 			logger.InitCmdSugar(zapcore.AddSync(cmd.OutOrStdout()))
 			level, err := dubbo_log.ParseLogLevel(arg.logLevel)
 			if err != nil {
@@ -124,9 +128,6 @@
 			} else {
 				core.SetLogger(core.NewLogger(level))
 			}
-			return nil
-		},
-		PreRunE: func(cmd *cobra.Command, args []string) error {
 			proxyTypeMap := map[string]model.ResourceType{
 				string(mesh_proto.IngressProxyType): mesh.ZoneIngressType,
 				string(mesh_proto.EgressProxyType):  mesh.ZoneEgressType,
@@ -138,7 +139,7 @@
 				cfg.DataplaneRuntime.EnvoyLogLevel = proxyArgs.LogLevel.String()
 			}
 
-			proxyResource, err := readResource(cmd, &cfg.DataplaneRuntime)
+			proxyResource, err = readResource(cmd, &cfg.DataplaneRuntime)
 			if err != nil {
 				runLog.Error(err, "failed to read policy", "proxyType", cfg.Dataplane.ProxyType)
 				return err
@@ -214,7 +215,7 @@
 	cmd.PersistentFlags().IntVar(&arg.maxBackups, "log-max-retained-files", 1000, "maximum number of the old log files to retain")
 	cmd.PersistentFlags().IntVar(&arg.maxSize, "log-max-size", 100, "maximum size in megabytes of a log file before it gets rotated")
 	cmd.PersistentFlags().IntVar(&arg.maxAge, "log-max-age", 30, "maximum number of days to retain old log files based on the timestamp encoded in their filename")
-
+	cmd.PersistentFlags().StringVar(&cfg.ControlPlane.URL, "cp-address", cfg.ControlPlane.URL, "URL of the Control Plane Dataplane Server. Example: https://localhost:5678")
 	proxyCmd.PersistentFlags().StringVar(&cfg.Dataplane.Name, "name", cfg.Dataplane.Name, "Name of the Dataplane")
 	proxyCmd.PersistentFlags().StringVar(&cfg.Dataplane.Mesh, "mesh", cfg.Dataplane.Mesh, "Mesh that Dataplane belongs to")
 	proxyCmd.PersistentFlags().StringVar(&cfg.Dataplane.ProxyType, "proxy-type", "dataplane", `type of the Dataplane ("dataplane", "ingress")`)
diff --git a/pkg/xds/bootstrap/template_v3.go b/pkg/xds/bootstrap/template_v3.go
index b6151f9..04244a9 100644
--- a/pkg/xds/bootstrap/template_v3.go
+++ b/pkg/xds/bootstrap/template_v3.go
@@ -221,16 +221,16 @@
 	for _, r := range res.StaticResources.Clusters {
 		if r.Name == adsClusterName {
 			transport := &envoy_tls.UpstreamTlsContext{
-				Sni: parameters.XdsHost,
+				Sni:              parameters.XdsHost,
 				CommonTlsContext: &envoy_tls.CommonTlsContext{
-					TlsParams: &envoy_tls.TlsParameters{
-						TlsMinimumProtocolVersion: envoy_tls.TlsParameters_TLSv1_2,
-					},
-					ValidationContextType: &envoy_tls.CommonTlsContext_ValidationContextSdsSecretConfig{
-						//ValidationContextSdsSecretConfig: &envoy_tls.SdsSecretConfig{
-						//	Name: tls.CpValidationCtx,
-						//},
-					},
+					//TlsParams: &envoy_tls.TlsParameters{
+					//	TlsMinimumProtocolVersion: envoy_tls.TlsParameters_TLSv1_2,
+					//},
+					//ValidationContextType: &envoy_tls.CommonTlsContext_ValidationContextSdsSecretConfig{
+					//ValidationContextSdsSecretConfig: &envoy_tls.SdsSecretConfig{
+					//	Name: tls.CpValidationCtx,
+					//},
+					//},
 				},
 			}
 			any, err := util_proto.MarshalAnyDeterministic(transport)
diff --git a/test/proxy/dp-bootstrap.yaml b/test/proxy/dp-bootstrap.yaml
new file mode 100644
index 0000000..77a4cd0
--- /dev/null
+++ b/test/proxy/dp-bootstrap.yaml
@@ -0,0 +1,136 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: dubbo-system
+  labels:
+    dubbo.apache/system-namespace: "true"
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: dubbo-ingress
+  namespace: dubbo-system
+  labels:
+    app: dubbo-ingress
+    app.kubernetes.io/name: dubbo
+    app.kubernetes.io/instance: dubbo
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: dubbo-ingress
+  namespace: dubbo-system
+  labels:
+    app: dubbo-ingress
+    app.kubernetes.io/name: dubbo
+    app.kubernetes.io/instance: dubbo
+spec:
+  type: LoadBalancer
+  ports:
+    - port: 10001
+      protocol: TCP
+      targetPort: 10001
+  selector:
+    app: dubbo-ingress
+    app.kubernetes.io/name: dubbo
+    app.kubernetes.io/instance: dubbo
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: dubbo-ingress
+  namespace: dubbo-system
+  labels:
+    app: dubbo-ingress
+    app.kubernetes.io/name: dubbo
+    app.kubernetes.io/instance: dubbo
+spec:
+  strategy:
+    rollingUpdate:
+      maxSurge: 1
+      maxUnavailable: 0
+  replicas: 1
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: dubbo
+      app.kubernetes.io/instance: dubbo
+      app: dubbo-ingress
+  template:
+    metadata:
+      annotations:
+        dubbo.io/ingress: enabled
+      labels:
+        app: dubbo-ingress
+        app.kubernetes.io/name: dubbo
+        app.kubernetes.io/instance: dubbo
+    spec:
+      hostNetwork: true
+      serviceAccountName: dubbo-ingress
+      automountServiceAccountToken: true
+      nodeSelector:
+        kubernetes.io/os: linux
+      terminationGracePeriodSeconds: 40
+      containers:
+        - name: ingress
+          image: "dubboctl/proxy:latest"
+          imagePullPolicy: IfNotPresent
+          args:
+            - --cp-address=http://127.0.0.1:5678
+          ports:
+            - containerPort: 10001
+          livenessProbe:
+            httpGet:
+              path: "/ready"
+              port: 9901
+            failureThreshold: 12
+            initialDelaySeconds: 60
+            periodSeconds: 5
+            successThreshold: 1
+            timeoutSeconds: 3
+          readinessProbe:
+            httpGet:
+              path: "/ready"
+              port: 9901
+            failureThreshold: 12
+            initialDelaySeconds: 1
+            periodSeconds: 5
+            successThreshold: 1
+            timeoutSeconds: 3
+          resources:
+            limits:
+              cpu: 1000m
+              memory: 512Mi
+            requests:
+              cpu: 50m
+              memory: 64Mi
+          volumeMounts:
+            - name: tmp
+              mountPath: /tmp
+            - name: ingress-config
+              mountPath: /config
+      volumes:
+        - name: tmp
+          emptyDir: { }
+        - name: ingress-config
+          configMap:
+            name: ingress-config
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: ingress-config
+  namespace: dubbo-system
+  labels:
+    app: dubbo-control-plane
+    app.kubernetes.io/name: dubbo
+    app.kubernetes.io/instance: dubbo
+data:
+  ingress.yaml: |
+    type: ZoneIngress
+    name: zoneingress-1
+    networking:
+      address: 192.168.0.1
+      port: 10001
+      advertisedAddress: 10.0.0.1
+      advertisedPort: 10000
\ No newline at end of file
diff --git a/test/proxy/dp.Dockerfile b/test/proxy/dp.Dockerfile
new file mode 100644
index 0000000..60b4c5a
--- /dev/null
+++ b/test/proxy/dp.Dockerfile
@@ -0,0 +1,67 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Build the image binary
+FROM golang:1.20.1-alpine3.17 as builder
+
+
+# Build argments
+ARG TARGETOS=linux
+ARG TARGETARCH=amd64
+ARG LDFLAGS="-s -w"
+ARG BUILD
+
+WORKDIR /go/src/github.com/apache/dubbo-kubernetes
+
+# Copy the Go Modules manifests
+COPY go.mod go.mod
+COPY go.sum go.sum
+
+#RUN if [[ "${PKGNAME}" == "authority" ]]; then apk --update add gcc libc-dev upx ca-certificates && update-ca-certificates; fi
+
+# cache deps before building and copying source so that we don't need to re-download as much
+# and so that source changes don't invalidate our downloaded layer
+RUN if [[ "${BUILD}" != "CI" ]]; then go env -w GOPROXY=https://goproxy.cn,direct; fi
+RUN go env
+RUN go mod download
+
+
+# Copy the go source
+COPY pkg pkg/
+COPY app app/
+COPY api api/
+COPY conf conf/
+COPY deploy deploy/
+COPY generate generate/
+COPY test/proxy/dp test/proxy/dp
+
+# Build
+RUN env
+RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags="${LDFLAGS:- -s -w}" -a -o dubboctl /go/src/github.com/apache/dubbo-kubernetes/app/dubboctl/main.go
+
+FROM envoyproxy/envoy:v1.29.2
+
+
+
+# Build
+WORKDIR /
+ARG PKGNAME
+COPY --from=builder /go/src/github.com/apache/dubbo-kubernetes/dubboctl .
+COPY --from=builder /go/src/github.com/apache/dubbo-kubernetes/test/proxy/dp .
+#COPY --from=builder /go/src/github.com/apache/dubbo-kubernetes/conf/admin.yml .
+#ENV ADMIN_CONFIG_PATH=./admin.yml
+
+
+ENTRYPOINT ["./dubboctl", "proxy","--proxy-type=ingress","--dataplane-file=/ingress.yaml"]
diff --git a/test/proxy/dp/ingress.yaml b/test/proxy/dp/ingress.yaml
new file mode 100644
index 0000000..9fe6d54
--- /dev/null
+++ b/test/proxy/dp/ingress.yaml
@@ -0,0 +1,7 @@
+type: ZoneIngress
+name: zoneingress-1
+networking:
+  address: 192.168.0.1
+  port: 10001
+  advertisedAddress: 10.0.0.1
+  advertisedPort: 10000
\ No newline at end of file
