commit 304aaa0110c3bdc285d1471c48720371f0b8ea0c Author: otto <965391514@qq.com> Date: Wed Nov 1 10:58:49 2023 +0800 up diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4e4eea5 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5a86323 --- /dev/null +++ b/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"] \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..0a67757 --- /dev/null +++ b/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 + diff --git a/cmd/main.go b/cmd/main.go new file mode 100644 index 0000000..70fb8f9 --- /dev/null +++ b/cmd/main.go @@ -0,0 +1,7 @@ +package main + +import "git.gz.internal.jumaiyx.cn/job/hotspot_queue/task" + +func main() { + task.NewTask() +} diff --git a/configs/config b/configs/config new file mode 100644 index 0000000..9ce70dc --- /dev/null +++ b/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= \ No newline at end of file diff --git a/configs/config-dev b/configs/config-dev new file mode 100644 index 0000000..9ce70dc --- /dev/null +++ b/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= \ No newline at end of file diff --git a/configs/config-master b/configs/config-master new file mode 100644 index 0000000..7b4c136 --- /dev/null +++ b/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== \ No newline at end of file diff --git a/configs/config-release b/configs/config-release new file mode 100644 index 0000000..3f063bb --- /dev/null +++ b/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= diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..6176801 --- /dev/null +++ b/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 +) diff --git a/job.yaml b/job.yaml new file mode 100644 index 0000000..90151e1 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/main b/main new file mode 100755 index 0000000..f6a4069 Binary files /dev/null and b/main differ diff --git a/task/task.go b/task/task.go new file mode 100644 index 0000000..1c6d45e --- /dev/null +++ b/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 + } + } + +}