Skip to content

Conversation

@cr3ativ3cod3r
Copy link

@cr3ativ3cod3r cr3ativ3cod3r commented Nov 18, 2025

Description

This PR adds support for signing, attesting, and verifying modelkits using the kit commands directly. These commands use cosign internally. The users doesn't have to switch between multiple tools. The verify command enables the user to run both verify and verify attestation using a single command.

Linked issues

closes #857

AI-Assisted Code

  • This PR contains AI-generated code that I have reviewed and tested
  • I take full responsibility for all code in this PR, regardless of how it was created

)

func RunSign(ctx context.Context, options *signOptions) error {
cmd := exec.CommandContext(ctx, "cosign", options.cosignArgs...)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commands will panic with "executable file not found" when cosign binary is not installed on the system. This needs pre-flight checks before making these calls. Also is there a possibility to use cosign as a library instead of an external CLI ?

"os/exec"
)

func RunAttest(context context.Context, options *attestOptions) any {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this return any and not error?

return cmd
}

func runCommand(opts []verifyOptions) func(cmd *cobra.Command, args []string) error {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this code works due to reassignment of opts it's confusing. The function signature runCommand([]verifyOptions{})suggests it takes an initialized slice, but it's always called with an empty slice and immediately populated. Refactor to use local variable for opts


err := cmd.Run()
if err != nil {
return fmt.Errorf("signing failed %s", err)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should use %w instead of %s

func VerifyCommand() *cobra.Command {

cmd := &cobra.Command{
Use: "verify [FLAGS]",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FLAGS -> flags


func AttestCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "attest [FLAGS]",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FLAGS -> flags

return output.Fatalf("Failed to %s: %s", commands[i], err)
}
}
output.Infof("Modelkit signed")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a copy/paste error should be output.Infof("Modelkit verification successful")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sign the Vibes

2 participants