mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-06-26 22:40:40 +08:00
feat: k8s
This commit is contained in:
parent
748d783d36
commit
715636b305
@ -5,7 +5,7 @@ metadata:
|
|||||||
name: service-reader
|
name: service-reader
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["services", "endpoints"]
|
resources: ["services", "endpoints", "pods"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
|
|
||||||
---
|
---
|
19
k8s/deployment/docker-secret.yml
Normal file
19
k8s/deployment/docker-secret.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: docker-secret
|
||||||
|
namespace: default
|
||||||
|
type: kubernetes.io/dockerconfigjson
|
||||||
|
data:
|
||||||
|
# {
|
||||||
|
# "auths": {
|
||||||
|
# "your.registry.com": {
|
||||||
|
# "username": "username",
|
||||||
|
# "password": "psw",
|
||||||
|
# "email": "openim@example.com",
|
||||||
|
# "auth": "dXNlcm5hbWU6cHN3"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
#}
|
||||||
|
# Base64 encoded .docerconfigjson content
|
||||||
|
.dockerconfigjson: "ewogICJhdXRocyI6IHsKICAgICJ5b3VyLnJlZ2lzdHJ5LmNvbSI6IHsKICAgICAgInVzZXJuYW1lIjogInVzZXJuYW1lIiwKICAgICAgInBhc3N3b3JkIjogInBzdyIsCiAgICAgICJlbWFpbCI6ICAgICJvcGVuaW1AZXhhbXBsZS5jb20iLAogICAgICAiYXV0aCI6ICAgICAiZFhObGNtNWhiV1U2Y0hOMyIKICAgIH0KICB9Cn0="
|
@ -3,23 +3,24 @@ kind: Ingress
|
|||||||
metadata:
|
metadata:
|
||||||
name: openim-ingress
|
name: openim-ingress
|
||||||
annotations:
|
annotations:
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: openim-nginx
|
ingressClassName: nginx
|
||||||
rules:
|
rules:
|
||||||
- http:
|
- host: openim-api.localtest.me
|
||||||
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /openim-api
|
- path: /api/(.*)
|
||||||
pathType: Prefix
|
pathType: ImplementationSpecific
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: openim-api-service
|
name: openim-api-service
|
||||||
port:
|
port:
|
||||||
number: 10002
|
number: 10002
|
||||||
- path: /openim-msggateway
|
- path: /msg_gateway/(.*)
|
||||||
pathType: Prefix
|
pathType: ImplementationSpecific
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: openim-msggateway-service
|
name: messagegateway-rpc-service
|
||||||
port:
|
port:
|
||||||
number: 10001
|
number: 10001
|
35
k8s/deployment/https-ingress.yml
Normal file
35
k8s/deployment/https-ingress.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# HTTPS Ingress (TLS + cert-manager)
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: openim-ingress-https
|
||||||
|
namespace: default
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- openim-api.localtest.me
|
||||||
|
secretName: openim-api-tls
|
||||||
|
rules:
|
||||||
|
- host: openim-api.localtest.me
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /api/(.*)
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: openim-api-service
|
||||||
|
port:
|
||||||
|
number: 10002
|
||||||
|
- path: /msg_gateway/(.*)
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: messagegateway-rpc-service
|
||||||
|
port:
|
||||||
|
number: 10001
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: kafka
|
app: kafka
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: kafka
|
app: kafka
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: minio
|
app: minio
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: minio
|
app: minio
|
@ -4,7 +4,7 @@ metadata:
|
|||||||
name: mongo-statefulset
|
name: mongo-statefulset
|
||||||
spec:
|
spec:
|
||||||
serviceName: "mongo"
|
serviceName: "mongo"
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: mongo
|
app: mongo
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: openim-api
|
name: openim-api
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: openim-api
|
app: openim-api
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: openim-api
|
app: openim-api
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: openim-api-container
|
- name: openim-api-container
|
||||||
image: openim/openim-api:v3.8.3
|
image: openim-api:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: openim-crontask
|
name: openim-crontask
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: crontask
|
app: crontask
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: crontask
|
app: crontask
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: crontask-container
|
- name: crontask-container
|
||||||
image: openim/openim-crontask:v3.8.3
|
image: openim-crontask:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: messagegateway-rpc-server
|
name: messagegateway-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: messagegateway-rpc-server
|
app: messagegateway-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: messagegateway-rpc-server
|
app: messagegateway-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: openim-msggateway-container
|
- name: openim-msggateway-container
|
||||||
image: openim/openim-msggateway:v3.8.3
|
image: openim-msggateway:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -6,7 +6,7 @@ spec:
|
|||||||
selector:
|
selector:
|
||||||
app: messagegateway-rpc-server
|
app: messagegateway-rpc-server
|
||||||
ports:
|
ports:
|
||||||
- name: longConnServer-10001
|
- name: longconnserver-10001
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
port: 10001
|
port: 10001
|
||||||
targetPort: 10001
|
targetPort: 10001
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: openim-msgtransfer-server
|
name: openim-msgtransfer-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: openim-msgtransfer-server
|
app: openim-msgtransfer-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: openim-msgtransfer-server
|
app: openim-msgtransfer-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: openim-msgtransfer-container
|
- name: openim-msgtransfer-container
|
||||||
image: openim/openim-msgtransfer:v3.8.3
|
image: openim-msgtransfer:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: push-rpc-server
|
name: push-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: push-rpc-server
|
app: push-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: push-rpc-server
|
app: push-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: push-rpc-server-container
|
- name: push-rpc-server-container
|
||||||
image: openim/openim-push:v3.8.3
|
image: openim-push:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: auth-rpc-server
|
name: auth-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: auth-rpc-server
|
app: auth-rpc-server
|
||||||
@ -12,10 +12,12 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: auth-rpc-server
|
app: auth-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: auth-rpc-server-container
|
- name: auth-rpc-server-container
|
||||||
image: openim/openim-rpc-auth:v3.8.3
|
image: openim-rpc-auth:test
|
||||||
imagePullPolicy: Never
|
imagePullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: conversation-rpc-server
|
name: conversation-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: conversation-rpc-server
|
app: conversation-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: conversation-rpc-server
|
app: conversation-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: conversation-rpc-server-container
|
- name: conversation-rpc-server-container
|
||||||
image: openim/openim-rpc-conversation:v3.8.3
|
image: openim-rpc-conversation:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: friend-rpc-server
|
name: friend-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: friend-rpc-server
|
app: friend-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: friend-rpc-server
|
app: friend-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: friend-rpc-server-container
|
- name: friend-rpc-server-container
|
||||||
image: openim/openim-rpc-friend:v3.8.3
|
image: openim-rpc-friend:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: group-rpc-server
|
name: group-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: group-rpc-server
|
app: group-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: group-rpc-server
|
app: group-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: group-rpc-server-container
|
- name: group-rpc-server-container
|
||||||
image: openim/openim-rpc-group:v3.8.3
|
image: openim-rpc-group:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: msg-rpc-server
|
name: msg-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: msg-rpc-server
|
app: msg-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: msg-rpc-server
|
app: msg-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: msg-rpc-server-container
|
- name: msg-rpc-server-container
|
||||||
image: openim/openim-rpc-msg:v3.8.3
|
image: openim-rpc-msg:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: third-rpc-server
|
name: third-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: third-rpc-server
|
app: third-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: third-rpc-server
|
app: third-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: third-rpc-server-container
|
- name: third-rpc-server-container
|
||||||
image: openim/openim-rpc-third:v3.8.3
|
image: openim-rpc-third:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -3,7 +3,7 @@ kind: Deployment
|
|||||||
metadata:
|
metadata:
|
||||||
name: user-rpc-server
|
name: user-rpc-server
|
||||||
spec:
|
spec:
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: user-rpc-server
|
app: user-rpc-server
|
||||||
@ -12,9 +12,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: user-rpc-server
|
app: user-rpc-server
|
||||||
spec:
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: docker-secret
|
||||||
containers:
|
containers:
|
||||||
- name: user-rpc-server-container
|
- name: user-rpc-server-container
|
||||||
image: openim/openim-rpc-user:v3.8.3
|
image: openim-rpc-user:test
|
||||||
env:
|
env:
|
||||||
- name: CONFIG_PATH
|
- name: CONFIG_PATH
|
||||||
value: "/config"
|
value: "/config"
|
@ -2,9 +2,11 @@ apiVersion: apps/v1
|
|||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: redis-statefulset
|
name: redis-statefulset
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
spec:
|
spec:
|
||||||
serviceName: "redis"
|
serviceName: "redis-service"
|
||||||
replicas: 2
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: redis
|
app: redis
|
||||||
@ -18,38 +20,31 @@ spec:
|
|||||||
image: redis:7.0.0
|
image: redis:7.0.0
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 6379
|
- containerPort: 6379
|
||||||
|
name: redis
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "Asia/Shanghai"
|
value: "Asia/Shanghai"
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: redis-secret
|
name: openim-redis-secret
|
||||||
key: redis-password
|
key: redis-password
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: redis-data
|
- name: redis-data
|
||||||
mountPath: /data
|
mountPath: /data
|
||||||
command:
|
command:
|
||||||
[
|
- /bin/sh
|
||||||
"/bin/sh",
|
- -c
|
||||||
"-c",
|
- |
|
||||||
'redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes',
|
redis-server \
|
||||||
]
|
--requirepass "$REDIS_PASSWORD" \
|
||||||
volumes:
|
--appendonly yes \
|
||||||
- name: redis-config-volume
|
--dir /data
|
||||||
configMap:
|
volumeClaimTemplates:
|
||||||
name: openim-config
|
- metadata:
|
||||||
- name: redis-data
|
name: redis-data
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: redis-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: redis-pvc
|
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes: ["ReadWriteOnce"]
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 5Gi
|
storage: 5Gi
|
9
k8s/deployment/tls-secret.yml
Normal file
9
k8s/deployment/tls-secret.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: openim-api-tls
|
||||||
|
namespace: default
|
||||||
|
type: kubernetes.io/tls
|
||||||
|
data:
|
||||||
|
tls.crt: <base64-encoded-tls.crt>
|
||||||
|
tls.key: <base64-encoded-tls.key>
|
@ -58,10 +58,9 @@ func (m *MsgGatewayCmd) Exec() error {
|
|||||||
func (m *MsgGatewayCmd) runE() error {
|
func (m *MsgGatewayCmd) runE() error {
|
||||||
m.msgGatewayConfig.Index = config.Index(m.Index())
|
m.msgGatewayConfig.Index = config.Index(m.Index())
|
||||||
rpc := m.msgGatewayConfig.MsgGateway.RPC
|
rpc := m.msgGatewayConfig.MsgGateway.RPC
|
||||||
var prometheus config.Prometheus
|
|
||||||
return startrpc.Start(
|
return startrpc.Start(
|
||||||
m.ctx, &m.msgGatewayConfig.Discovery,
|
m.ctx, &m.msgGatewayConfig.Discovery,
|
||||||
&prometheus,
|
&m.msgGatewayConfig.MsgGateway.Prometheus,
|
||||||
rpc.ListenIP, rpc.RegisterIP,
|
rpc.ListenIP, rpc.RegisterIP,
|
||||||
rpc.AutoSetPorts,
|
rpc.AutoSetPorts,
|
||||||
rpc.Ports, int(m.msgGatewayConfig.Index),
|
rpc.Ports, int(m.msgGatewayConfig.Index),
|
||||||
|
@ -110,9 +110,13 @@ func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) e
|
|||||||
if err := r.initializeLogger(cmdOpts); err != nil {
|
if err := r.initializeLogger(cmdOpts); err != nil {
|
||||||
return errs.WrapMsg(err, "failed to initialize logger")
|
return errs.WrapMsg(err, "failed to initialize logger")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if r.etcdClient != nil {
|
||||||
if err := r.etcdClient.Close(); err != nil {
|
if err := r.etcdClient.Close(); err != nil {
|
||||||
return errs.WrapMsg(err, "failed to close etcd client")
|
return errs.WrapMsg(err, "failed to close etcd client")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user