otto 1 year ago
commit
304aaa0110
  1. 40
      .gitignore
  2. 29
      Dockerfile
  3. 28
      build.sh
  4. 7
      cmd/main.go
  5. 19
      configs/config
  6. 19
      configs/config-dev
  7. 19
      configs/config-master
  8. 19
      configs/config-release
  9. 67
      go.mod
  10. 24
      job.yaml
  11. BIN
      main
  12. 188
      task/task.go

40
.gitignore vendored

@ -0,0 +1,40 @@
# Reference https://github.com/github/gitignore/blob/master/Go.gitignore
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
vendor/
# Go workspace file
go.work
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
# OS General
Thumbs.db
.DS_Store
# project
*.cert
*.key
*.log
bin/
# Develop tools
.vscode/
.idea/
*.swp
go.sum
./main

29
Dockerfile

@ -0,0 +1,29 @@
FROM golang:1.20.5 AS builder
#ENV CGO_ENABLED 0
#ENV GOOS linux
COPY . /src
WORKDIR /src
#RUN export GIT_TERMINAL_PROMPT=1
#RUN git config --global url."git.gz.internal.jumaiyx.cn:222".insteadof "https://git.gz.internal.jumaiyx.cn/"
#RUN go env -w GOPROXY="https://goproxy.cn"
#RUN go env -w GOINSECURE="git.gz.internal.jumaiyx.cn"
#RUN go env -w GOPRIVATE="git.gz.internal.jumaiyx.cn/"
#RUN go env -w GONOSUMDB="git.gz.internal.jumaiyx.cn/"
#RUN go env -w GONOPROXY="git.gz.internal.jumaiyx.cn/"
#RUN go env
RUN go mod tidy
RUN go
FROM harbor.homieyy.com/base/alpine:3.13
RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN apk update --no-cache && apk add --no-cache ca-certificates tzdata
WORKDIR /app
COPY --from=builder /src/main /app/server
COPY --from=builder /src/configs /app/configs
#EXPOSE 9000
ENTRYPOINT ["./main"]

28
build.sh

@ -0,0 +1,28 @@
#!/bin/bash
#version=git log --format='%H' -n1
project_name="hotspot-queue"
version=$(git log --format='%H' -n1)
br=$(git rev-parse --abbrev-ref HEAD)
if [ ! -n "$version" ] ;then
echo "未获取到版本信息"
else
echo "当前分支:$br"
environment=$br
echo "打包的环境:$environment"
echo "打包版本号:$version"
echo "项目名称:$project_name"
# go mod tidy
# make build
echo "======登录镜像仓库======"
docker login -u jumai -p VaHBCfY11cv1 https://harbor.homieyy.com
echo "======build======"
docker build -t harbor.homieyy.com/job/$environment/$project_name:latest .
echo "======tag======="
docker tag harbor.homieyy.com/job/$environment/$project_name:latest harbor.homieyy.com/job/$environment/$project_name:$version
echo "======push======="
docker push harbor.homieyy.com/job/$environment/$project_name:$version
fi

7
cmd/main.go

@ -0,0 +1,7 @@
package main
import "git.gz.internal.jumaiyx.cn/job/hotspot_queue/task"
func main() {
task.NewTask()
}

19
configs/config

@ -0,0 +1,19 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1EVXlNekEzTXpBME9Gb1hEVE16TURVeU1EQTNNekEwT0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSzlOCkNUeVBtYVFQMm5iakhOcWFKRzRKYnk3OHNQT2cvYnhlOU8wRGRCZVlTVVJPSGlhV3NHTWN1cFFZV1VXMnU3elAKN1QyTnF5NkptVVhDd2VrOVRlc2dURUF6clFMdjQwcGdpalNxZFRzUFJvTmR0eVJEbm8rNGpJWmJqemR6RW55YwpnZlRwOTgzWEZqVkM0RlYxS3NSbVpjVHdmaG5wNFREcXJuV3liVTk2Z0lVejN1NEZrdlNzVFRBVEYxeVdFMUFZCkhud3ZXbTZiT3VxQ0RNWnlvUEF3ek1qT3o4NzBYRFFobktueUk2eWN4Rmx0NDBjTXg0T3NDOTY0L1FZUHdhWDMKTEFGNFRQWFA3SWZUMW56ZkRDMHV1RnRPVkEzZGthMFpEekdINHVLVmtZTEZ2RHNpemROOEx2YW4ydmRVdHVSTApUQ2ZGemg4Z0piaG8yTCtKamowQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBNkxhQnFvRldjTFFYSk5GQ2FZZVdvSTltOXMKaW00cHhNMW8yM21DcTl3dC83bUFzc2ZheWtYbUxaWVZ1bm4zdG9LMGdPVzFFaUFIR3N1c3RWNVE2eTR1S21WeQorSFpGNTRVRXJTditHWWlpbWx3TnRZdDd0RTZqMmxIcnVMUEhTMko2T2kzYXd5dXdTdUVTMU0yS1FlYjZsWThzCkR6ZHU3VkdpdDFsUzRFTXhHM2I0UkEybDhzREZGYWpmYklDbURzRG9senlWMmlENS9pZENyN0VIcGZlbjFKOHYKa2FVbW1pWmRXOFFZU2svb016RDN2VmNVdkNUQW5rZWc5NlVkQ0tWVlpMaXkxN3FSUW1Ta1lqMFhhTXE0S0h5WgpvT09MOFhMdUFKNHVnM1dnZ3R5aVVnOW44RzVnVFVVWExIdDM4T1U5Yy9HaE5GUGhPdTdCMEVyb1RIbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://192.168.1.156:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJTWQ1OWc1L241TkF3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBMU1qTXdOek13TkRoYUZ3MHlOREExTWpJd056TXdOVEJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTJqMmhCMG5DZytFaE0zejUKNW1RVHVZdmVSblZ5blVRemJwcWtleVNOR005LzRJYXVVNEg4by9VRE5vQ1JZNnBBdWpLUWNkc2ZJMEdGUkxTRAp4ZGtuQkJGYlVMRnptUHkwdEJiQkVkMm1pS3B2NktpaC9qRk0xTWFHY0l2R29nRnFrRDNrU3pMVGRKRnQ1OThMCkI3b21yTzZLRFlLakJXMjlydGdPNnRDWlUrUG12RWRpbStGRDIrb2VYY0kzbktzbE1xQ3FrOFZ0aUxWNFFtWWgKbG1JZHlva2VpZG5idXprM3p4bjdyK3p2Zi9sTUFOSDRvM0p5SVRaZUZHRW9PK3owZkNjZkhMRUN5ZkxWR0dxbgpTUVBIMUVMZS80a212c1BlQWdzYlI4WjArY3FTZzFMdkpxMGUydXpGNUlOZ2xPMTlDcCtldWYzZU51S1FlSTRXCjhoWHhkUUlEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHVm82enBkZjRoRlFVQ0hNU3lyT3ZwMFpCQkQ5RGIybDVqYwpOS3Fvb0tQZUVwTnExRlFtalRTS0h0RjNUV2pRYlR3NWw2ZEV4YUdaK0VObUR0ejFPd2lndnFENDRWbWZRL2FKCk5mMkxMSjVLNUNDZmZvNEJWZGhJR2lrcFVDNVRhSk1BYWNyUW56dEplTVN6elZSNXQ2ZDJwcmwyMXRvYzRzQjkKQ3VVRDI5K1plSUo5dDVXcWd4SWRFeXo4eXg2UkZvNktzZlZWS0NJdHBCS2lDRm9ZTFNtYUY4NlVEYlBOZGdUTwpXZVVvb09tcGxWdUdrUnRUVzc1Z3R6OGlreUlDZElvY1pvZ2x1c2FhbmdhUkxLK0Y2YXhkbmpGaHByUHB4cEgxCkgzZ2xEd2V5MjdLaUp3WEZHdzQycGdxY2MrWGRVQW5OSitUei94QWQwM0MvMG8yNkJmVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMmoyaEIwbkNnK0VoTTN6NTVtUVR1WXZlUm5WeW5VUXpicHFrZXlTTkdNOS80SWF1ClU0SDhvL1VETm9DUlk2cEF1aktRY2RzZkkwR0ZSTFNEeGRrbkJCRmJVTEZ6bVB5MHRCYkJFZDJtaUtwdjZLaWgKL2pGTTFNYUdjSXZHb2dGcWtEM2tTekxUZEpGdDU5OExCN29tck82S0RZS2pCVzI5cnRnTzZ0Q1pVK1BtdkVkaQptK0ZEMitvZVhjSTNuS3NsTXFDcWs4VnRpTFY0UW1ZaGxtSWR5b2tlaWRuYnV6azN6eG43cit6dmYvbE1BTkg0Cm8zSnlJVFplRkdFb08rejBmQ2NmSExFQ3lmTFZHR3FuU1FQSDFFTGUvNGttdnNQZUFnc2JSOFowK2NxU2cxTHYKSnEwZTJ1ekY1SU5nbE8xOUNwK2V1ZjNlTnVLUWVJNFc4aFh4ZFFJREFRQUJBb0lCQVFEQXNWT2h4TDJMaGRhegp5SEE1dlRreFJjN2ZOVW9hazZJNTBTN1RUOFdKRjRVWU1MSnhKejl6WUowU25WaEJ3SXhnR3M4d3lFRm85cXY5CnFza0NncWFSVCtYcGpKUzlpcnJlbTR5akFxck0xbmZ5M0JvVC8yR1FLUzJBNTlsZEo1VDRnTDAyckV6S0NySVkKM2ZXMlArVndJVG9oamF2MDJoMTE2R3piWlkxTDVEZGUrSm5lVWpnZkxpWC9qTStKQkprcmVwZWRSaWo2ZVA5VgpTc2FNeTM5YnZrS3lxYnE0MjhqVkhqV00xbzVQWlRJVmx1bkNKTDBVUHhaaHpubnJHSGNCS1pZR1dQNlMyRlgvCll0Ykphd0lvT2hzTCtWR1NNd3Jzc0trYmFnTHNMSkNMN2FlRXNxNDFzb1RSNVNkK2F2RHo1UkFhRjlkK0kzRzQKVjM1dVpwbk5Bb0dCQU9qeGdtN1pSS1NQMG5XQkt6TTA3bWlVU3dzc2NtSWkyUkVScXMrRDF4OFZ4QXRXWllXZwpxUHZRMHBiMnBLbGZGSTFRRHp2OTdPWmUwQ1k3KzZNVHBqNjBhZGM3QVA2RkpnSmpuYVlTOXFEdUlveGNKUEY0Cng3NUxEZjNYcUV1L0ErZ1NwbkowRS9JTHRYeUZZQXM1djJwbHhWMUJpUlVmR2RJN2d6bU43SWRmQW9HQkFPL1gKa3FJZmNBd3VZaW81TWlFL0l3UTUrcno0YkJzYTQvSnY5TGNMbkRWWjk1Q3d6eVM5MkhNOHdYWEN2cmNNbC9RdAp2Y00vUDIxek1zL1YzTGc1Ky9GSURya1pTaGxvWTB2Q2F6dEgxazNQNjZ1bGE2U0FadnA0TlZMdkNSMDU2VU51CmpjS0RQZk5nN3ZXVDJNU2czS1ZUVGFDUHJiSEdDNERXWW9pWmY1dXJBb0dBQitRR2N4TFJESElDd3hBNUVtYjgKbkhaSmhIdGc5SW9ScUU1YzV1S2thdDBsNHV4dVMvU0JST1p4KzhNbkdNV3J3STJ4dG1xSGw5WW1YdVV4UlBqcApiTDVYeDM2c0xmTDhzcUFGT3hieFc4bzFTV1BsckhoVzY4OUhEZzQ4R1RURFFSMUFuaWZvZFE2SWUwdFpVWWdIClArZHFwQm9RTnJMekFQZ2JIZHY4NHlrQ2dZRUE0MUtMWktZdmFSdzlabyszZDlPRHVPbkxRWGlqM2p6cWVFcXMKd3lGNStRZEFvaDh5OWp3Si80OUNQZjlMQyt3ZnlndmdwRUk2Tjk3TDlqbFpiak5uSEJXVC90UjlhditKdmJDVQpPaWVvY3kveXkwbUtjT3hTcm10by95WVltVjdlUEU5NGhUZ25hNW9nWXhxeWhndUJsaUVTbm5BUHpVTk1lOXkyCm40bjliT2tDZ1lBajJHdDNlNlNZVExnQkdkNEVGTVB4eVYwWitiQVNRaGFqWStSTlBrd21Db2ZmSzVpNnYzK2MKWHhPSWRtbVFOSmNTNUtHRnNpeDZDNzJhbG1rT29sTGN0aCs1OXBOQzMyVDVhMkV2bWY3TzU0eDJGVWJFTEdvWApKYVZoaW9xcGVwc1BuZVJIUmhiZUllS2RXZUZpV0tVYW16TUhKQkljeDFidzkyN2pVeXdUbXc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

19
configs/config-dev

@ -0,0 +1,19 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1EVXlNekEzTXpBME9Gb1hEVE16TURVeU1EQTNNekEwT0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSzlOCkNUeVBtYVFQMm5iakhOcWFKRzRKYnk3OHNQT2cvYnhlOU8wRGRCZVlTVVJPSGlhV3NHTWN1cFFZV1VXMnU3elAKN1QyTnF5NkptVVhDd2VrOVRlc2dURUF6clFMdjQwcGdpalNxZFRzUFJvTmR0eVJEbm8rNGpJWmJqemR6RW55YwpnZlRwOTgzWEZqVkM0RlYxS3NSbVpjVHdmaG5wNFREcXJuV3liVTk2Z0lVejN1NEZrdlNzVFRBVEYxeVdFMUFZCkhud3ZXbTZiT3VxQ0RNWnlvUEF3ek1qT3o4NzBYRFFobktueUk2eWN4Rmx0NDBjTXg0T3NDOTY0L1FZUHdhWDMKTEFGNFRQWFA3SWZUMW56ZkRDMHV1RnRPVkEzZGthMFpEekdINHVLVmtZTEZ2RHNpemROOEx2YW4ydmRVdHVSTApUQ2ZGemg4Z0piaG8yTCtKamowQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBNkxhQnFvRldjTFFYSk5GQ2FZZVdvSTltOXMKaW00cHhNMW8yM21DcTl3dC83bUFzc2ZheWtYbUxaWVZ1bm4zdG9LMGdPVzFFaUFIR3N1c3RWNVE2eTR1S21WeQorSFpGNTRVRXJTditHWWlpbWx3TnRZdDd0RTZqMmxIcnVMUEhTMko2T2kzYXd5dXdTdUVTMU0yS1FlYjZsWThzCkR6ZHU3VkdpdDFsUzRFTXhHM2I0UkEybDhzREZGYWpmYklDbURzRG9senlWMmlENS9pZENyN0VIcGZlbjFKOHYKa2FVbW1pWmRXOFFZU2svb016RDN2VmNVdkNUQW5rZWc5NlVkQ0tWVlpMaXkxN3FSUW1Ta1lqMFhhTXE0S0h5WgpvT09MOFhMdUFKNHVnM1dnZ3R5aVVnOW44RzVnVFVVWExIdDM4T1U5Yy9HaE5GUGhPdTdCMEVyb1RIbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://192.168.1.156:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJTWQ1OWc1L241TkF3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBMU1qTXdOek13TkRoYUZ3MHlOREExTWpJd056TXdOVEJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTJqMmhCMG5DZytFaE0zejUKNW1RVHVZdmVSblZ5blVRemJwcWtleVNOR005LzRJYXVVNEg4by9VRE5vQ1JZNnBBdWpLUWNkc2ZJMEdGUkxTRAp4ZGtuQkJGYlVMRnptUHkwdEJiQkVkMm1pS3B2NktpaC9qRk0xTWFHY0l2R29nRnFrRDNrU3pMVGRKRnQ1OThMCkI3b21yTzZLRFlLakJXMjlydGdPNnRDWlUrUG12RWRpbStGRDIrb2VYY0kzbktzbE1xQ3FrOFZ0aUxWNFFtWWgKbG1JZHlva2VpZG5idXprM3p4bjdyK3p2Zi9sTUFOSDRvM0p5SVRaZUZHRW9PK3owZkNjZkhMRUN5ZkxWR0dxbgpTUVBIMUVMZS80a212c1BlQWdzYlI4WjArY3FTZzFMdkpxMGUydXpGNUlOZ2xPMTlDcCtldWYzZU51S1FlSTRXCjhoWHhkUUlEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHVm82enBkZjRoRlFVQ0hNU3lyT3ZwMFpCQkQ5RGIybDVqYwpOS3Fvb0tQZUVwTnExRlFtalRTS0h0RjNUV2pRYlR3NWw2ZEV4YUdaK0VObUR0ejFPd2lndnFENDRWbWZRL2FKCk5mMkxMSjVLNUNDZmZvNEJWZGhJR2lrcFVDNVRhSk1BYWNyUW56dEplTVN6elZSNXQ2ZDJwcmwyMXRvYzRzQjkKQ3VVRDI5K1plSUo5dDVXcWd4SWRFeXo4eXg2UkZvNktzZlZWS0NJdHBCS2lDRm9ZTFNtYUY4NlVEYlBOZGdUTwpXZVVvb09tcGxWdUdrUnRUVzc1Z3R6OGlreUlDZElvY1pvZ2x1c2FhbmdhUkxLK0Y2YXhkbmpGaHByUHB4cEgxCkgzZ2xEd2V5MjdLaUp3WEZHdzQycGdxY2MrWGRVQW5OSitUei94QWQwM0MvMG8yNkJmVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMmoyaEIwbkNnK0VoTTN6NTVtUVR1WXZlUm5WeW5VUXpicHFrZXlTTkdNOS80SWF1ClU0SDhvL1VETm9DUlk2cEF1aktRY2RzZkkwR0ZSTFNEeGRrbkJCRmJVTEZ6bVB5MHRCYkJFZDJtaUtwdjZLaWgKL2pGTTFNYUdjSXZHb2dGcWtEM2tTekxUZEpGdDU5OExCN29tck82S0RZS2pCVzI5cnRnTzZ0Q1pVK1BtdkVkaQptK0ZEMitvZVhjSTNuS3NsTXFDcWs4VnRpTFY0UW1ZaGxtSWR5b2tlaWRuYnV6azN6eG43cit6dmYvbE1BTkg0Cm8zSnlJVFplRkdFb08rejBmQ2NmSExFQ3lmTFZHR3FuU1FQSDFFTGUvNGttdnNQZUFnc2JSOFowK2NxU2cxTHYKSnEwZTJ1ekY1SU5nbE8xOUNwK2V1ZjNlTnVLUWVJNFc4aFh4ZFFJREFRQUJBb0lCQVFEQXNWT2h4TDJMaGRhegp5SEE1dlRreFJjN2ZOVW9hazZJNTBTN1RUOFdKRjRVWU1MSnhKejl6WUowU25WaEJ3SXhnR3M4d3lFRm85cXY5CnFza0NncWFSVCtYcGpKUzlpcnJlbTR5akFxck0xbmZ5M0JvVC8yR1FLUzJBNTlsZEo1VDRnTDAyckV6S0NySVkKM2ZXMlArVndJVG9oamF2MDJoMTE2R3piWlkxTDVEZGUrSm5lVWpnZkxpWC9qTStKQkprcmVwZWRSaWo2ZVA5VgpTc2FNeTM5YnZrS3lxYnE0MjhqVkhqV00xbzVQWlRJVmx1bkNKTDBVUHhaaHpubnJHSGNCS1pZR1dQNlMyRlgvCll0Ykphd0lvT2hzTCtWR1NNd3Jzc0trYmFnTHNMSkNMN2FlRXNxNDFzb1RSNVNkK2F2RHo1UkFhRjlkK0kzRzQKVjM1dVpwbk5Bb0dCQU9qeGdtN1pSS1NQMG5XQkt6TTA3bWlVU3dzc2NtSWkyUkVScXMrRDF4OFZ4QXRXWllXZwpxUHZRMHBiMnBLbGZGSTFRRHp2OTdPWmUwQ1k3KzZNVHBqNjBhZGM3QVA2RkpnSmpuYVlTOXFEdUlveGNKUEY0Cng3NUxEZjNYcUV1L0ErZ1NwbkowRS9JTHRYeUZZQXM1djJwbHhWMUJpUlVmR2RJN2d6bU43SWRmQW9HQkFPL1gKa3FJZmNBd3VZaW81TWlFL0l3UTUrcno0YkJzYTQvSnY5TGNMbkRWWjk1Q3d6eVM5MkhNOHdYWEN2cmNNbC9RdAp2Y00vUDIxek1zL1YzTGc1Ky9GSURya1pTaGxvWTB2Q2F6dEgxazNQNjZ1bGE2U0FadnA0TlZMdkNSMDU2VU51CmpjS0RQZk5nN3ZXVDJNU2czS1ZUVGFDUHJiSEdDNERXWW9pWmY1dXJBb0dBQitRR2N4TFJESElDd3hBNUVtYjgKbkhaSmhIdGc5SW9ScUU1YzV1S2thdDBsNHV4dVMvU0JST1p4KzhNbkdNV3J3STJ4dG1xSGw5WW1YdVV4UlBqcApiTDVYeDM2c0xmTDhzcUFGT3hieFc4bzFTV1BsckhoVzY4OUhEZzQ4R1RURFFSMUFuaWZvZFE2SWUwdFpVWWdIClArZHFwQm9RTnJMekFQZ2JIZHY4NHlrQ2dZRUE0MUtMWktZdmFSdzlabyszZDlPRHVPbkxRWGlqM2p6cWVFcXMKd3lGNStRZEFvaDh5OWp3Si80OUNQZjlMQyt3ZnlndmdwRUk2Tjk3TDlqbFpiak5uSEJXVC90UjlhditKdmJDVQpPaWVvY3kveXkwbUtjT3hTcm10by95WVltVjdlUEU5NGhUZ25hNW9nWXhxeWhndUJsaUVTbm5BUHpVTk1lOXkyCm40bjliT2tDZ1lBajJHdDNlNlNZVExnQkdkNEVGTVB4eVYwWitiQVNRaGFqWStSTlBrd21Db2ZmSzVpNnYzK2MKWHhPSWRtbVFOSmNTNUtHRnNpeDZDNzJhbG1rT29sTGN0aCs1OXBOQzMyVDVhMkV2bWY3TzU0eDJGVWJFTEdvWApKYVZoaW9xcGVwc1BuZVJIUmhiZUllS2RXZUZpV0tVYW16TUhKQkljeDFidzkyN2pVeXdUbXc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

19
configs/config-master

@ -0,0 +1,19 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1EY3lOakE0TURJd01Gb1hEVE16TURjeU16QTRNREl3TUZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3dzCldHOFBQRGIzQjRUN2YwWEZqdnRtUGZQK3dTajhyVWpZYU1JRHNqZTgyS0lmY1JhQkdUb0pibHdtRjc2RXJGSGkKR3o5WWZlV2dEbTFFVXdKMnp3cXJaSm1jOGYxU1RVZ0FWeExXb1pDaEZIbkRuN1pMVHgwVDVqdnNjU2toTkkxRQpxN3VXNU4raWd0VFk3SUwzcy9BMUdUd2tyK3hSS3FTaGFWUXR4dUpTWDNpQnAvd3BlVFhzVXh2VktlelA3OTk4Cjh3bytQS2FZV1ZJU2xtUEdGZWk2c0d6M1VVb0M0UDM0SkJSK3VaWDh3NklJY3hpVlN4djFjeGYzYXYrNSs5R3UKcVNlMnRUUnpEMzAybVRoMDFNd2dPYk00VDh0VmllVnozWk9NWGF2Z0J0ZlQxQk1aWHpVdURxUUs4bVdDZC9Lcgp4ek1ydzgycFNIa2xYU05YM2JrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0tVTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFFTkd1NW9oTmdjN3VVSjlCTHlaQWhhR1NSQm0KcHVpWkxwVkZ0N1RpY2FiRi9sSER1UTdFMkI2M1pQVzFvQnJCdWVnTTh0aGllUDVRdElWeTdCTm1JZ1g0dFAwaQoycWRwNjNFRllFZ0JYWGhNcWhuK3VpZlNObnFla3lmaHhSR3I4eGFiM0tuVkVVekdGK2w3eXNzRVZ6YloyT1NxCkQ3VVZOTXZCL0VIMzhxRVp4Tk1EZjRHMG1jWUFSVUQzaGJZaWh1dzZIU2tvSlJ3cWd0c2tzZHpDUDJnUUJHTjcKa0k0emdCazB1Ylk3NWF6VkJZa3RnUzlFakl4S2ZuZHNzOHVFT0doeWF3ZWtETXdHM24wMVFiUzBQaWcwcHBXUQoycTh5WXI2dnNxc0V4cDZSTzZ3L2lyTWxIeVZ5OFdOOUVweXp0NXhSYVErY1ZQa0NLTGpMcXprWVhzdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://192.168.0.43
name: cls-bqjidkhq
contexts:
- context:
cluster: cls-bqjidkhq
user: "100029745731"
name: cls-bqjidkhq-100029745731-context-default
current-context: cls-bqjidkhq-100029745731-context-default
kind: Config
preferences: {}
users:
- name: "100029745731"
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURERENDQWZTZ0F3SUJBZ0lJVkFhd0hHbEc4TXN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBM01qY3dNak0yTlRoYUZ3MDBNekEzTWpjd01qTTJOVGRhTURZeApFakFRQmdOVkJBb1RDWFJyWlRwMWMyVnljekVnTUI0R0ExVUVBeE1YTVRBd01ESTVOelExTnpNeExURTJPVEEwCk1qVTBNVGN3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRFkzQi9pNkhFbUxHWG4KSGFxOVh3S0RRMTFmYVRDWmpQUXRHc1I2dGJrZ1FiOVFJUysyL2R4Zmk2Zkwyekw4c1ZLN240OHdPUURDaWoxcApQdnY2ZDU4aDNyNUI5cWRpN09CdUZ2NnB2QVVzVnQ0MGVuREhHdTZMUWhiM2pPYlNHWW5TTk9tcGN1V1YxNGF5CnhSbDVvRlNxQnJERHpNSkduUEhpa0NCUmdpNmUwYkRxWjllVm9tbFFWdkwwb0czallYTFFpcDVFSGttSjhRQy8KeDRLR2tTbkdtTDk0RXdSYS9OYzNmM29xODlhdXFmbWVkeHhMNVZ6OXhoR3VMWXd3clpkTFNrR2I4SDRydUZxdgpOY2lwTDRrUHhCVHFORllIUlU1bWl2NlNUQ0Q1eksybzlYTDZCUThvZFhuZDl2bGdUVDdLMmtOWi9CTHFFV2dKCjc5cnppVkpqQWdNQkFBR2pQekE5TUE0R0ExVWREd0VCL3dRRUF3SUNoREFkQmdOVkhTVUVGakFVQmdnckJnRUYKQlFjREFnWUlLd1lCQlFVSEF3RXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQprclIxSTl0SWtQbTBhbnowSUF5ZnZTaFA5RFpZcnREQXpBN0prR3pvUHJvUzZnaDJSUTZ4OE9uNTc2YUhCYm5OCmVXZnpkSGF5Wmw3L0NsOGJ1ckRZU3pNVi92UmY2ZTdDQlVFT1dJRStQNTZXcG1nZzhWTlFzUWl5SUV0SFFvOEMKSUtQRVo1a3owbUk5R1FyNEhwTytYMU1HQzliSkNXK1kyZEN4VXk1dTdiTGxlbTUrbFF6VFN2OEhSdUhxclVJeApvZUJMSWViQmFzUFR6enNES3JIbm5FYTFFb3JudGZEbVg1Q3JudmpzL3UzN3RRMXZRRWNIL3E4T1lNQ2JEemg2CmNIT2JOTXhZYmtrUHNYYmxDS05WNVA3ZEJITVJDQkhaSFd1NTRzRTJnb2dpY2tXeGJ2NnJYMEJ3K1NZQ21mbzUKaWJFaFVhazdOeGF1OXZYTnJhT3BZZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMk53ZjR1aHhKaXhsNXgycXZWOENnME5kWDJrd21ZejBMUnJFZXJXNUlFRy9VQ0V2CnR2M2NYNHVueTlzeS9MRlN1NStQTURrQXdvbzlhVDc3K25lZklkNitRZmFuWXV6Z2JoYitxYndGTEZiZU5IcHcKeHhydWkwSVc5NHptMGhtSjBqVHBxWExsbGRlR3NzVVplYUJVcWdhd3c4ekNScHp4NHBBZ1VZSXVudEd3Nm1mWApsYUpwVUZieTlLQnQ0MkZ5MElxZVJCNUppZkVBdjhlQ2hwRXB4cGkvZUJNRVd2elhOMzk2S3ZQV3JxbjVubmNjClMrVmMvY1lScmkyTU1LMlhTMHBCbS9CK0s3aGFyelhJcVMrSkQ4UVU2alJXQjBWT1pvcitra3dnK2N5dHFQVnkKK2dVUEtIVjUzZmI1WUUwK3l0cERXZndTNmhGb0NlL2E4NGxTWXdJREFRQUJBb0lCQVFET3NkaU9qT0F6ODBOWgphdFJ2Vk54dlFra0FCS0cyNlR0ZXRsR3BhQVhBY2dvb0ZNbUcwQ1k0eDBLeXNnWENCajJGNlVvd08xUzNGODM2CnYzYXFQMVBrazRxaUVyZHVPYnFjRTd5OUNTR2hKbGI2aSsxc1NRWXVvMXFDcnNEZVprc1BtVEZST2RzTDIvWmQKOURFWTFURjlNWTFQd3AwMWNxZTJPNHNpUlVPc1NRMys4UlQxZk9JYlBvTjV5K1dyWHBxaDBpNUhRRzdUc0hUbApnTkg2dUd3RUJCSG5xOUd6NWJ5RU9nTjBNWnVNTUxFZ2FjNWhGbS92aGZyK1lYNUZXM09pTGwyUUdJUENKeUF2ClhTNCtnUmFmRnIvc3BORlVyWWVSaGkyS0dPLzd0dUtKNEs4QndEQ3Y4NUNaOStTM05DbTg2d2dMUFRPNFg0NFoKOHdlVkt4cDVBb0dCQU9wMTlpc3JacXdwVVQ3bUJ1TUZFSWhiVmw0VGpaUlVVamZOaGJQM1BNZUEyeEI0WXlJbwpYNU9yaGp4S0JJS1g3SDg2OER3UXNKNGJXRlVyeWY2TUMwNkNlL2w5L1dGLzNXbVhqV2NYWWhSeDRJREMxTy83CkNMUHBvdEhMRWVkK0NnY3RaZUNkeC93U0p3eDZPT0k4alhNTnk5WjJXRzMyS0hsRDVka0RGS3IzQW9HQkFPekkKT2FSYSt1cjFZNjY0UTNqbGRFV1hBZkttL0pkT3kzL0JTYVluRHlUdWMzV3VXNFhTeEFRQXUxckxuWVBvbDZVNgpVcWdCMTh2VXh3K0pBNG8waXVkUTcweHlibnpYNENENm5xeURJek1WbEFLaFF0ZUF3cEZKZW56bUZlejFHRkw3CkdsdGE5WWRoT045Q01SNVlFNlNpNXVmWVhCYVpxUU9GYk1JR2l1ejFBb0dBSlBQTWhZZEVtbE8wdTE0VHJjb0oKamdRZk81cUhVTjV0U3VBNGQyRzdFWkpzZEU4VkNMZ21RQ2JqZERNU1BPYm0zaktTMUZTcEVYSXIzTmlXOEdodwpDOEtpK1hKeThkL3VMSXMzUFExQlp3bC9vYXVUVmZOUnJ0RmUyUVBSWVpQS3p0REg0cnZiWGc0YVcyd1Q5UXdvCkd2OE1wbE5tb29ZT1lQWmpqbTFlMzRjQ2dZQVBNeDg0SkxyOHdEbmc2bVV5YXBCWE0wVmx2VUJ6dWhRb0pGRkYKQURiaHFRanlZZm53RWtLUSt6Y0xzZ3h2Zmt2VnlIT3I0MHBtQkVldkFKMmdqcFRvR25MeUZscHZXekJCRGJXSAozM2N2L1UrZUI1b1IyV3NrQm5KOWVBdXFSV1dGVmljdi9Cdk16L25sb3dzaUpvZEVSMHpKVDBOQ0ZDVWNXOEZLCmh6Nzl6UUtCZ0RLQWlqVVRCeXpPUU9kbWF1ZEtNZU5vQ1MxK1IyTis2Mk1NbW1SZGUyV1h6QmtHWmRDekpqeE0KdGJHR1c5QmprTnlWVGwxOTVoNFNyU2EwTmFmTUVNSVNEMlBPWUh1anJyL0R4dFQ3bHI5dklTSndyTERaenZ1QworTjFzbm5NZkJFZzBieXg2b1lkZFhDZXNmaTdwSGhpaSt6Rmc1Y0NIREt2cUJ2VE1CVjRLCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

19
configs/config-release

@ -0,0 +1,19 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1Ea3lNekF5TXpJeE0xb1hEVE16TURreU1EQXlNekl4TTFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTm9RCithdzhhVUZ2SjIvT1J6UlI3N3R3cEhUSVJJZDVUZFdGMzFuaFpWK0h2VS9WeXg3aTI3dFZQSEpxWU4vWWxsQ0EKU3QyYWlZMHluMDlvWmtsMWZ5U0tPdlhaT3dvSnJ6ZEp3c3pzZWhqMEhtSWNncm1lZ2I5YjB5QmxnVXEwUXlFcgpNOE9mbmZPdGYwZVJiaFA3OWRMWCtrZWg0SlM3eUV4K0IrVXBxaytMditNME1lMVFpM0RDZFJva0pVUTVzdi9yCkZBNDY3Yjc1VGd6MUF2VmlaYjI0QzI2RW1jd1pCS0t5eWlJbi9OeUt1ZlN4eW1hdEphK0tkRjRlYnNHMS9jTEgKYnpUZXdLSHEzSDFjbU4zeVBHclN4Y0VBQXRtZDZXKzE0R2RlaWRidHRwWmw2enRZenFmNnZPWWxjajlMcm9WNwphWENtZlJoRTU2bEhKcG5lMkJjQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0tVTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFISGJCL3JpS2NNRlVzN09WWnZXQVBWUGorNUcKSkltNnk2b3hzb1JrRDVnVEZtNVhNZTVEVzVmQ3JUb1lwd2NmdEhwNG5WTXA4MkJxUWZQZU5MazMybFRBQndIdwpDeHhIZmFIMnN6YXo3R2VGeGRzY3NhNVZqamlnUFUvaWxsUFhNVk1KNVp5ZERNK1FNcThZUGh1WVVDeVEwcGM1CnZlRERuQm9Hd0VWMmVydXpnVmZlQndUWmdQWmxNMVd6U3FWZU1UUkN4V3dtamc1ZXJ6dEN3V3RZdlRnc1doMEwKVy96aVA1cE55eDBjQzE0SFk5eTFja1BxdFNjRUJFRlFQRlJRY1hMYXVqaGtKU283TDgybDhaOGttWjEwQ2VtbApFNVN4M3ArUklnalJNU3kydk8zK2RRZElnTmpTcnNxNVYzSnZQZy85MlYxQWYxeGVkSFdYeEJ2WWJOOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://10.3.252.1:443
name: cls-0jzoeas4
contexts:
- context:
cluster: cls-0jzoeas4
user: "100029745731"
name: cls-0jzoeas4-100029745731-context-default
current-context: cls-0jzoeas4-100029745731-context-default
kind: Config
preferences: {}
users:
- name: "100029745731"
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURERENDQWZTZ0F3SUJBZ0lJQVBGMVd1a0xpNG93RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBNU1qVXdNakE1TlRoYUZ3MDBNekE1TWpVd01qQTVOVGRhTURZeApFakFRQmdOVkJBb1RDWFJyWlRwMWMyVnljekVnTUI0R0ExVUVBeE1YTVRBd01ESTVOelExTnpNeExURTJPVFUyCk1EYzNPVGN3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzNaZDdLMHJWblcxdGoKbFNnaFlYcUZCMlpEOUJrV0Foc1hmV3FjQkVZNjRscmZEOGZxaWJhay9MZms3aHlNVEJaZnRsR3hzV3VXdXFwdApxUDhSMkVqZ0VoNHRCUTNsdGJVcktNd3V2akhQZUROaW9YOTZETWhjQ2VyK0pyKzdEbExkOWlRdFIzeVEwK0lMCjlZT0dsdytkdW5ZWTh1Ykd6ekMwdTRvRmtWSFJWMS9NMDdPd245Szl5UkVMUEZ1UnBJaG5OZU92bWY2VFBJRkQKNWRUaStUc3d1TGUyazlpcUFlaUFncVdUMXVTMXFKYlFPR3ozaDJqY005WGZrOGp3K1pQMFFpb3lIY2FmZEpuSwpzcjBCVHFkY1NpZFlOY0pySmwzcXpzOXJwSHcyMHZ4Ri9qa1Ivbk9wT0dNSkpOQVhvNEEvU3Ryb0VXZXhPM25rCjRuTkU3MFA1QWdNQkFBR2pQekE5TUE0R0ExVWREd0VCL3dRRUF3SUNoREFkQmdOVkhTVUVGakFVQmdnckJnRUYKQlFjREFnWUlLd1lCQlFVSEF3RXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQpqYU9pUXduMVF4ZG9HK2lRQlNNdHdXSVJmcWRDSXMwK2NZUHZaWkZLYmZZYVlORVJFakYzY2xkN2NUeGN5Vm9HClBGYXFlV0tyQ1gxNzRKNU4reURLR2RGVFhxMzdXdWdMV251K3hXTEhXS21KQzlVT0ZUaG1NR0VjcnBRZ1ZjQU0KMDNIL1Uwei9tU2VuZmMrMW5yNjRuN0UwR3A1cnQ1MitqQVk2TjBpK055ZDJqQk4zKzNZK1ZLYUZBbkV0Z0xBRAoybDZpbDRvZWpJZm9rZWZ3T21Mc21xd05obHFBTjFUS2JkOE5XTHVSUlNmNGttcmhYVGliWTUrMXJnVmdTemVMCnJWanloWk5hZ1RXOXVxVHV5QmlzK21EZGJPaFRSVFVpVjhybmJIeVc0bERxUkhCVW9Zd0V1R1NXTUYzdzVpOXoKdzZWeUJRUkR5QjllRnFkMGlUYlVjQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBdDJYZXl0SzFaMXRiWTVVb0lXRjZoUWRtUS9RWkZnSWJGMzFxbkFSR091SmEzdy9ICjZvbTJwUHkzNU80Y2pFd1dYN1pSc2JGcmxycXFiYWovRWRoSTRCSWVMUVVONWJXMUt5ak1McjR4ejNnellxRi8KZWd6SVhBbnEvaWEvdXc1UzNmWWtMVWQ4a05QaUMvV0RocGNQbmJwMkdQTG14czh3dEx1S0JaRlIwVmRmek5PegpzSi9TdmNrUkN6eGJrYVNJWnpYanI1bitrenlCUStYVTR2azdNTGkzdHBQWXFnSG9nSUtsazlia3RhaVcwRGhzCjk0ZG8zRFBWMzVQSThQbVQ5RUlxTWgzR24zU1p5cks5QVU2blhFb25XRFhDYXlaZDZzN1BhNlI4TnRMOFJmNDUKRWY1enFUaGpDU1RRRjZPQVAwcmE2QkZuc1R0NTVPSnpSTzlEK1FJREFRQUJBb0lCQVFDeWxhOHFINTVubysxTQovaXlTdk1JNmtlY0NXc3FteEt3dTVvQ09waGJoTmhPNHpEd201YTBGNGRVTVJ0Vmp4Sit3MmUrWk1hUUxwWDlaCncwdUZ5Ky9DeWNHNm93WlNYZXVwdUZPRFhNOVNNTUVRMVNRMTdBYWFvVW5EN0dXZE42aDMzVHlESHU1c2RQYlUKSUdIUUNIODdYeHVxMWJUbGVWSDdXL2RkenBFMlg5RHd0RHhSbTZqZmZNZUYrYXdVSkRWamJrKzBFMXJ4dzZZNQo3YkRzMHgxZUE3czh0WGVRWkhjWEQ3c0xUZjExYThoZU5xK0VRNjJHVDJMZkFOOEVtUmVaaG9DdDJkZDliSGxuCkFtaEVteUFhYkRrRTFRZTVGVTF0WFlTTHRXeEJlQU9OTWR2Mk5KbTBZT2h0WVhHejBzYXZjNGQ5OEJUNFAxaEQKOXMzWGtuZ1ZBb0dCQU9aWlBob1lqaGgzRjN3Z1NwUDdXTUt0NU1JY0NLWFJuNk5HWDdJYTRSWjNMdlZJTHJocApOSTlUMnY0K3NKcU43NUJiY0Exc0F1aXJOQ3pKM3NUV0hoa2dKNlZERGh5ODAvbys0Mys3Q1RGZVBWUVhOYk8wCm1uYkJuekFHUyttMHdMVU80a2NhamFVYW5mMXZqai8rR1ljemszdy9mTHpaRDFkSTg5c0ZIV3V2QW9HQkFNdlMKS1grd1JraXo2MXptQjVUdVZhYUdMUWNDekMzSThvWXNSQlZsdEc3L0lmcE5IUEJBb0NJVUsyc0JCRkZHSE5qMQpSaDRybGlUZjFMaVNUdk85Z0lDOEpZek1oVFRUVXVYT0dwWHZteDk5cUYwN2Nyb2xsWG52RTNxQVlTRC8vWWpvCkFWMVRSZUp1RVZCTlNWWjJQZnRFWjlDRG93VlJXNCtOSjBvajlHelhBb0dCQUxpb0IvR3hoNCt6UUo5ZjM0azcKcjg3NHllNlZ2SlQ1TTRrWExEWEIrSGtpK0FEbmFaU3B1ZG5BTmtra2hqeVAxZUVhZS93MmZ5cDN2RzYvTVpjSApzcjhmbU1pUnRhbHg4bGlrdTRrMHJjem1xREZXSGRXK3pTaXdWT1dSMXA4MktGbTg0Y1p3VWVadUxRTHl2ODBxCjdOb0dqWS9IOFQ0T240NndTOVJqQ0UrL0FvR0FDTWVSd0ExUXlicnVUWDhmSG53eHRrMmJUTzBDN0luMllHOHgKczVaQThuTU0vS0lydC9HZ3REY1lNN0RFaGRlMlVHWW9VZzVnbGxBSjhyVmlyejhmZE93bDFlM05ZeHdqT3dEbwp4a0tlOVBsTnNrNW9QN3AwdU43aWdPbGN4YlloTHErSHQ0UnB3em9vaHNQOWY3cnlLb3VreVNlU2N4MHhDM3J5CkVWQ0JLOXNDZ1lFQW1rQnY0N0U2V21Rd1BsVWR1c0c3dkRpeHVjOFNEVlBsYnBaS3hFejJmTG9RQ0JjOGREV0oKenRUQUNtMkdEQlBmbitGLzk1NjU3SlhVQ3NZRUkya2p3WVZzeGxjOEpNM1FEZHZiemFnMEtIdjVna0pVelk1ZgpUa1hscUdIaXZXSHVOU0JLSXcwdFBmQnhlMVREUzlERFQrT2ZablZub2lSU1hPY1QvSUxrc3NnPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

67
go.mod

@ -0,0 +1,67 @@
module git.gz.internal.jumaiyx.cn/job/hotspot_queue
go 1.20
require (
git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20231031083052-76fc676bf524
git.gz.internal.jumaiyx.cn/pkg/client v0.0.0-20231031080505-e9d6750fb998
git.gz.internal.jumaiyx.cn/pkg/config/v2 v2.0.0-20231031123738-f6698f93632e
git.gz.internal.jumaiyx.cn/pkg/jtime v0.0.0-20230627153611-5d9e320123cc
github.com/redis/go-redis/v9 v9.3.0
)
require (
git.gz.internal.jumaiyx.cn/pkg/k8s-client/v2 v2.0.3-0.20231031073900-0935c19ca12d // indirect
git.gz.internal.jumaiyx.cn/pkg/kubediscovery v0.0.0-20231101015739-a581c91458c3 // indirect
git.gz.internal.jumaiyx.cn/proto/game-server v0.0.0-20231031074443-b9b51900f07a // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/go-kratos/aegis v0.2.0 // indirect
github.com/go-kratos/kratos/v2 v2.7.1 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-openapi/jsonpointer v0.20.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.22.4 // indirect
github.com/go-playground/form/v4 v4.2.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.4.0 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/oauth2 v0.13.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/term v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/api v0.28.3 // indirect
k8s.io/apimachinery v0.28.3 // indirect
k8s.io/client-go v0.28.3 // indirect
k8s.io/klog/v2 v2.110.1 // indirect
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

24
job.yaml

@ -0,0 +1,24 @@
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hotspot-queue-job
namespace: dev
spec:
schedule: "0 5 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hotspot-queue-job
image: registry.internal.jumaiyx.cn/job/room-server-clear:1
imagePullPolicy: IfNotPresent
command:
- ./server
env:
- name: JM_ENVIRONMENT
value: dev
restartPolicy: OnFailure
imagePullSecrets:
- name: registry-harbor

BIN
main

Binary file not shown.

188
task/task.go

@ -0,0 +1,188 @@
package task
import (
"context"
"fmt"
giftv1 "git.gz.internal.jumaiyx.cn/jm/jmproto/gift/v1"
livev1 "git.gz.internal.jumaiyx.cn/jm/jmproto/live/v1"
v2 "git.gz.internal.jumaiyx.cn/jm/jmproto/room/v2"
"git.gz.internal.jumaiyx.cn/pkg/client"
configv2 "git.gz.internal.jumaiyx.cn/pkg/config/v2"
"git.gz.internal.jumaiyx.cn/pkg/config/v2/cproto"
"git.gz.internal.jumaiyx.cn/pkg/jtime"
"github.com/redis/go-redis/v9"
"strconv"
"sync"
"time"
)
const (
hotspotQueueKey = "room:hotspot:sort"
hotKey = "room:hot:ranking"
)
var (
redisInstance *redis.Client
once sync.Once
)
func NewRedis() *redis.Client {
redisConfig := &cproto.Redis{}
err := configv2.Get(context.Background(), configv2.Redis, redisConfig)
if err != nil {
}
once.Do(func() {
redisInstance = redis.NewClient(&redis.Options{
Addr: redisConfig.Addr,
Password: redisConfig.Password,
PoolSize: 10,
ReadTimeout: 100 * time.Second,
WriteTimeout: 100 * time.Second,
})
})
return redisInstance
}
type Task struct {
}
func NewTask() {
for {
redisClient := NewRedis()
ctx := context.Background()
lLen := redisClient.LLen(ctx, hotspotQueueKey).Val()
if lLen == 0 {
return
}
result, err := redisClient.RPop(ctx, hotspotQueueKey).Result()
if err != nil {
continue
}
id, _ := strconv.Atoi(result)
if id == 0 {
continue
}
roomId := int64(id)
var (
value int64 // 房间初始热度值
currentOnlineTotal int64 // 实时在线人数总值
todayOnlineTotal int64 // 一天的人数总值
amountTotal int64 // 金额总数值
//lastAmountTotal int64 // 上次金额总值
)
now := time.Now()
// 获取房间信息
roomClientV2, err := client.GetRoomClientV2(ctx)
//roomClientV2, err := client.GetRoomClientLocalV2("127.0.0.1:9001")
if err != nil {
return
}
roomRsp, err := roomClientV2.GetRoom(ctx, &v2.GetRoomReq{
RoomId: roomId,
})
if err != nil {
continue
}
// 忽略下播的房间和广场房间
if roomRsp.Status != v2.RoomStatus_RoomStatusUp || roomRsp.RoomType == v2.RoomType_Hall {
return
}
// 获取房间
// 获取房间初始值
value = 100
liveClientV2, err := client.GetLiveClient(ctx)
if err != nil {
continue
}
defaultHotValueResp, err := liveClientV2.GetDefaultHotValueList(ctx, &livev1.GetDefaultHotValueListReq{
RoomList: []int64{roomId},
})
if err != nil {
continue
}
if len(defaultHotValueResp.Items) != 0 {
value = int64(defaultHotValueResp.Items[0].HotValue)
}
// 获取房间在线人数
onlineCountRsp, err := roomClientV2.GetOnlineListCount(ctx, &v2.GetOnlineListReq{
RoomIdList: []int64{roomId},
StatusList: []int32{1},
})
if err != nil {
continue
}
currentOnlineTotal = onlineCountRsp.Total
// 一天之前的时间
//todayMinutesSecond := (now.Unix() - 10*60) * 1000
todayMinutes := jtime.TimeTimestamp(jtime.SecondsAgoTime(now, -(86400)))
// 一个星期前的时间
prevWeekTime := jtime.SecondsAgoTime(time.Now(), -86400*7)
startTime := prevWeekTime.UnixMilli()
// 获取房间总流水
giftClient, err := client.GetGiftClient(ctx)
if err != nil {
return
}
giftRsp, err := giftClient.QueryGiveRoomGift(ctx, &giftv1.QueryGiveRoomGiftReq{
RoomIdList: []int64{roomId},
CreateAtStart: &startTime,
})
if err != nil {
return
}
amountTotal = giftRsp.TotalAmountDiamond + giftRsp.TotalAmountGoldCoins
// 获取一天的总人数
lastOnlineCountRsp, err := roomClientV2.GetOnlineListCount(ctx, &v2.GetOnlineListReq{
RoomIdList: []int64{roomId},
CreatedStart: todayMinutes,
Deleted: true,
})
if err != nil {
return
}
todayOnlineTotal = lastOnlineCountRsp.Total
// 初始热度值 + (一个小时内总人数 * 10 + 一个星期内总流水) - 时间段内((十分钟之前总数 - 现在总人数) + (十分钟之前总流水 - 总流水【一个星期内】)) = 热度值
// 总人数【一天内】+(实时在线人数/总人数)* 10 = 人数热度值
// 总流水【一个星期内】 * 10 = 流水热度值
//currentOnlineTotal + (todayOnlineTotal * todayOnlineTotal) * 10
fmt.Println("amountTotal:", (todayOnlineTotal*todayOnlineTotal)*10)
fmt.Println("amountTotal:", amountTotal*10)
v := value + currentOnlineTotal + (todayOnlineTotal*todayOnlineTotal)*10 + amountTotal*10
fmt.Println(v)
//usecase.logger.Info("实际人数:", onlineTotal)
//usecase.logger.Info("总流水:", amountTotal)
//usecase.logger.Info("十分钟之前总数:", lastOnlineTotal)
//usecase.logger.Info("十分钟之前总流水:", lastAmountTotal)
//usecase.logger.Info("热度值:", v)
err = redisClient.HSet(ctx, hotKey, redis.Z{
Member: roomId,
Score: float64(v),
}).Err()
if err != nil {
continue
}
// 写入数据库
hotValue := int32(v)
_, err = roomClientV2.UpdateRoom(ctx, &v2.UpdateRoomReq{
Id: roomId,
Data: &v2.UpdateRoomReq_Data{
HotValue: &hotValue,
},
})
if err != nil {
continue
}
}
}
Loading…
Cancel
Save