Skip to content

Commit 3ef969c

Browse files
authored
feat(referrers): shared index API (#441)
Signed-off-by: Miguel Martinez Trivino <[email protected]>
1 parent 20336fe commit 3ef969c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1949
-1525
lines changed

app/cli/cmd/referrer_discover.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,21 @@ import (
2424

2525
func newReferrerDiscoverCmd() *cobra.Command {
2626
var digest, kind string
27+
var fromPublicIndex bool
2728

2829
cmd := &cobra.Command{
2930
Use: "discover",
3031
Short: "(Preview) inspect pieces of evidence or artifacts stored through Chainloop",
3132
RunE: func(cmd *cobra.Command, args []string) error {
32-
res, err := action.NewReferrerDiscover(actionOpts).Run(context.Background(), digest, kind)
33+
var res *action.ReferrerItem
34+
var err error
35+
36+
if fromPublicIndex {
37+
res, err = action.NewReferrerDiscoverPublicIndex(actionOpts).Run(context.Background(), digest, kind)
38+
} else {
39+
res, err = action.NewReferrerDiscoverPrivate(actionOpts).Run(context.Background(), digest, kind)
40+
}
41+
3342
if err != nil {
3443
return err
3544
}
@@ -43,6 +52,8 @@ func newReferrerDiscoverCmd() *cobra.Command {
4352
err := cmd.MarkFlagRequired("digest")
4453
cobra.CheckErr(err)
4554
cmd.Flags().StringVarP(&kind, "kind", "k", "", "optional kind of the referrer, used to disambiguate between multiple referrers with the same digest")
55+
cobra.CheckErr(err)
56+
cmd.Flags().BoolVar(&fromPublicIndex, "public", false, "discover from public shared index instead of your organizations'")
4657

4758
return cmd
4859
}

app/cli/internal/action/referrer_discover.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import (
2525
type ReferrerDiscover struct {
2626
cfg *ActionsOpts
2727
}
28+
type ReferrerDiscoverPublic struct {
29+
cfg *ActionsOpts
30+
}
2831

2932
type ReferrerItem struct {
3033
Digest string `json:"digest"`
@@ -35,13 +38,29 @@ type ReferrerItem struct {
3538
References []*ReferrerItem `json:"references"`
3639
}
3740

38-
func NewReferrerDiscover(cfg *ActionsOpts) *ReferrerDiscover {
41+
func NewReferrerDiscoverPrivate(cfg *ActionsOpts) *ReferrerDiscover {
3942
return &ReferrerDiscover{cfg}
4043
}
4144

4245
func (action *ReferrerDiscover) Run(ctx context.Context, digest, kind string) (*ReferrerItem, error) {
4346
client := pb.NewReferrerServiceClient(action.cfg.CPConnection)
44-
resp, err := client.Discover(ctx, &pb.ReferrerServiceDiscoverRequest{
47+
resp, err := client.DiscoverPrivate(ctx, &pb.ReferrerServiceDiscoverPrivateRequest{
48+
Digest: digest, Kind: kind,
49+
})
50+
if err != nil {
51+
return nil, err
52+
}
53+
54+
return pbReferrerItemToAction(resp.Result), nil
55+
}
56+
57+
func NewReferrerDiscoverPublicIndex(cfg *ActionsOpts) *ReferrerDiscoverPublic {
58+
return &ReferrerDiscoverPublic{cfg}
59+
}
60+
61+
func (action *ReferrerDiscoverPublic) Run(ctx context.Context, digest, kind string) (*ReferrerItem, error) {
62+
client := pb.NewReferrerServiceClient(action.cfg.CPConnection)
63+
resp, err := client.DiscoverPublicShared(ctx, &pb.DiscoverPublicSharedRequest{
4564
Digest: digest, Kind: kind,
4665
})
4766
if err != nil {

app/controlplane/api/controlplane/v1/referrer.pb.go

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

0 commit comments

Comments
 (0)