mirror of
https://github.com/hanzoai/o11y-foundry.git
synced 2026-10-30 18:26:45 +00:00
31 lines
963 B
Go
31 lines
963 B
Go
package planner
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
|
"github.com/hanzoai/o11y-foundry/internal/domain"
|
|
"github.com/hanzoai/o11y-foundry/internal/tooler"
|
|
)
|
|
|
|
// Planner is the per-Kind contract Foundry iterates against. Every Kind
|
|
// expresses itself in the same vocabulary:
|
|
//
|
|
// - identity: Machinery, Patches, Toolers
|
|
// - ordering: MoldingKinds (the moldings this Kind processes, in order)
|
|
// - stages: EnrichStatus, Mold, MergeStatusIntoSpec
|
|
// - lifecycle: Forge, Cast
|
|
type Planner interface {
|
|
Machinery() v1alpha1.Machinery
|
|
Patches() []v1alpha1.PatchEntry
|
|
Toolers() []tooler.Tooler
|
|
|
|
MoldingKinds() []v1alpha1.MoldingKind
|
|
EnrichStatus(ctx context.Context, kind v1alpha1.MoldingKind) error
|
|
Mold(ctx context.Context, kind v1alpha1.MoldingKind) error
|
|
MergeStatusIntoSpec() error
|
|
|
|
Forge(ctx context.Context, target string) ([]domain.Material, error)
|
|
Cast(ctx context.Context, poursPath string) error
|
|
}
|