Skip to content

Commit 64edfc3

Browse files
committed
Merge branch 'main' into feature/public-k8s-snapshot
# Conflicts: # server/tests/test_snapshot_runtime_factory.py
2 parents 73ab862 + 4f22683 commit 64edfc3

29 files changed

Lines changed: 3697 additions & 3424 deletions

components/execd/DEVELOPMENT.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,13 @@ import (
116116
// Standard library
117117
"context"
118118
"fmt"
119+
"net/http"
119120

120121
// Third-party
121-
"github.com/beego/beego/v2/core/logs"
122+
"github.com/gin-gonic/gin"
122123

123124
// Internal
125+
"github.com/alibaba/opensandbox/execd/pkg/log"
124126
"github.com/alibaba/opensandbox/execd/pkg/runtime"
125127
)
126128
```
@@ -133,7 +135,7 @@ Always handle errors explicitly:
133135
// Good
134136
result, err := someOperation()
135137
if err != nil {
136-
logs.Error("operation failed: %v", err)
138+
log.Error("operation failed: %v", err)
137139
return fmt.Errorf("failed to do something: %w", err)
138140
}
139141

@@ -143,13 +145,13 @@ result, _ := someOperation()
143145

144146
#### Logging
145147

146-
Use Beego's structured logger:
148+
Use execd's package logger, which wraps the shared structured logger used by the Gin HTTP layer and runtime code:
147149

148150
```go
149-
logs.Info("starting execution: sessionID=%s", sessionID)
150-
logs.Warning("session busy: sessionID=%s", sessionID)
151-
logs.Error("execution failed: error=%v", err)
152-
logs.Debug("received event: type=%s", eventType)
151+
log.Info("starting execution: sessionID=%s", sessionID)
152+
log.Warning("session busy: sessionID=%s", sessionID)
153+
log.Error("execution failed: error=%v", err)
154+
log.Debug("received event: type=%s", eventType)
153155
```
154156

155157
### Concurrency Best Practices
@@ -577,7 +579,7 @@ make build
577579

578580
### External Documentation
579581

580-
- [Beego Documentation](https://beego.wiki/)
582+
- [Gin Documentation](https://gin-gonic.com/docs/)
581583
- [Jupyter Kernel Protocol](https://jupyter-client.readthedocs.io/en/stable/messaging.html)
582584
- [Go Best Practices](https://golang.org/doc/effective_go)
583585
- [Server-Sent Events Spec](https://html.spec.whatwg.org/multipage/server-sent-events.html)

components/ingress/pkg/proxy/proxy.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,18 @@ func NewProxy(_ context.Context, sandboxProvider sandbox.Provider, mode Mode, re
4747

4848
func (p *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request) {
4949
defer func() {
50-
if err := recover(); err != nil {
51-
Logger.With(slogger.Field{Key: "error", Value: err}).Errorf("Proxy: proxy causes panic")
52-
var errMsg string
53-
if e, ok := err.(error); ok {
54-
errMsg = e.Error()
55-
} else {
56-
errMsg = fmt.Sprintf("%v", err)
50+
if rcv := recover(); rcv != nil {
51+
panicErr := fmt.Sprintf("%v", rcv)
52+
if err, ok := rcv.(error); ok {
53+
panicErr = err.Error()
5754
}
58-
http.Error(w, errMsg, http.StatusBadGateway)
55+
Logger.With(
56+
slogger.Field{Key: "error", Value: panicErr},
57+
slogger.Field{Key: "uri", Value: r.RequestURI},
58+
slogger.Field{Key: "host", Value: r.Host},
59+
slogger.Field{Key: "method", Value: r.Method},
60+
).Errorf("ingress: proxy causes panic")
61+
http.Error(w, panicErr, http.StatusBadGateway)
5962
}
6063
}()
6164

docs/architecture.md

Lines changed: 258 additions & 391 deletions
Large diffs are not rendered by default.
Lines changed: 141 additions & 0 deletions
Loading

docs/assets/architecture.svg

Lines changed: 0 additions & 4 deletions
This file was deleted.

kubernetes/charts/opensandbox-server/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ server:
4949
gatewayRouteMode: "header"
5050
image:
5151
repository: sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/ingress
52-
tag: "v1.0.6"
52+
tag: "v1.0.7"
5353
replicaCount: 2
5454
port: 28888
5555
dataplaneNamespace: "opensandbox"

0 commit comments

Comments
 (0)