Skip to content

Commit 5f818e9

Browse files
committed
supervisor: accept Orchestrator interface instead of concrete type
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
1 parent 649705d commit 5f818e9

4 files changed

Lines changed: 10 additions & 6 deletions

File tree

connection/connection.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/google/uuid"
1616
"github.com/pkg/errors"
1717

18+
cfdflow "github.com/cloudflare/cloudflared/flow"
1819
"github.com/cloudflare/cloudflared/tracing"
1920
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
2021
"github.com/cloudflare/cloudflared/websocket"
@@ -53,6 +54,7 @@ type Orchestrator interface {
5354
UpdateConfig(version int32, config []byte) *pogs.UpdateConfigurationResponse
5455
GetConfigJSON() ([]byte, error)
5556
GetOriginProxy() (OriginProxy, error)
57+
GetFlowLimiter() cfdflow.Limiter
5658
}
5759

5860
type TunnelProperties struct {

connection/connection_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ func (mcr *mockOrchestrator) GetOriginProxy() (OriginProxy, error) {
6363
return mcr.originProxy, nil
6464
}
6565

66+
func (*mockOrchestrator) GetFlowLimiter() cfdflow.Limiter {
67+
return nil
68+
}
69+
6670
func (mcr *mockOrchestrator) WarpRoutingEnabled() (enabled bool) {
6771
return true
6872
}

supervisor/supervisor.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313

1414
"github.com/cloudflare/cloudflared/connection"
1515
"github.com/cloudflare/cloudflared/edgediscovery"
16-
"github.com/cloudflare/cloudflared/orchestration"
1716
v3 "github.com/cloudflare/cloudflared/quic/v3"
1817
"github.com/cloudflare/cloudflared/retry"
1918
"github.com/cloudflare/cloudflared/signal"
@@ -31,7 +30,7 @@ const (
3130
// reconnects them if they disconnect.
3231
type Supervisor struct {
3332
config *TunnelConfig
34-
orchestrator *orchestration.Orchestrator
33+
orchestrator connection.Orchestrator
3534
edgeIPs *edgediscovery.Edge
3635
edgeTunnelServer TunnelServer
3736
tunnelErrors chan tunnelError
@@ -56,7 +55,7 @@ type tunnelError struct {
5655
err error
5756
}
5857

59-
func NewSupervisor(config *TunnelConfig, orchestrator *orchestration.Orchestrator, reconnectCh chan ReconnectSignal, gracefulShutdownC <-chan struct{}) (*Supervisor, error) {
58+
func NewSupervisor(config *TunnelConfig, orchestrator connection.Orchestrator, reconnectCh chan ReconnectSignal, gracefulShutdownC <-chan struct{}) (*Supervisor, error) {
6059
isStaticEdge := len(config.EdgeAddrs) > 0
6160

6261
var err error

supervisor/tunnel.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
"github.com/cloudflare/cloudflared/ingress"
2727
"github.com/cloudflare/cloudflared/ingress/origins"
2828
"github.com/cloudflare/cloudflared/management"
29-
"github.com/cloudflare/cloudflared/orchestration"
3029
quicpogs "github.com/cloudflare/cloudflared/quic"
3130
v3 "github.com/cloudflare/cloudflared/quic/v3"
3231
"github.com/cloudflare/cloudflared/retry"
@@ -86,7 +85,7 @@ func (c *TunnelConfig) connectionOptions(originLocalAddr string, previousAttempt
8685
func StartTunnelDaemon(
8786
ctx context.Context,
8887
config *TunnelConfig,
89-
orchestrator *orchestration.Orchestrator,
88+
orchestrator connection.Orchestrator,
9089
connectedSignal *signal.Signal,
9190
reconnectCh chan ReconnectSignal,
9291
graceShutdownC <-chan struct{},
@@ -168,7 +167,7 @@ func (f *ipAddrFallback) ShouldGetNewAddress(connIndex uint8, err error) (needsN
168167

169168
type EdgeTunnelServer struct {
170169
config *TunnelConfig
171-
orchestrator *orchestration.Orchestrator
170+
orchestrator connection.Orchestrator
172171
sessionManager v3.SessionManager
173172
datagramMetrics v3.Metrics
174173
edgeAddrHandler EdgeAddrHandler

0 commit comments

Comments
 (0)