zrok/sdk/model.go

66 lines
1.2 KiB
Go
Raw Normal View History

package sdk
2023-09-05 17:10:25 +02:00
import "time"
type BackendMode string
const (
ProxyBackendMode BackendMode = "proxy"
WebBackendMode BackendMode = "web"
TcpTunnelBackendMode BackendMode = "tcpTunnel"
UdpTunnelBackendMode BackendMode = "udpTunnel"
2023-08-28 20:49:20 +02:00
CaddyBackendMode BackendMode = "caddy"
)
type ShareMode string
const (
PrivateShareMode ShareMode = "private"
PublicShareMode ShareMode = "public"
)
type ShareRequest struct {
2023-09-05 17:10:25 +02:00
BackendMode BackendMode
ShareMode ShareMode
Target string
Frontends []string
BasicAuth []string
2023-09-05 17:10:25 +02:00
OauthProvider string
OauthEmailDomains []string
OauthAuthorizationCheckInterval time.Duration
}
type Share struct {
Token string
FrontendEndpoints []string
}
type AccessRequest struct {
ShareToken string
}
type Access struct {
Token string
ShareToken string
BackendMode BackendMode
}
type Metrics struct {
Namespace string
Sessions map[string]SessionMetrics
}
type SessionMetrics struct {
BytesRead int64
BytesWritten int64
LastUpdate int64
}
type AuthScheme string
const (
None AuthScheme = "none"
Basic AuthScheme = "basic"
2023-09-05 17:10:25 +02:00
Oauth AuthScheme = "oauth"
)