apiVersion: v1 kind: ConfigMap metadata: name: shadowsocks-rust-client namespace: shadowsocks data: config.json: | { "server": "", "server_port": 8388, "password": "", "local_address": "0.0.0.0", "local_port": 1080, "timeout": 300, "method": "aes-256-gcm" } --- apiVersion: apps/v1 kind: Deployment metadata: labels: name: shadowsocks-rust-client name: shadowsocks-rust-client namespace: shadowsocks spec: replicas: 1 selector: matchLabels: name: shadowsocks-rust-client template: metadata: labels: name: shadowsocks-rust-client spec: containers: - image: ghcr.io/shadowsocks/sslocal-rust:latest imagePullPolicy: IfNotPresent name: shadowsocks-rust-client ports: - containerPort: 1080 name: ss-1080 protocol: TCP volumeMounts: - mountPath: /etc/shadowsocks-rust name: config readOnly: true volumes: - configMap: defaultMode: 420 name: shadowsocks-rust-client name: config --- apiVersion: v1 kind: Service metadata: name: shadowsocks-rust-client namespace: shadowsocks spec: ports: - name: ss-1080 port: 1080 protocol: TCP targetPort: 1080 selector: name: shadowsocks-rust-client type: ClusterIP