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

refactor: migrate to chi framework #165

Merged
merged 77 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
35fe1ee
refactor: 重构部分完成
devhaozi Sep 13, 2024
3ef5cab
fix: 添加.gitkeep
devhaozi Sep 13, 2024
e11fa9f
fix: build
devhaozi Sep 13, 2024
a3dfb9f
fix: lint
devhaozi Sep 13, 2024
79ce055
fix: lint
devhaozi Sep 13, 2024
7cdfe85
chore(deps): Update module github.com/go-playground/validator/v10 to …
renovate[bot] Sep 13, 2024
c19afc7
chore(deps): Update module gorm.io/gorm to v1.25.12 (#161)
renovate[bot] Sep 13, 2024
ac73bf1
chore(deps): Update module golang.org/x/net to v0.29.0 (#159)
renovate[bot] Sep 14, 2024
0a940d6
workflow: 更新工作流
devhaozi Sep 14, 2024
3a671db
workflow: test new download
devhaozi Sep 14, 2024
46b9f5e
feat: merge frontend project
devhaozi Sep 14, 2024
da00b62
workflow: fix frontend build
devhaozi Sep 14, 2024
2516e08
workflow: fix frontend build
devhaozi Sep 14, 2024
65255b4
workflow: fix frontend build
devhaozi Sep 14, 2024
7d4a25e
workflow: fix frontend build
devhaozi Sep 14, 2024
de0d1e2
workflow: fix frontend build
devhaozi Sep 14, 2024
e53bacf
workflow: fix frontend build
devhaozi Sep 14, 2024
ae53f16
workflow: fix frontend build
devhaozi Sep 14, 2024
c533a81
workflow: fix frontend build
devhaozi Sep 14, 2024
a337261
workflow: fix frontend build
devhaozi Sep 14, 2024
d9adfa9
workflow: fix frontend build
devhaozi Sep 14, 2024
e7424ae
workflow: fix frontend build
devhaozi Sep 14, 2024
28cfa35
workflow: fix frontend build
devhaozi Sep 14, 2024
79ea88c
workflow: fix frontend build
devhaozi Sep 14, 2024
5370856
workflow: update to ubuntu-24.04
devhaozi Sep 14, 2024
75d29f4
workflow: rename build-*
devhaozi Sep 14, 2024
b62fa6e
workflow: 修改fetch-depth
devhaozi Sep 14, 2024
ba18c01
chore(deps): Update dependency eslint to v9 (#164)
renovate[bot] Sep 14, 2024
1cab53e
chore(frontend): update dependences
devhaozi Sep 14, 2024
cf4294a
chore(frontend): fix lint
devhaozi Sep 14, 2024
d95799c
chore(frontend): fix lint
devhaozi Sep 14, 2024
110c39a
workflow: add govulncheck
devhaozi Sep 14, 2024
ec5d8a0
workflow: disable nilaway
devhaozi Sep 14, 2024
0efb1e4
feat: 使用新的压缩解压库
devhaozi Sep 14, 2024
8a51ee8
fix: 测试
devhaozi Sep 14, 2024
04082e0
fix: 测试
devhaozi Sep 14, 2024
0c5ab92
fix: 测试
devhaozi Sep 14, 2024
1e7b613
feat: 添加ntp包
devhaozi Sep 14, 2024
a6f2c9c
chore(deps): Lock file maintenance (#168)
renovate[bot] Sep 16, 2024
02a1a35
chore(deps): Update module github.com/go-resty/resty/v2 to v2.15.0 (#…
renovate[bot] Sep 16, 2024
0890f63
chore(deps): Update dependency @iconify/json to v2.2.249 (#169)
renovate[bot] Sep 16, 2024
0d16f84
feat: 添加限流器
devhaozi Sep 16, 2024
0f5e031
Merge remote-tracking branch 'origin/dev' into dev
devhaozi Sep 16, 2024
b5509ec
feat: 调整登录限流
devhaozi Sep 16, 2024
c781ab0
feat: 证书
devhaozi Sep 16, 2024
575e3fd
fix: lint
devhaozi Sep 16, 2024
433421e
feat: 证书dns
devhaozi Sep 16, 2024
1039fbe
feat: 证书acme账号
devhaozi Sep 16, 2024
f148763
fix: 修改UserID导致的一系列问题
devhaozi Sep 16, 2024
eac3c5b
feat: 低配版任务队列
devhaozi Sep 16, 2024
c79f275
feat: 队列完成
devhaozi Sep 16, 2024
21ec35b
fix: lint
devhaozi Sep 16, 2024
c1e3d04
fix: lint
devhaozi Sep 16, 2024
5847297
fix: swagger和前端路由
devhaozi Sep 16, 2024
d695bbc
fix: 去掉ntp测试
devhaozi Sep 16, 2024
563fd7c
feat: 完成插件接口
devhaozi Sep 16, 2024
24f096d
feat: 完成cron
devhaozi Sep 16, 2024
6c70085
feat: 完成safe
devhaozi Sep 16, 2024
ce4fd1f
chore(deps): Update dependency vue to v3.5.6 (#170)
renovate[bot] Sep 16, 2024
7ab6c21
chore(deps): Update dependency @vueuse/core to v11.1.0 (#171)
renovate[bot] Sep 16, 2024
b2da308
chore(deps): Update dependency vite to v5.4.6 (#173)
renovate[bot] Sep 17, 2024
3885c91
chore(deps): Update unocss monorepo to v0.62.4 (#172)
renovate[bot] Sep 17, 2024
d138d44
chore: update renovate config
devhaozi Sep 17, 2024
7558ffb
feat: 新的firewall客户端
devhaozi Sep 17, 2024
3f6692f
Merge remote-tracking branch 'origin/dev' into dev
devhaozi Sep 17, 2024
9fd82b9
fix: lint
devhaozi Sep 17, 2024
ecc6dda
feat: firewall完成
devhaozi Sep 17, 2024
418cd3a
feat: ssh完成
devhaozi Sep 17, 2024
8338214
feat: 容器完成1/2
devhaozi Sep 17, 2024
e043216
feat: 容器完成
devhaozi Sep 17, 2024
224c90f
feat: 文件完成
devhaozi Sep 17, 2024
8d42e84
feat: systemctl及设置
devhaozi Sep 17, 2024
83b167b
fix: windows编译
devhaozi Sep 17, 2024
4773b17
fix: session not work
devhaozi Sep 17, 2024
7cf971a
fix: migrate not work
devhaozi Sep 17, 2024
fbd4bdb
feat: 前端路由
devhaozi Sep 17, 2024
4942745
feat: 初步支持cli
devhaozi Sep 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
69 changes: 69 additions & 0 deletions .air.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Config file for [Air](https://github.com/air-verse/air) in TOML format

# Working directory
# . or absolute path, please note that the directories following must be under root.
root = "."
tmp_dir = "storage/temp"

[build]
# Array of commands to run before each build
pre_cmd = []
# Just plain old shell command. You could use `make` as well.
cmd = "go build -o storage/temp/main.exe ./cmd/app"
# Array of commands to run after ^C
post_cmd = []
# Binary file yields from `cmd`.
bin = "storage/temp/main.exe"
# Customize binary, can setup environment variables when run your app.
full_bin = ""
# Watch these filename extensions.
include_ext = ["go", "tpl", "tmpl", "html"]
# Ignore these filename extensions or directories.
exclude_dir = ["storage", "web"]
# Watch these directories if you specified.
include_dir = []
# Watch these files.
include_file = []
# Exclude files.
exclude_file = []
# Exclude specific regular expressions.
exclude_regex = ["_test\\.go"]
# Exclude unchanged files.
exclude_unchanged = true
# Follow symlink for directories
follow_symlink = true
# This log file places in your tmp_dir.
log = "build-errors.log"
# It's not necessary to trigger build each time file changes if it's too frequent.
delay = 2000
# Stop running old binary when build errors occur.
stop_on_error = true
# Send Interrupt signal before killing process (windows does not support this feature)
send_interrupt = false
# Delay after sending Interrupt signal
kill_delay = 500 # nanosecond
# Rerun binary or not
rerun = false
# Delay after each execution
rerun_delay = 500

[log]
# Show log time
time = false
# Only show main log (silences watcher, build, runner)
main_only = false

[color]
# Customize each part's color. If no color found, use the raw app log.
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"

[misc]
# Delete tmp directory on exit
clean_on_exit = true

[screen]
clear_on_rebuild = true
keep_scroll = true
55 changes: 55 additions & 0 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Backend
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-24.04
strategy:
matrix:
goarch: [ amd64, arm64 ]
fail-fast: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
cache: true
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Wait for frontend build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: 'build (frontend)'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Download frontend
uses: dawidd6/action-download-artifact@v6
with:
workflow: build-frontend.yml
name: frontend
path: internal/embed/frontend
check_artifacts: true
- name: Build ${{ matrix.goarch }}
env:
CGO_ENABLED: 0
GOOS: linux
GOARCH: ${{ matrix.goarch }}
run: |
go build -ldflags '-s -w --extldflags "-static"' -o panel-${{ matrix.goarch }} ./cmd/app
go build -ldflags '-s -w --extldflags "-static"' -o cli-${{ matrix.goarch }} ./cmd/cli
- name: Compress ${{ matrix.goarch }}
run: |
upx --best --lzma panel-${{ matrix.goarch }}
upx --best --lzma cli-${{ matrix.goarch }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: panel-${{ matrix.goarch }}
path: |
panel-${{ matrix.goarch }}
cli-${{ matrix.goarch }}
32 changes: 0 additions & 32 deletions .github/workflows/build.yml

This file was deleted.

13 changes: 8 additions & 5 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@ on:
pull_request:
jobs:
codecov:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
cache: true
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Run tests with coverage
Expand All @@ -20,4 +23,4 @@ jobs:
uses: codecov/codecov-action@v4
with:
file: ./coverage.out
token: ${{ secrets.CODECOV }}
token: ${{ secrets.CODECOV }}
42 changes: 42 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Frontend
on:
push:
branches:
- main
pull_request:
jobs:
build:
name: build (frontend)
runs-on: ubuntu-24.04
defaults:
run:
working-directory: web
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest
run_install: true
package_json_file: web/package.json
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: web/pnpm-lock.yaml
- name: Build frontend
# We need to run the dev server first to generate the auto-imports files
run: |
cp .env.production .env
cp settings/proxy-config.ts.example settings/proxy-config.ts
pnpm dev &
sleep 5
kill %1
pnpm build
- name: Upload frontend
uses: actions/upload-artifact@v4
with:
name: frontend
path: web/dist/ # https://github.com/actions/upload-artifact/issues/541
27 changes: 18 additions & 9 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,34 @@ permissions:
contents: write
jobs:
goreleaser:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Fetch Frontend
run: |
curl -sSL https://api.github.com/repos/TheTNB/panel-frontend/releases/latest | jq -r ".assets[] | select(.name | contains(\"dist\")) | .browser_download_url" | xargs curl -L -o frontend.zip
unzip frontend.zip
mv dist/* embed/frontend/
cache: true
go-version: 'stable'
- name: Wait for frontend build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: 'build (frontend)'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Download frontend
uses: dawidd6/action-download-artifact@v6
with:
workflow: build-frontend.yml
name: frontend
path: internal/embed/frontend
check_artifacts: true
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9 changes: 3 additions & 6 deletions .github/workflows/issue-auto-reply.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
name: Issue Auto Reply

on:
issues:
types: [ labeled ]

permissions:
contents: read

jobs:
issue-reply:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: ✏️ Feature
if: github.event.label.name == '✏️ Feature'
Expand All @@ -27,7 +24,7 @@ jobs:
我们认为您的建议非常有价值!欢迎提交 PR,请包含相应的测试用例、文档等,并确保 CI 通过,感谢和期待您的贡献!
We think your suggestion is very valuable! Welcome to submit a PR, please include test cases, documentation, etc., and ensure that the CI is passed, thank you and look forward to your contribution!

![aoligei](https://github.com/TheTNB/panel/assets/115467771/fb04debf-3f4c-4fac-a0b8-c3455f8e57a0)
![](https://github.com/TheTNB/panel/assets/115467771/fb04debf-3f4c-4fac-a0b8-c3455f8e57a0)
- name: ☢️ Bug
if: github.event.label.name == '☢️ Bug'
uses: actions-cool/issues-helper@v3
Expand All @@ -41,4 +38,4 @@ jobs:
我们认为您的反馈非常有价值!欢迎提交 PR,请包含相应的测试用例、文档等,并确保 CI 通过,感谢和期待您的贡献!
We think your feedback is very valuable! Welcome to submit a PR, please include test cases, documentation, etc., and ensure that the CI is passed, thank you and look forward to your contribution!

![aoligei](https://github.com/TheTNB/panel/assets/115467771/fb04debf-3f4c-4fac-a0b8-c3455f8e57a0)
![](https://github.com/TheTNB/panel/assets/115467771/fb04debf-3f4c-4fac-a0b8-c3455f8e57a0)
71 changes: 63 additions & 8 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,73 @@ on:
permissions:
contents: read
jobs:
lint:
name: lint
runs-on: ubuntu-latest
golangci:
name: golanci-lint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
cache: false
- name: Lint
cache: true
go-version: 'stable'
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v6
with:
skip-cache: true
version: latest
args: --timeout=30m ./...
nilaway:
runs-on: ubuntu-24.04
if: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
cache: true
go-version: 'stable'
- name: Install dependencies
run: go mod tidy
- name: Install NilAway
run: go install go.uber.org/nilaway/cmd/nilaway@latest
- name: Run NilAway
run: nilaway -include-pkgs="github.com/TheTNB/panel" ./...
govulncheck:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
cache: true
go-version: 'stable'
- name: Install Govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run Govulncheck
run: govulncheck ./...
frontend:
runs-on: ubuntu-24.04
defaults:
run:
working-directory: web
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest
run_install: true
package_json_file: web/package.json
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: web/pnpm-lock.yaml
- name: Run pnpm lint
run: pnpm lint
Loading
Loading