Skip to content

Commit 1803669

Browse files
authored
[CRE-1077] Explicitly mark capabilities as local or remote in CapRegistry (#1616)
1 parent 06c5dac commit 1803669

5 files changed

Lines changed: 21 additions & 2 deletions

File tree

pkg/capabilities/capabilities.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -627,4 +627,6 @@ type CapabilityConfiguration struct {
627627

628628
// v2 / "NoDAG" capabilities
629629
CapabilityMethodConfig map[string]CapabilityMethodConfig
630+
// if true, the capability won't be callable via don2don
631+
LocalOnly bool
630632
}

pkg/capabilities/pb/registry.pb.go

Lines changed: 13 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/capabilities/pb/registry.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,7 @@ message CapabilityConfig {
8080

8181
// v2 ("NoDAG") capabilities
8282
map<string, CapabilityMethodConfig> method_configs = 7;
83+
// if true, the capability won't be callable via don2don
84+
bool local_only = 8;
8385
}
8486

pkg/loop/internal/core/services/capability/capabilities_registry.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ func (cr *capabilitiesRegistryClient) ConfigForCapability(ctx context.Context, c
177177
RemoteTargetConfig: remoteTargetConfig,
178178
RemoteExecutableConfig: remoteExecutableConfig,
179179
CapabilityMethodConfig: methodConfig,
180+
LocalOnly: res.CapabilityConfig.LocalOnly,
180181
}, nil
181182
}
182183

@@ -439,6 +440,8 @@ func (c *capabilitiesRegistryServer) ConfigForCapability(ctx context.Context, re
439440
}
440441
}
441442

443+
ccp.LocalOnly = cc.LocalOnly
444+
442445
return &pb.ConfigForCapabilityReply{
443446
CapabilityConfig: ccp,
444447
}, nil

pkg/loop/internal/core/services/capability/capabilities_registry_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ func TestCapabilitiesRegistry_ConfigForCapabilities_IncludingV2Methods(t *testin
448448
RemoteExecutableConfig: &rec,
449449
},
450450
},
451+
LocalOnly: true,
451452
}
452453
reg.On("ConfigForCapability", mock.Anything, capID, donID).Once().Return(expectedCapConfig, nil)
453454

0 commit comments

Comments
 (0)