Skip to content

Commit 940151f

Browse files
committed
clean up and refactor
Signed-off-by: Sylwester Piskozub <sylwesterpiskozub@gmail.com>
1 parent 8e93ea7 commit 940151f

17 files changed

Lines changed: 6 additions & 1189 deletions

‎app/cli/internal/policydevel/eval.go‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func Evaluate(opts *EvalOptions, logger zerolog.Logger) (*EvalSummary, error) {
7070
}
7171

7272
// 2. Craft material with annotations
73-
material, err := craftMaterial(opts.MaterialPath, opts.MaterialKind, &logger)
73+
material, err := CraftMaterial(opts.MaterialPath, opts.MaterialKind, &logger)
7474
if err != nil {
7575
return nil, err
7676
}
@@ -166,7 +166,9 @@ func verifyMaterial(pol *v1.Policies, material *v12.Attestation_Material, materi
166166
return summary, nil
167167
}
168168

169-
func craftMaterial(materialPath, materialKind string, logger *zerolog.Logger) (*v12.Attestation_Material, error) {
169+
// CraftMaterial creates an attestation material from a file path, with optional explicit kind or auto-detection.
170+
// This is a shared utility function used by both policy eval and policy devel eval commands.
171+
func CraftMaterial(materialPath, materialKind string, logger *zerolog.Logger) (*v12.Attestation_Material, error) {
170172
backend := &casclient.CASBackend{
171173
Name: "backend",
172174
MaxSize: 0,

‎app/cli/pkg/action/policy_eval.go‎

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ import (
1919
"context"
2020
"fmt"
2121

22+
"github.com/chainloop-dev/chainloop/app/cli/internal/policydevel"
2223
pb "github.com/chainloop-dev/chainloop/app/controlplane/api/controlplane/v1"
2324
schemaapi "github.com/chainloop-dev/chainloop/app/controlplane/api/workflowcontract/v1"
2425
attestationapi "github.com/chainloop-dev/chainloop/pkg/attestation/crafter/api/attestation/v1"
25-
"github.com/chainloop-dev/chainloop/pkg/attestation/crafter/materials"
26-
"github.com/chainloop-dev/chainloop/pkg/casclient"
2726
"github.com/chainloop-dev/chainloop/pkg/policies"
2827
)
2928

@@ -107,7 +106,7 @@ func (action *PolicyEvaluate) Run(ctx context.Context) (*attestationapi.PolicyEv
107106
// 5. Evaluate: either material-based or generic
108107
if action.opts.MaterialPath != "" {
109108
// Material-based evaluation
110-
material, err := action.craftMaterial(ctx)
109+
material, err := policydevel.CraftMaterial(action.opts.MaterialPath, action.opts.Kind, &action.Logger)
111110
if err != nil {
112111
return nil, fmt.Errorf("crafting material: %w", err)
113112
}
@@ -137,43 +136,3 @@ func (action *PolicyEvaluate) Run(ctx context.Context) (*attestationapi.PolicyEv
137136

138137
return policyEv, nil
139138
}
140-
141-
func (action *PolicyEvaluate) craftMaterial(ctx context.Context) (*attestationapi.Attestation_Material, error) {
142-
backend := &casclient.CASBackend{
143-
Name: "backend",
144-
MaxSize: 0,
145-
Uploader: nil, // Skip uploads
146-
}
147-
148-
// Explicit kind
149-
if action.opts.Kind != "" {
150-
kind, ok := schemaapi.CraftingSchema_Material_MaterialType_value[action.opts.Kind]
151-
if !ok {
152-
return nil, fmt.Errorf("invalid material kind: %s", action.opts.Kind)
153-
}
154-
return action.craft(ctx, schemaapi.CraftingSchema_Material_MaterialType(kind), "material", backend)
155-
}
156-
157-
// Auto-detect kind
158-
for _, kind := range schemaapi.CraftingMaterialInValidationOrder {
159-
m, err := action.craft(ctx, kind, "auto-detected-material", backend)
160-
if err == nil {
161-
return m, nil
162-
}
163-
}
164-
165-
return nil, fmt.Errorf("could not auto-detect material kind for: %s", action.opts.MaterialPath)
166-
}
167-
168-
func (action *PolicyEvaluate) craft(ctx context.Context, kind schemaapi.CraftingSchema_Material_MaterialType, name string, backend *casclient.CASBackend) (*attestationapi.Attestation_Material, error) {
169-
materialSchema := &schemaapi.CraftingSchema_Material{
170-
Type: kind,
171-
Name: name,
172-
}
173-
174-
m, err := materials.Craft(ctx, materialSchema, action.opts.MaterialPath, backend, nil, &action.Logger)
175-
if err != nil {
176-
return nil, fmt.Errorf("failed to craft material (kind=%s): %w", kind.String(), err)
177-
}
178-
return m, nil
179-
}

‎app/controlplane/api/controlplane/v1/policy_evaluation.pb.go‎

Lines changed: 0 additions & 257 deletions
This file was deleted.

‎app/controlplane/api/controlplane/v1/policy_evaluation.proto‎

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)