-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
32 changed files
with
1,629 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "gomod" | ||
directory: "/" # Location of package manifests | ||
schedule: | ||
interval: "monthly" | ||
|
||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "monthly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: Docker | ||
on: | ||
push: | ||
tags: | ||
- 'v*' | ||
env: | ||
IMAGE_NAME: ywserver/yiwen-api | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: Swatinem/rust-cache@v2 | ||
- name: Build the Docker image | ||
run: | | ||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | ||
docker buildx create --use | ||
docker login --username ${{ secrets.CR_USERNAME }} --password ${{ secrets.CR_PASSWORD }} ${{ secrets.CR_REGISTRY }} | ||
IMAGE_TAG="${{ secrets.CR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}" | ||
TAGS="-t ${IMAGE_TAG}" | ||
docker buildx build --platform='linux/amd64,linux/arm64' $TAGS --push . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: CI | ||
on: | ||
push: | ||
branches: | ||
- 'main' | ||
jobs: | ||
# Test on various OS with default Go version. | ||
tests: | ||
name: Test on ${{matrix.os}} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest] | ||
go-version: ['1.20.x'] | ||
|
||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: ${{ matrix.go-version }} | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 1 | ||
|
||
- name: Print Go version | ||
run: go version | ||
|
||
- name: Get dependencies | ||
run: go get -v -t -d ./... | ||
|
||
- name: Run tests | ||
run: go test -v -failfast -tags=test -timeout="3m" -race ./... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,3 +19,6 @@ | |
|
||
# Go workspace file | ||
go.work | ||
config.toml | ||
debug | ||
dist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Cross-compiling using Docker multi-platform builds/images and `xx`. | ||
# | ||
# https://docs.docker.com/build/building/multi-platform/ | ||
# https://github.com/tonistiigi/xx | ||
FROM --platform=${BUILDPLATFORM:-linux/amd64} tonistiigi/xx AS xx | ||
|
||
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:bookworm AS builder | ||
WORKDIR /src | ||
|
||
COPY --from=xx / / | ||
|
||
# `ARG`/`ENV` pair is a workaround for `docker build` backward-compatibility. | ||
# | ||
# https://github.com/docker/buildx/issues/510 | ||
ARG BUILDPLATFORM | ||
ENV BUILDPLATFORM=${BUILDPLATFORM:-linux/amd64} | ||
RUN case "$BUILDPLATFORM" in \ | ||
*/amd64 ) PLATFORM=x86_64 ;; \ | ||
*/arm64 | */arm64/* ) PLATFORM=aarch64 ;; \ | ||
* ) echo "Unexpected BUILDPLATFORM '$BUILDPLATFORM'" >&2; exit 1 ;; \ | ||
esac; | ||
|
||
# `ARG`/`ENV` pair is a workaround for `docker build` backward-compatibility. | ||
# | ||
# https://github.com/docker/buildx/issues/510 | ||
ARG TARGETPLATFORM | ||
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64} | ||
|
||
COPY . . | ||
RUN make xx-build | ||
|
||
FROM debian:bookworm-slim AS runtime | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y ca-certificates tzdata curl \ | ||
&& update-ca-certificates \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
WORKDIR /app | ||
COPY --from=builder /src/config ./config | ||
COPY --from=builder /src/dist/goapp ./ | ||
ENV CONFIG_FILE_PATH=./config/config.toml | ||
|
||
ENTRYPOINT ["./goapp"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# options | ||
ignore_output = &> /dev/null | ||
|
||
.PHONY: run-dev test lint build xx-build | ||
|
||
APP_NAME := auth-api | ||
APP_PATH := github.com/yiwen-ai/yiwen-api | ||
APP_VERSION := $(shell git describe --tags --always --match "v[0-9]*") | ||
BUILD_TIME := $(shell date -u +"%FT%TZ") | ||
BUILD_COMMIT := $(shell git rev-parse HEAD) | ||
|
||
run-dev: | ||
@CONFIG_FILE_PATH=${PWD}/config.toml APP_ENV=dev go run main.go | ||
|
||
test: | ||
@CONFIG_FILE_PATH=${PWD}/config/test.yml APP_ENV=test go test ./... | ||
|
||
lint: | ||
@hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ | ||
go get -u golang.org/x/lint/golint; \ | ||
fi | ||
@golint -set_exit_status ${PKG_LIST} | ||
|
||
build: | ||
@mkdir -p ./dist | ||
@CGO_ENABLED=0 go build -ldflags "-X ${APP_PATH}/src/conf.AppName=${APP_NAME} \ | ||
-X ${APP_PATH}/src/conf.AppVersion=${APP_VERSION} \ | ||
-X ${APP_PATH}/src/conf.BuildTime=${BUILD_TIME} \ | ||
-X ${APP_PATH}/src/conf.GitSHA1=${BUILD_COMMIT}" \ | ||
-o ./dist/goapp main.go | ||
|
||
xx-build: | ||
@mkdir -p ./dist | ||
@CGO_ENABLED=0 xx-go build -ldflags "-X ${APP_PATH}/src/conf.AppName=${APP_NAME} \ | ||
-X ${APP_PATH}/src/conf.AppVersion=${APP_VERSION} \ | ||
-X ${APP_PATH}/src/conf.BuildTime=${BUILD_TIME} \ | ||
-X ${APP_PATH}/src/conf.GitSHA1=${BUILD_COMMIT}" \ | ||
-o ./dist/goapp main.go | ||
@xx-verify --static ./dist/goapp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
env = "test" # "test", "dev", "prod" | ||
|
||
[log] | ||
# Log level: "trace", "debug", "info", "warn", "error" | ||
level = "info" | ||
|
||
[server] | ||
# The address to bind to. | ||
addr = ":8080" | ||
# The maximum number of seconds to wait for graceful shutdown. | ||
graceful_shutdown = 10 | ||
|
||
[base] | ||
userbase = "http://127.0.0.1:8080" | ||
writing = "http://127.0.0.1:8080" | ||
jarvis = "http://127.0.0.1:8080" | ||
webscraper = "http://127.0.0.1:8080" | ||
|
||
[oss] | ||
bucket = "yiwenai" | ||
endpoint = "oss-cn-hangzhou.aliyuncs.com" | ||
access_key_id = "" | ||
access_key_secret = "" | ||
prefix = "dev/cr/" | ||
url_base = "https://cdn.yiwen.pub/" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# auth-api | ||
|
||
## 登录 | ||
|
||
### 发起登录 | ||
`GET https://auth.yiwen.ai/idp/:idp/authorize?next_url=encodedUrl` | ||
|
||
其中 `idp` 为登录服务提供方,如 `github`, `google`, `wechat`。 | ||
|
||
`encodedUrl` 为可选参数,登录成功后会重定向到该地址,默认为 `https://www.yiwen.ai/login/state`。若提供,其域名必须为白名单中的域名。 | ||
|
||
例如通过 github Oauth2 登录: | ||
``` | ||
GET https://auth.yiwen.ai/idp/github/authorize | ||
``` | ||
|
||
登录成功后,重定向 url 会追加 `status=200` 的参数,如重定向到: | ||
``` | ||
https://www.yiwen.ai/login/state?status=200 | ||
``` | ||
|
||
登录失败时,重定向 url 会追加 `status` 和 `x-request-id` 参数,其中 `status` 为 4xx 或 5xx 的 http 状态码,`x-request-id` 可用于定位详细错误,如重定向到: | ||
``` | ||
https://www.yiwen.ai/login/state?status=403&x-request-id=xxxxxxx | ||
``` | ||
|
||
### 登录成功获取用户信息 | ||
`GET https://auth.yiwen.ai/userinfo` | ||
|
||
返回数据: | ||
```json | ||
{ | ||
"cn": "clmby76knvc", // 用户名,全局唯一,但用户可以修改 | ||
"name": "0xZensh", // 用户昵称 | ||
"locale": "zho", // 用户默认语言 | ||
"picture": "https://cdn.yiwen.pub/dev/pic/L3J7GFPpLLwapz0UF7H8wQ", | ||
"status":0 // 用户状态,-2: Disabled -1: Suspended, 0: Normal, 1: Verified, 2: Protected | ||
} | ||
``` | ||
|
||
### 登录成功获取 access_token | ||
`GET https://auth.yiwen.ai/access_token` | ||
|
||
返回数据: | ||
```json | ||
{ | ||
"sub": "2f727b18-53e9-2cbc-1aa7-3d1417b1fcc1", // 用户在应用主体下的永久唯一标识,不同应用主体下 sub 不同 | ||
"access_token": "hE2iAScESDIwM...YymcaaKQL8K", // access_token,用于 API 调用 | ||
"expires_in": 3600 // 有效期 1 小时 | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
module github.com/yiwen-ai/yiwen-api | ||
|
||
go 1.20 | ||
|
||
require ( | ||
github.com/BurntSushi/toml v1.3.2 | ||
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible | ||
github.com/fxamacker/cbor/v2 v2.5.0-beta5 | ||
github.com/google/uuid v1.3.0 | ||
github.com/klauspost/compress v1.16.7 | ||
github.com/ldclabs/cose v1.1.1 | ||
github.com/mssola/useragent v1.0.0 | ||
github.com/rs/xid v1.5.0 | ||
github.com/stretchr/testify v1.8.4 | ||
github.com/teambition/compressible-go v1.0.1 | ||
github.com/teambition/gear v1.27.2 | ||
go.uber.org/dig v1.17.0 | ||
golang.org/x/oauth2 v0.10.0 | ||
) | ||
|
||
require ( | ||
github.com/GitbookIO/mimedb v0.0.0-20180329142916-39fdfdb4def4 // indirect | ||
github.com/davecgh/go-spew v1.1.1 // indirect | ||
github.com/go-http-utils/cookie v1.3.1 // indirect | ||
github.com/go-http-utils/negotiator v1.0.0 // indirect | ||
github.com/golang/protobuf v1.5.3 // indirect | ||
github.com/pmezard/go-difflib v1.0.0 // indirect | ||
github.com/stretchr/objx v0.5.0 // indirect | ||
github.com/teambition/trie-mux v1.5.2 // indirect | ||
github.com/x448/float16 v0.8.4 // indirect | ||
golang.org/x/crypto v0.11.0 // indirect | ||
golang.org/x/net v0.12.0 // indirect | ||
golang.org/x/sys v0.10.0 // indirect | ||
golang.org/x/text v0.11.0 // indirect | ||
golang.org/x/time v0.3.0 // indirect | ||
google.golang.org/appengine v1.6.7 // indirect | ||
google.golang.org/protobuf v1.31.0 // indirect | ||
gopkg.in/yaml.v3 v3.0.1 // indirect | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= | ||
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= | ||
github.com/GitbookIO/mimedb v0.0.0-20180329142916-39fdfdb4def4 h1:WM2ftu7PazeqAxMiT0j0XmYiWW1xX99v5/PbW2UKAzE= | ||
github.com/GitbookIO/mimedb v0.0.0-20180329142916-39fdfdb4def4/go.mod h1:0JA2lIXs/dl3RUgHP5ivwjl3f0g+X2BQz3zWnq8IJa4= | ||
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible h1:KpbJFXwhVeuxNtBJ74MCGbIoaBok2uZvkD7QXp2+Wis= | ||
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= | ||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||
github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0= | ||
github.com/fxamacker/cbor/v2 v2.5.0-beta5 h1:NldHpwv5bP+qnoI00fa/JAvGQ+68oEKxARR3PciaCdw= | ||
github.com/fxamacker/cbor/v2 v2.5.0-beta5/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= | ||
github.com/go-http-utils/cookie v1.3.1 h1:GCdTeqVV5vDcjP7LrgYpH8pbt3dOYKS+Wrs7Jo3/k/w= | ||
github.com/go-http-utils/cookie v1.3.1/go.mod h1:ATl4rfG3bEemjiVa+8WIfgNcBUWdYBTasfXKjJ3Avt8= | ||
github.com/go-http-utils/negotiator v1.0.0 h1:Qp1zofD6Nw7KXApXa3pAjehP06Js0ILguEBCnHhZeVA= | ||
github.com/go-http-utils/negotiator v1.0.0/go.mod h1:mTQe1sH0XhdFkeDiWpCY3QSk7Apo5jwOlIwLWJbJe2c= | ||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= | ||
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= | ||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= | ||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= | ||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= | ||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= | ||
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= | ||
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= | ||
github.com/ldclabs/cose v1.1.1 h1:9vUZ272MebRkiysHN/7ovLPOD9KdOe9QkmCO9vtUXsE= | ||
github.com/ldclabs/cose v1.1.1/go.mod h1:uMgRupgJLt3ckxx/G+U7XWJr1F0WxHfjlVeRlZa5u2M= | ||
github.com/mssola/useragent v1.0.0 h1:WRlDpXyxHDNfvZaPEut5Biveq86Ze4o4EMffyMxmH5o= | ||
github.com/mssola/useragent v1.0.0/go.mod h1:hz9Cqz4RXusgg1EdI4Al0INR62kP7aPSRNHnpU+b85Y= | ||
github.com/pion/dtls/v2 v2.2.7 h1:cSUBsETxepsCSFSxC3mc/aDo14qQLMSL+O6IjG28yV8= | ||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= | ||
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= | ||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= | ||
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= | ||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= | ||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | ||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= | ||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= | ||
github.com/teambition/compressible-go v1.0.1 h1:9lLUAWKkLcuLGVLjVW0VzXacjH89px93PbkwmIw0lGU= | ||
github.com/teambition/compressible-go v1.0.1/go.mod h1:K91wjCUqzpuY2ZpSi039mt4WzzjMGxPFMZHHTEoTvak= | ||
github.com/teambition/gear v1.27.1 h1:2nNo/8IHujl87XSyVzgUwFPN7UJQbWdEhgqUQf+8yok= | ||
github.com/teambition/gear v1.27.1/go.mod h1:H9UJHkhqeC/MCDFQ+PxpaSeMUz1p6pzBeLYzYMVsupM= | ||
github.com/teambition/gear v1.27.2 h1:huxdTd3B/jnn04jjSuJm7+/lzwiulukN3Fd5ew1yn9w= | ||
github.com/teambition/gear v1.27.2/go.mod h1:H9UJHkhqeC/MCDFQ+PxpaSeMUz1p6pzBeLYzYMVsupM= | ||
github.com/teambition/trie-mux v1.5.2 h1:ALTagFwKZXkn1vfSRlODlmoZg+NMeWAm4dyBPQI6a8w= | ||
github.com/teambition/trie-mux v1.5.2/go.mod h1:0Woh4KOHSN9bkJ66eWmLs8ltrEKw+fnZbFaHFfbMrtc= | ||
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= | ||
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= | ||
go.uber.org/dig v1.17.0 h1:5Chju+tUvcC+N7N6EV08BJz41UZuO3BmHcN4A287ZLI= | ||
go.uber.org/dig v1.17.0/go.mod h1:rTxpf7l5I0eBTlE6/9RL+lDybC7WFwY2QH55ZSjy1mU= | ||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||
golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= | ||
golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= | ||
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= | ||
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= | ||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= | ||
golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= | ||
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= | ||
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= | ||
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= | ||
golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= | ||
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= | ||
golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= | ||
golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= | ||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= | ||
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= | ||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | ||
golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= | ||
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= | ||
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= | ||
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= | ||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= | ||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= | ||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | ||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= | ||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= | ||
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= | ||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |
Oops, something went wrong.