kind: Deployment apiVersion: apps/v1 metadata: name: xray namespace: infra-net spec: replicas: 1 selector: matchLabels: app: xray template: metadata: labels: app: xray spec: volumes: - name: config secret: secretName: config-secret containers: - name: xray image: ghcr.io/xtls/xray-core:latest ports: - name: port containerPort: 443 protocol: TCP resources: {} volumeMounts: - name: config readOnly: true mountPath: /etc/xray/config.json subPath: config.json ---------------------------- kind: Service apiVersion: v1 metadata: name: xray namespace: vpn spec: ports: - protocol: TCP port: 443 targetPort: 443 selector: app: xray ---------------------------- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: xray namespace: infra-net annotations: nginx.ingress.kubernetes.io/backend-protocol: HTTPS nginx.ingress.kubernetes.io/ssl-passthrough: 'true' spec: ingressClassName: nginx rules: - host: *.node.dev.cm http: paths: - path: / pathType: Prefix backend: service: name: xray port: number: 443