package pack import ( "edge-infra.dev/pkg/f8n/warehouse/capability" "edge-infra.dev/pkg/f8n/warehouse/cluster" "edge-infra.dev/pkg/f8n/warehouse/lift" "edge-infra.dev/pkg/f8n/warehouse/lift/pack/types" "edge-infra.dev/pkg/f8n/warehouse/oci" "edge-infra.dev/pkg/f8n/warehouse/pallet" ) // Package represents a built package. type Package struct { Config types.Pallet // Package definition from pallet.yaml Warehouse lift.Config // Configuration merged with package-level config Artifacts []oci.Artifact // Package and dependency artifacts Metadata pallet.Metadata // Package metadata Dir string // Root directory for package source. Capabilities capability.Capabilities Providers cluster.Providers Parameters []string } // mergeCfg merges packing config in src into dst. Anything not related to // packing configuration is ignored/dropped. func mergeCfg(src lift.Config, dst lift.Config) (lift.Config, error) { var err error dst, err = dst.WithParameters(src.Parameters) if err != nil { return lift.Config{}, err } dst, err = dst.WithRuntime(src.Runtime) if err != nil { return lift.Config{}, err } if !src.Infrastructure.IsEmpty() { dst.Infrastructure = src.Infrastructure } return dst, nil }