-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: api v2 init #2832
feat: api v2 init #2832
Changes from all commits
69aea84
e9a61fe
14fba3e
a408313
a77cf37
0e5e0d9
f26a308
be8764f
d5ad52c
e7a2d1a
b817e7d
d2d30e7
6b2f19b
53a5d11
1463151
0760e6a
323d4bb
58214d7
b575be9
2a936d7
b9b2c30
6490adb
7ca44ed
dc5f9de
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Test GO API Local | ||
on: | ||
workflow_call: | ||
|
||
|
||
|
||
jobs: | ||
test_agent_local: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 60 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install | ||
uses: ./.github/actions/install | ||
with: | ||
go: true | ||
|
||
|
||
- name: Build | ||
run: task build | ||
working-directory: go | ||
|
||
- name: Test | ||
run: go test -cover -json -timeout=60m -failfast ./... | tparse -all -progress | ||
working-directory: go |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -31,6 +31,23 @@ services: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ports: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- 3900:3900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
apiv2: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deploy: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
replicas: 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endpoint_mode: vip | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
command: [ "api", "--config", "config.docker.json"] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
build: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
context: ../go | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dockerfile: ./Dockerfile | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
depends_on: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- mysql | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- clickhouse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
environment: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+34
to
+46
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Add health checks and resource limits. The service should include health checks and resource constraints for better reliability and resource management. apiv2:
deploy:
replicas: 1
endpoint_mode: vip
+ resources:
+ limits:
+ cpus: '1'
+ memory: 512M
+ reservations:
+ cpus: '0.25'
+ memory: 128M
+ healthcheck:
+ test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
+ interval: 30s
+ timeout: 10s
+ retries: 3
+ start_period: 40s 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PORT: 8080 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATABASE_PRIMARY_DSN: "mysql://unkey:password@tcp(mysql:3900)/unkey" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CLICKHOUSE_URL: "clickhouse://default:password@clickhouse:9000" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+47
to
+49
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use secrets management for sensitive information. Hard-coded credentials in environment variables pose a security risk. Consider using Docker secrets or environment files: environment:
PORT: 8080
- DATABASE_PRIMARY_DSN: "mysql://unkey:password@tcp(mysql:3900)/unkey"
- CLICKHOUSE_URL: "clickhouse://default:password@clickhouse:9000"
+ DATABASE_PRIMARY_DSN: "${DATABASE_PRIMARY_DSN}"
+ CLICKHOUSE_URL: "${CLICKHOUSE_URL}" 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
agent: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deploy: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
replicas: 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Rename job to match its purpose.
The job name
test_agent_local
seems incorrect as this workflow is for testing the Go API (based on the workflow name and file path). Consider renaming it totest_api_local
for consistency.📝 Committable suggestion