Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Optimize openim helm charts to support v3.6 server deployment #89

Merged
merged 6 commits into from
Mar 12, 2024

Conversation

cubxxw
Copy link
Contributor

@cubxxw cubxxw commented Mar 11, 2024

Could you please assist with ensuring that the Helm charts support the release-v3.6 version? Thank you.

test:

root@openim-super:/data/cubxxw/helm-charts# kubectl get pod -n openim 
NAME                                                    READY   STATUS    RESTARTS   AGE
im-kafka-controller-0                                   1/1     Running   0          17m
im-kafka-controller-1                                   1/1     Running   0          17m
im-kafka-controller-2                                   1/1     Running   0          17m
im-minio-6944b69855-bf6kp                               1/1     Running   0          16m
im-mongodb-54cdbf7c49-fcswc                             1/1     Running   0          10m
im-redis-master-0                                       1/1     Running   0          16m
im-redis-replicas-0                                     1/1     Running   0          16m
openimchat-admin-api-7455b79595-h4sqm                   1/1     Running   0          23s
openimchat-admin-rpc-5d84f6b998-hglkd                   1/1     Running   0          23s
openimchat-chat-api-848d7d8ffd-8v4vs                    1/1     Running   0          23s
openimchat-chat-rpc-6565c54b7-t2w4k                     1/1     Running   0          23s
openimserver-openim-api-64bf7b5dfd-khhd7                1/1     Running   0          10m
openimserver-openim-msggateway-0                        1/1     Running   0          10m
openimserver-openim-msggateway-proxy-b4d9876cb-m5rcf    1/1     Running   0          10m
openimserver-openim-msgtransfer-65c6d474d-bwjrm         1/1     Running   0          10m
openimserver-openim-push-69c5cbb97b-qwd5m               1/1     Running   0          10m
openimserver-openim-rpc-auth-599c7b67cb-9wrf2           1/1     Running   0          10m
openimserver-openim-rpc-conversation-549669b887-nk8v4   1/1     Running   0          10m
openimserver-openim-rpc-friend-5bb8cfbd9d-x2zvc         1/1     Running   0          10m
openimserver-openim-rpc-group-7dc54f8dd7-8hbz7          1/1     Running   0          10m
openimserver-openim-rpc-msg-598549bd97-s785r            1/1     Running   0          10m
openimserver-openim-rpc-third-8c447dbf7-xc7b9           1/1     Running   0          10m
openimserver-openim-rpc-user-7d8dcbccbc-hhthg           1/1     Running   0          10m

@cubxxw cubxxw requested a review from a team as a code owner March 11, 2024 12:15
@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Mar 11, 2024
@cubxxw cubxxw changed the title feat: fix openim helm charts bug feat: Optimize openim helm charts to support v3.6 server deployment Mar 11, 2024
@kubbot
Copy link

kubbot commented Mar 12, 2024

Kubernetes Templates in openim Namespace

openim templates get ./charts/openim-server -f k8s-open-im-server-config.yaml -f config-imserver.yaml
---
# Source: openim-api/templates/app-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: openim-cm
data:
  config.yaml: |+
    api:
      listenIP: 0.0.0.0
      openImApiPort:
      - 80
    callback:
      addBlackBefore:
        enable: false
        failedContinue: true
        timeout: 5
      addFriendAfter:
        enable: false
        failedContinue: true
        timeout: 5
      addFriendAgreeBefore:
        enable: false
        failedContinue: true
        timeout: 5
      afterCreateGroup:
        enable: false
        failedContinue: true
        timeout: 5
      afterGroupMsgRead:
        enable: false
        failedContinue: true
        timeout: 5
      afterGroupMsgRevoke:
        enable: false
        failedContinue: true
        timeout: 5
      afterJoinGroup:
        enable: false
        failedContinue: true
        timeout: 5
      afterSendGroupMsg:
        enable: false
        failedContinue: true
        timeout: 5
      afterSendSingleMsg:
        enable: false
        failedContinue: true
        timeout: 5
      afterSetFriendRemark:
        enable: false
        failedContinue: true
        timeout: 5
      afterSetGroupMemberInfo:
        enable: false
        failedContinue: true
        timeout: 5
      afterUpdateUserInfoEx:
        enable: false
        failedContinue: true
        timeout: 5
      afterUserRegister:
        enable: false
        failedContinue: true
        timeout: 5
      beforeAddFriend:
        enable: false
        failedContinue: true
        timeout: 5
      beforeCreateGroup:
        enable: false
        failedContinue: true
        timeout: 5
      beforeInviteUserToGroup:
        enable: false
        failedContinue: true
        timeout: 5
      beforeMemberJoinGroup:
        enable: false
        failedContinue: true
        timeout: 5
      beforeSendGroupMsg:
        enable: false
        failedContinue: true
        timeout: 5
      beforeSendSingleMsg:
        enable: false
        failedContinue: true
        timeout: 5
      beforeSetFriendRemark:
        enable: false
        failedContinue: true
        timeout: 5
      beforeSetGroupMemberInfo:
        enable: false
        failedContinue: true
        timeout: 5
      beforeUpdateUserInfo:
        enable: false
        failedContinue: true
        timeout: 5
      beforeUpdateUserInfoEx:
        enable: false
        failedContinue: true
        timeout: 5
      beforeUserRegister:
        enable: false
        failedContinue: true
        timeout: 5
      deleteFriendAfter:
        enable: false
        failedContinue: true
        timeout: 5
      dismissGroup:
        enable: false
        failedContinue: true
        timeout: 5
      groupMsgRead:
        enable: false
        failedContinue: true
        timeout: 5
      importFriendsAfter:
        enable: false
        failedContinue: true
        timeout: 5
      importFriendsBefore:
        enable: false
        failedContinue: true
        timeout: 5
      joinGroup:
        enable: false
        failedContinue: true
        timeout: 5
      joinGroupAfter:
        enable: false
        failedContinue: true
        timeout: 5
      killGroupMember:
        enable: false
        failedContinue: true
        timeout: 5
      msgModify:
        enable: false
        failedContinue: true
        timeout: 5
      offlinePush:
        enable: false
        failedContinue: true
        timeout: 5
      onlinePush:
        enable: false
        failedContinue: true
        timeout: 5
      quitGroup:
        enable: false
        failedContinue: true
        timeout: 5
      removeBlackAfter:
        enable: false
        failedContinue: true
        timeout: 5
      revokeMsgAfter:
        enable: false
        failedContinue: true
        timeout: 5
      setGroupInfoAfter:
        enable: false
        failedContinue: true
        timeout: 5
      setGroupInfoBefore:
        enable: false
        failedContinue: true
        timeout: 5
      setMessageReactionExtensions:
        enable: false
        failedContinue: true
        timeout: 5
      singleMsgRead:
        enable: false
        failedContinue: true
        timeout: 5
      superGroupOnlinePush:
        enable: false
        failedContinue: true
        timeout: 5
      transferGroupOwner:
        enable: false
        failedContinue: true
        timeout: 5
      updateUserInfo:
        enable: false
        failedContinue: true
        timeout: 5
      url: null
      userKickOff:
        enable: false
        failedContinue: true
        timeout: 5
      userOffline:
        enable: false
        failedContinue: true
        timeout: 5
      userOnline:
        enable: false
        failedContinue: true
        timeout: 5
    chatPersistenceMysql: true
    chatRecordsClearTime: 0 2 * * 3
    envs:
      discovery: k8s
    groupMessageHasReadReceiptEnable: true
    im-admin:
      nickname:
      - imAdmin
      userID:
      - imAdmin
    iosPush:
      badgeCount: true
      production: false
      pushSound: xxx
    kafka:
      addr:
      - im-kafka:9092
      consumerGroupID:
        msgToMongo: mongo
        msgToMySql: mysql
        msgToPush: push
        msgToRedis: redis
      latestMsgToRedis:
        topic: latestMsgToRedis
      msgToPush:
        topic: msgToPush
      offlineMsgToMongo:
        topic: offlineMsgToMongoMysql
      password: proot
      username: root
    log:
      isJson: false
      isStdout: true
      remainLogLevel: 6
      remainRotationCount: 2
      rotationTime: 24
      storageLocation: ../logs/
      withStack: false
    longConnSvr:
      openImMessageGatewayPort:
      - 88
      openImWsPort:
      - 80
      websocketMaxConnNum: 100000
      websocketMaxMsgLen: 4096
      websocketTimeout: 10
    manager:
      nickname: null
      userID: null
    messageVerify:
      friendVerify: false
    mongo:
      address:
      - im-mongodb:27017
      database: openim_v3
      maxPoolSize: 100
      password: openIM123
      uri: ""
      username: openIM
    msgCacheTimeout: 86400
    msgDestructTime: 0 2 * * *
    multiLoginPolicy: 1
    object:
      apiURL: https://openim1.server.top/api
      aws:
        accessKeyID: ""
        accessKeySecret: ""
        bucket: demo-9999999
        endpoint: ''''''
        publicRead: false
        region: us-east-1
      cos:
        bucketURL: https://temp-1252357374.cos.ap-chengdu.myqcloud.com
        publicRead: false
        secretID: ""
        secretKey: ""
        sessionToken: ""
      enable: minio
      kodo:
        accessKeyID: ""
        accessKeySecret: ""
        bucket: demo-9999999
        bucketURL: http://your.domain.com
        endpoint: http://s3.cn-east-1.qiniucs.com
        publicRead: false
        sessionToken: ""
      minio:
        accessKeyID: root
        bucket: openim
        endpoint: http://im-minio:9000
        publicRead: false
        secretAccessKey: openIM123
        sessionToken: ""
        signEndpoint: https://openim1.server.top/im-minio-api
      oss:
        accessKeyID: ""
        accessKeySecret: ""
        bucket: demo-9999999
        bucketURL: https://demo-9999999.oss-cn-chengdu.aliyuncs.com
        endpoint: https://oss-cn-chengdu.aliyuncs.com
        publicRead: false
        sessionToken: ""
    prometheus:
      apiPrometheusPort:
      - 90
      authPrometheusPort:
      - 90
      conversationPrometheusPort:
      - 90
      enable: true
      friendPrometheusPort:
      - 90
      grafanaUrl: https://openim2.server.top/
      groupPrometheusPort:
      - 90
      messageGatewayPrometheusPort:
      - 90
      messagePrometheusPort:
      - 90
      messageTransferPrometheusPort:
      - 90
      - 90
      - 90
      - 90
      pushPrometheusPort:
      - 90
      rtcPrometheusPort:
      - 90
      thirdPrometheusPort:
      - 90
      userPrometheusPort:
      - 90
    push:
      enable: getui
      fcm:
        serviceAccount: x.json
      geTui:
        appKey: ""
        channelID: ""
        channelName: ""
        intent: ""
        masterSecret: ""
        pushUrl: https://restapi.getui.com/v2/$appId
      jpns:
        appKey: null
        masterSecret: null
        pushIntent: null
        pushUrl: null
    redis:
      address:
      - im-redis-master:6379
      password: openIM123
      username: ""
    retainChatRecords: 365
    rpc:
      listenIP: 0.0.0.0
      registerIP: ""
    rpcPort:
      openImAuthPort:
      - 80
      openImConversationPort:
      - 80
      openImFriendPort:
      - 80
      openImGroupPort:
      - 80
      openImMessageGatewayPort:
      - 88
      openImMessagePort:
      - 80
      openImPushPort:
      - 80
      openImThirdPort:
      - 80
      openImUserPort:
      - 80
    rpcRegisterName:
      openImAuthName: openimserver-openim-rpc-auth:80
      openImConversationName: openimserver-openim-rpc-conversation:80
      openImFriendName: openimserver-openim-rpc-friend:80
      openImGroupName: openimserver-openim-rpc-group:80
      openImMessageGatewayName: openimserver-openim-msggateway:88
      openImMsgName: openimserver-openim-rpc-msg:80
      openImPushName: openimserver-openim-push:80
      openImThirdName: openimserver-openim-rpc-third:80
      openImUserName: openimserver-openim-rpc-user:80
    secret: openIM123
    singleMessageHasReadReceiptEnable: true
    tokenPolicy:
      expire: 90
    zookeeper:
      address:
      - 172.28.0.1:12181
      password: ""
      schema: openim
      username: ""
  notification.yaml: |+
---
# Source: openim-api/charts/openim-msggateway-proxy/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-msggateway-proxy
  labels:
    helm.sh/chart: openim-msggateway-proxy-0.1.0
    app.kubernetes.io/name: openim-msggateway-proxy
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 88
      targetPort: rpc
      protocol: TCP
      name: rpc
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-msggateway-proxy
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-msggateway/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-msggateway
  labels:
    helm.sh/chart: openim-msggateway-0.1.0
    app.kubernetes.io/name: openim-msggateway
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 88
      targetPort: rpc
      protocol: TCP
      name: rpc
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-msggateway
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-msggateway/templates/serviceheadless.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-msggateway-headless
  labels:
    helm.sh/chart: openim-msggateway-0.1.0
    app.kubernetes.io/name: openim-msggateway
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 88
      targetPort: rpc
      protocol: TCP
      name: rpc
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-msggateway
    app.kubernetes.io/instance: release-name
  clusterIP: None
---
# Source: openim-api/charts/openim-msgtransfer/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-msgtransfer
  labels:
    helm.sh/chart: openim-msgtransfer-0.1.0
    app.kubernetes.io/name: openim-msgtransfer
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-msgtransfer
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-push/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-push
  labels:
    helm.sh/chart: openim-push-0.1.0
    app.kubernetes.io/name: openim-push
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-push
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-auth/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-auth
  labels:
    helm.sh/chart: openim-rpc-auth-0.1.0
    app.kubernetes.io/name: openim-rpc-auth
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-auth
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-conversation/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-conversation
  labels:
    helm.sh/chart: openim-rpc-conversation-0.1.0
    app.kubernetes.io/name: openim-rpc-conversation
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-conversation
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-friend/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-friend
  labels:
    helm.sh/chart: openim-rpc-friend-0.1.0
    app.kubernetes.io/name: openim-rpc-friend
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-friend
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-group/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-group
  labels:
    helm.sh/chart: openim-rpc-group-0.1.0
    app.kubernetes.io/name: openim-rpc-group
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-group
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-msg/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-msg
  labels:
    helm.sh/chart: openim-rpc-msg-0.1.0
    app.kubernetes.io/name: openim-rpc-msg
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-msg
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-third/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-third
  labels:
    helm.sh/chart: openim-rpc-third-0.1.0
    app.kubernetes.io/name: openim-rpc-third
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-third
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-rpc-user/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-rpc-user
  labels:
    helm.sh/chart: openim-rpc-user-0.1.0
    app.kubernetes.io/name: openim-rpc-user
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-rpc-user
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-openim-api
  labels:
    helm.sh/chart: openim-api-0.1.17
    app.kubernetes.io/name: openim-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "3.6.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 90
      targetPort: 90
      protocol: TCP
      name: metrics-port
  selector:
    app.kubernetes.io/name: openim-api
    app.kubernetes.io/instance: release-name
---
# Source: openim-api/charts/openim-msggateway-proxy/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-msggateway-proxy
  labels:
    helm.sh/chart: openim-msggateway-proxy-0.1.0
    app.kubernetes.io/name: openim-msggateway-proxy
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-msggateway-proxy
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-msggateway-proxy
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-msggateway-proxy
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-msggateway-proxy:v3.5.0"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
            - name: rpc
              containerPort: 88
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-msgtransfer/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-msgtransfer
  labels:
    helm.sh/chart: openim-msgtransfer-0.1.0
    app.kubernetes.io/name: openim-msgtransfer
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-msgtransfer
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-msgtransfer
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-msgtransfer
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-msgtransfer:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-push/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-push
  labels:
    helm.sh/chart: openim-push-0.1.0
    app.kubernetes.io/name: openim-push
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-push
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-push
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-push
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-push:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-auth/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-auth
  labels:
    helm.sh/chart: openim-rpc-auth-0.1.0
    app.kubernetes.io/name: openim-rpc-auth
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-auth
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-auth
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-auth
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-auth:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-conversation/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-conversation
  labels:
    helm.sh/chart: openim-rpc-conversation-0.1.0
    app.kubernetes.io/name: openim-rpc-conversation
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-conversation
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-conversation
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-conversation
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-conversation:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-friend/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-friend
  labels:
    helm.sh/chart: openim-rpc-friend-0.1.0
    app.kubernetes.io/name: openim-rpc-friend
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-friend
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-friend
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-friend
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-friend:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-group/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-group
  labels:
    helm.sh/chart: openim-rpc-group-0.1.0
    app.kubernetes.io/name: openim-rpc-group
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-group
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-group
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-group
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-group:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-msg/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-msg
  labels:
    helm.sh/chart: openim-rpc-msg-0.1.0
    app.kubernetes.io/name: openim-rpc-msg
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-msg
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-msg
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-msg
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-msg:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-third/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-third
  labels:
    helm.sh/chart: openim-rpc-third-0.1.0
    app.kubernetes.io/name: openim-rpc-third
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-third
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-third
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-third
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-third:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-rpc-user/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-rpc-user
  labels:
    helm.sh/chart: openim-rpc-user-0.1.0
    app.kubernetes.io/name: openim-rpc-user
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-rpc-user
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-rpc-user
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-rpc-user
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-rpc-user:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-openim-api
  labels:
    helm.sh/chart: openim-api-0.1.17
    app.kubernetes.io/name: openim-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "3.6.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-api
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-api
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-api
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-api:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-msggateway/templates/deployment.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: release-name-openim-msggateway
  labels:
    helm.sh/chart: openim-msggateway-0.1.0
    app.kubernetes.io/name: openim-msggateway
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  serviceName: release-name-openim-msggateway-headless
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: openim-msggateway
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: openim-msggateway
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: openim-msggateway
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-msggateway:release-v3.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
            - name: rpc
              containerPort: 88
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          env:
            - name: MY_MSGGATEWAY_REPLICACOUNT
              value: "1"
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: MY_POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-server/config/config.yaml
              name: config
              subPath: config.yaml
            - mountPath: /openim/openim-server/config/notification.yaml
              name: config
              subPath: notification.yaml
      volumes:
        - name: config
          configMap:
            name: openim-cm
---
# Source: openim-api/charts/openim-msggateway-proxy/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: release-name-openim-msggateway-proxy
  labels:
    helm.sh/chart: openim-msggateway-proxy-0.1.0
    app.kubernetes.io/name: openim-msggateway-proxy
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - "openim1.server.top"
      secretName: webapitls
  rules:
    - host: "openim1.server.top"
      http:
        paths:
          - path: /msg_gateway(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: release-name-openim-msggateway-proxy
                port:
                  number: 80
---
# Source: openim-api/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: release-name-openim-api
  labels:
    helm.sh/chart: openim-api-0.1.17
    app.kubernetes.io/name: openim-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "3.6.0"
    app.kubernetes.io/managed-by: Helm
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - "openim1.server.top"
      secretName: webapitls
  rules:
    - host: "openim1.server.top"
      http:
        paths:
          - path: /api(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: release-name-openim-api
                port:
                  number: 80
openim templates get ./charts/openim-chat -f k8s-chat-server-config.yaml -f config-chatserver.yaml
---
# Source: admin-api/templates/app-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: imchat-cm
data:
  config.yaml: |+
    adminApi:
      listenIP: null
      openImAdminApiPort:
      - 80
    adminList:
    - adminID: null
      imAdmin: null
      nickname: null
    - adminID: null
      imAdmin: null
      nickname: null
    - adminID: null
      imAdmin: null
      nickname: null
    chatAdmin:
    - adminID: chatAdmin
      imAdmin: imAdmin
      nickname: chatAdmin
    chatApi:
      listenIP: null
      openImChatApiPort:
      - 80
    envs:
      discovery: k8s
    log:
      isJson: false
      isStdout: true
      remainLogLevel: 6
      remainRotationCount: 2
      rotationTime: 24
      storageLocation: ../logs/
      withStack: false
    mongo:
      address:
      - im-mongodb:27017
      database: openim_v3
      maxPoolSize: 100
      password: openIM123
      uri: ""
      username: openIM
    openIMUrl: http://openimserver-openim-api
    redis:
      address:
      - im-redis-master:6379
      password: openIM123
      username: null
    rpc:
      listenIP: null
      registerIP: null
    rpcPort:
      openImAdminPort:
      - 80
      openImChatPort:
      - 80
    rpcRegisterName:
      openImAdminName: openimchat-admin-rpc:80
      openImChatName: openimchat-chat-rpc:80
    secret: openIM123
    tokenPolicy:
      expire: 86400
    verifyCode:
      ali:
        accessKeyId: ""
        accessKeySecret: ""
        endpoint: dysmsapi.aliyuncs.com
        signName: ""
        verificationCodeTemplateCode: ""
      len: 6
      mail:
        senderAuthorizationCode: ""
        senderMail: ""
        smtpAddr: smtp.qq.com
        smtpPort: 465
        title: ""
      maxCount: 10
      superCode: "666666"
      uintTime: 86400
      use: ""
      validCount: 5
      validTime: 300
    zookeeper:
      password: ""
      schema: openim
      username: ""
      zkAddr:
      - 127.0.0.1:12181
---
# Source: admin-api/charts/admin-rpc/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-admin-rpc
  labels:
    helm.sh/chart: admin-rpc-0.1.0
    app.kubernetes.io/name: admin-rpc
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: admin-rpc
    app.kubernetes.io/instance: release-name
---
# Source: admin-api/charts/chat-api/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-chat-api
  labels:
    helm.sh/chart: chat-api-0.1.0
    app.kubernetes.io/name: chat-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: chat-api
    app.kubernetes.io/instance: release-name
---
# Source: admin-api/charts/chat-rpc/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-chat-rpc
  labels:
    helm.sh/chart: chat-rpc-0.1.0
    app.kubernetes.io/name: chat-rpc
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: chat-rpc
    app.kubernetes.io/instance: release-name
---
# Source: admin-api/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-admin-api
  labels:
    helm.sh/chart: admin-api-0.1.17
    app.kubernetes.io/name: admin-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.6.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: admin-api
    app.kubernetes.io/instance: release-name
---
# Source: admin-api/charts/admin-rpc/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-admin-rpc
  labels:
    helm.sh/chart: admin-rpc-0.1.0
    app.kubernetes.io/name: admin-rpc
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: admin-rpc
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: admin-rpc
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: admin-rpc
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/chat-rpc-admin:release-v1.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-chat/config/config.yaml
              name: config
              subPath: config.yaml
      volumes:
        - name: config
          configMap:
            name: imchat-cm
---
# Source: admin-api/charts/chat-api/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-chat-api
  labels:
    helm.sh/chart: chat-api-0.1.0
    app.kubernetes.io/name: chat-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: chat-api
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: chat-api
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: chat-api
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/chat-api-chat:release-v1.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-chat/config/config.yaml
              name: config
              subPath: config.yaml
      volumes:
        - name: config
          configMap:
            name: imchat-cm
---
# Source: admin-api/charts/chat-rpc/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-chat-rpc
  labels:
    helm.sh/chart: chat-rpc-0.1.0
    app.kubernetes.io/name: chat-rpc
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: chat-rpc
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: chat-rpc
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: chat-rpc
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/chat-rpc-chat:release-v1.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-chat/config/config.yaml
              name: config
              subPath: config.yaml
      volumes:
        - name: config
          configMap:
            name: imchat-cm
---
# Source: admin-api/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-admin-api
  labels:
    helm.sh/chart: admin-api-0.1.17
    app.kubernetes.io/name: admin-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.6.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: admin-api
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: admin-api
        app.kubernetes.io/instance: release-name
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: admin-api
          securityContext:
            {}
          image: "registry.cn-hangzhou.aliyuncs.com/openimsdk/chat-api-admin:release-v1.6"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          #livenessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          #readinessProbe:
          #  httpGet:
          #    path: /
          #    port: http
          resources:
            {}
          volumeMounts:
            - mountPath: /openim/openim-chat/config/config.yaml
              name: config
              subPath: config.yaml
      volumes:
        - name: config
          configMap:
            name: imchat-cm
---
# Source: admin-api/charts/chat-api/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: release-name-chat-api
  labels:
    helm.sh/chart: chat-api-0.1.0
    app.kubernetes.io/name: chat-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - "openim1.server.top"
      secretName: webapitls
  rules:
    - host: "openim1.server.top"
      http:
        paths:
          - path: /chat(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: release-name-chat-api
                port:
                  number: 80
---
# Source: admin-api/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: release-name-admin-api
  labels:
    helm.sh/chart: admin-api-0.1.17
    app.kubernetes.io/name: admin-api
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "1.6.0"
    app.kubernetes.io/managed-by: Helm
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - "openim1.server.top"
      secretName: webapitls
  rules:
    - host: "openim1.server.top"
      http:
        paths:
          - path: /complete_admin(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: release-name-admin-api
                port:
                  number: 80

@kubbot
Copy link

kubbot commented Mar 12, 2024

Current branch is feat/support-openim-v3.6.
(execution 8244958189 / attempt 1)

@kubbot
Copy link

kubbot commented Mar 12, 2024

Kubernetes Resources in openim Namespace

openim namespaces get pods
NAME                                                    READY   STATUS              RESTARTS   AGE
im-kafka-controller-0                                   0/1     Pending             0          6m1s
im-kafka-controller-1                                   0/1     Pending             0          6m1s
im-kafka-controller-2                                   0/1     Pending             0          6m1s
im-kafka-provisioning-vbx6v                             0/1     Init:0/1            0          6m1s
imadminfront-openim-admin-688b6898bf-pg9jt              0/1     ContainerCreating   0          58s
imwebfront-openim-web-859dcdcdfd-pdnrv                  0/1     ContainerCreating   0          59s
my-release-mysql-0                                      0/1     Pending             0          6m1s
openimchat-admin-api-59cb55d775-b5vzz                   0/1     ContainerCreating   0          59s
openimchat-admin-rpc-77cb9df468-n5bxc                   0/1     ContainerCreating   0          59s
openimchat-chat-api-5b4898d744-n8k5w                    0/1     ContainerCreating   0          59s
openimchat-chat-rpc-7cf7f856ff-mcq5k                    0/1     ContainerCreating   0          59s
openimserver-openim-api-7768db968b-rjrqz                0/1     ContainerCreating   0          60s
openimserver-openim-msggateway-0                        0/1     ContainerCreating   0          60s
openimserver-openim-msggateway-proxy-8446d5694d-d4rf2   0/1     ContainerCreating   0          60s
openimserver-openim-msgtransfer-77667db47b-s7mfj        0/1     ContainerCreating   0          60s
openimserver-openim-push-975cb785b-f7vpm                0/1     ContainerCreating   0          60s
openimserver-openim-rpc-auth-675944f96-ldnp8            0/1     ContainerCreating   0          60s
openimserver-openim-rpc-conversation-66f54f59bf-7w9qf   0/1     ContainerCreating   0          60s
openimserver-openim-rpc-friend-76f4f49866-kcwhs         0/1     ContainerCreating   0          61s
openimserver-openim-rpc-group-86965766fc-nm66w          0/1     ContainerCreating   0          60s
openimserver-openim-rpc-msg-657bd8f7d7-v2nq4            0/1     ContainerCreating   0          60s
openimserver-openim-rpc-third-56f6845875-dprk8          0/1     ContainerCreating   0          60s
openimserver-openim-rpc-user-85b54cc9c-zj56t            0/1     ContainerCreating   0          60s
openim namespaces get deployments
NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
imadminfront-openim-admin              0/1     1            0           60s
imwebfront-openim-web                  0/1     1            0           60s
openimchat-admin-api                   0/1     1            0           60s
openimchat-admin-rpc                   0/1     1            0           60s
openimchat-chat-api                    0/1     1            0           60s
openimchat-chat-rpc                    0/1     1            0           60s
openimserver-openim-api                0/1     1            0           61s
openimserver-openim-msggateway-proxy   0/1     1            0           61s
openimserver-openim-msgtransfer        0/1     1            0           61s
openimserver-openim-push               0/1     1            0           61s
openimserver-openim-rpc-auth           0/1     1            0           61s
openimserver-openim-rpc-conversation   0/1     1            0           61s
openimserver-openim-rpc-friend         0/1     1            0           61s
openimserver-openim-rpc-group          0/1     1            0           61s
openimserver-openim-rpc-msg            0/1     1            0           61s
openimserver-openim-rpc-third          0/1     1            0           61s
openimserver-openim-rpc-user           0/1     1            0           61s
openim namespaces get services
NAME                                      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
im-kafka                                  ClusterIP   10.96.172.69    <none>        9092/TCP                     6m1s
im-kafka-controller-headless              ClusterIP   None            <none>        9094/TCP,9092/TCP,9093/TCP   6m1s
imadminfront-openim-admin                 ClusterIP   10.96.91.225    <none>        80/TCP                       60s
imwebfront-openim-web                     ClusterIP   10.96.17.234    <none>        80/TCP                       60s
my-release-mysql                          ClusterIP   10.96.227.84    <none>        3306/TCP                     6m1s
my-release-mysql-headless                 ClusterIP   None            <none>        3306/TCP                     6m1s
openimchat-admin-api                      ClusterIP   10.96.233.91    <none>        80/TCP                       60s
openimchat-admin-rpc                      ClusterIP   10.96.165.127   <none>        80/TCP                       60s
openimchat-chat-api                       ClusterIP   10.96.78.237    <none>        80/TCP                       60s
openimchat-chat-rpc                       ClusterIP   10.96.127.224   <none>        80/TCP                       60s
openimserver-openim-api                   ClusterIP   10.96.1.248     <none>        80/TCP,90/TCP                61s
openimserver-openim-msggateway            ClusterIP   10.96.86.178    <none>        80/TCP,88/TCP,90/TCP         61s
openimserver-openim-msggateway-headless   ClusterIP   None            <none>        80/TCP,88/TCP,90/TCP         61s
openimserver-openim-msggateway-proxy      ClusterIP   10.96.111.27    <none>        80/TCP,88/TCP,90/TCP         61s
openimserver-openim-msgtransfer           ClusterIP   10.96.28.220    <none>        80/TCP,90/TCP                61s
openimserver-openim-push                  ClusterIP   10.96.247.167   <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-auth              ClusterIP   10.96.237.212   <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-conversation      ClusterIP   10.96.45.240    <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-friend            ClusterIP   10.96.224.253   <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-group             ClusterIP   10.96.195.138   <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-msg               ClusterIP   10.96.153.49    <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-third             ClusterIP   10.96.31.243    <none>        80/TCP,90/TCP                61s
openimserver-openim-rpc-user              ClusterIP   10.96.159.25    <none>        80/TCP,90/TCP                61s
openim namespaces get replicasets
NAME                                              DESIRED   CURRENT   READY   AGE
imadminfront-openim-admin-688b6898bf              1         1         0       58s
imwebfront-openim-web-859dcdcdfd                  1         1         0       59s
openimchat-admin-api-59cb55d775                   1         1         0       59s
openimchat-admin-rpc-77cb9df468                   1         1         0       59s
openimchat-chat-api-5b4898d744                    1         1         0       59s
openimchat-chat-rpc-7cf7f856ff                    1         1         0       59s
openimserver-openim-api-7768db968b                1         1         0       61s
openimserver-openim-msggateway-proxy-8446d5694d   1         1         0       60s
openimserver-openim-msgtransfer-77667db47b        1         1         0       61s
openimserver-openim-push-975cb785b                1         1         0       60s
openimserver-openim-rpc-auth-675944f96            1         1         0       60s
openimserver-openim-rpc-conversation-66f54f59bf   1         1         0       61s
openimserver-openim-rpc-friend-76f4f49866         1         1         0       61s
openimserver-openim-rpc-group-86965766fc          1         1         0       60s
openimserver-openim-rpc-msg-657bd8f7d7            1         1         0       60s
openimserver-openim-rpc-third-56f6845875          1         1         0       61s
openimserver-openim-rpc-user-85b54cc9c            1         1         0       60s
openim namespaces get statefulsets
NAME                             READY   AGE
im-kafka-controller              0/3     6m1s
my-release-mysql                 0/1     6m1s
openimserver-openim-msggateway   0/1     61s
openim namespaces get configmaps
NAME                                DATA   AGE
im-kafka-controller-configuration   1      6m1s
im-kafka-scripts                    1      6m1s
imchat-cm                           1      60s
kube-root-ca.crt                    1      10m
my-release-mysql                    1      6m1s
openim-cm                           2      61s
openim namespaces get secrets
NAME                                 TYPE                 DATA   AGE
im-kafka-kraft-cluster-id            Opaque               1      6m2s
im-kafka-user-passwords              Opaque               4      6m2s
my-release-mysql                     Opaque               2      6m2s
sh.helm.release.v1.im-kafka.v1       helm.sh/release.v1   1      6m2s
sh.helm.release.v1.imadminfront.v1   helm.sh/release.v1   1      61s
sh.helm.release.v1.imwebfront.v1     helm.sh/release.v1   1      61s
sh.helm.release.v1.my-release.v1     helm.sh/release.v1   1      6m2s
sh.helm.release.v1.openimchat.v1     helm.sh/release.v1   1      61s
sh.helm.release.v1.openimserver.v1   helm.sh/release.v1   1      62s

@cubxxw cubxxw merged commit 6523157 into main Mar 12, 2024
8 of 9 checks passed
@cubxxw cubxxw deleted the feat/support-openim-v3.6 branch March 12, 2024 08:01
@openimsdk openimsdk locked and limited conversation to collaborators Mar 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants