Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions protocol/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,12 @@ const (
type NetworkMode string

const (
NetworkModeDirect NetworkMode = "direct"
NetworkModeRelay NetworkMode = "relay"
NetworkModeDirect NetworkMode = "direct"
NetworkModeRelay NetworkMode = "relay"
NetworkModeTailnet NetworkMode = "tailnet"
NetworkModeTor NetworkMode = "tor"
NetworkModeP2P NetworkMode = "p2p"
NetworkModeOffline NetworkMode = "offline"
)

type PlacementRequirements struct {
Expand Down Expand Up @@ -1147,7 +1151,7 @@ func normalizeNetworkMode(mode NetworkMode) NetworkMode {

func validNetworkMode(mode NetworkMode) bool {
switch mode {
case NetworkModeDirect, NetworkModeRelay:
case NetworkModeDirect, NetworkModeRelay, NetworkModeTailnet, NetworkModeTor, NetworkModeP2P, NetworkModeOffline:
return true
default:
return false
Expand Down
18 changes: 18 additions & 0 deletions protocol/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,24 @@ func TestProviderContractRejectsMismatchedProductVersionWhenPresent(t *testing.T
}
}

func TestProviderContractAcceptsWorkflowComputeNetworkModes(t *testing.T) {
for _, mode := range []protocol.NetworkMode{
protocol.NetworkModeDirect,
protocol.NetworkModeRelay,
protocol.NetworkModeTailnet,
protocol.NetworkModeTor,
protocol.NetworkModeP2P,
protocol.NetworkModeOffline,
} {
contract := validBatchProviderContract()
contract.NetworkModes = []protocol.NetworkMode{mode}

if err := contract.Validate(); err != nil {
t.Fatalf("contract rejected network mode %q: %v", mode, err)
}
}
}

func TestProviderConformanceEvidenceRequiresArtifactDigestAndObservation(t *testing.T) {
evidence := protocol.ProviderConformanceEvidence{
ProtocolVersion: protocol.Version,
Expand Down
Loading