...

Source file src/edge-infra.dev/pkg/f8n/warehouse/lift/pack/package.go

Documentation: edge-infra.dev/pkg/f8n/warehouse/lift/pack

     1  package pack
     2  
     3  import (
     4  	"edge-infra.dev/pkg/f8n/warehouse/capability"
     5  	"edge-infra.dev/pkg/f8n/warehouse/cluster"
     6  	"edge-infra.dev/pkg/f8n/warehouse/lift"
     7  	"edge-infra.dev/pkg/f8n/warehouse/lift/pack/types"
     8  	"edge-infra.dev/pkg/f8n/warehouse/oci"
     9  	"edge-infra.dev/pkg/f8n/warehouse/pallet"
    10  )
    11  
    12  // Package represents a built package.
    13  type Package struct {
    14  	Config       types.Pallet    // Package definition from pallet.yaml
    15  	Warehouse    lift.Config     // Configuration merged with package-level config
    16  	Artifacts    []oci.Artifact  // Package and dependency artifacts
    17  	Metadata     pallet.Metadata // Package metadata
    18  	Dir          string          // Root directory for package source.
    19  	Capabilities capability.Capabilities
    20  	Providers    cluster.Providers
    21  	Parameters   []string
    22  }
    23  
    24  // mergeCfg merges packing config in src into dst. Anything not related to
    25  // packing configuration is ignored/dropped.
    26  func mergeCfg(src lift.Config, dst lift.Config) (lift.Config, error) {
    27  	var err error
    28  
    29  	dst, err = dst.WithParameters(src.Parameters)
    30  	if err != nil {
    31  		return lift.Config{}, err
    32  	}
    33  	dst, err = dst.WithRuntime(src.Runtime)
    34  	if err != nil {
    35  		return lift.Config{}, err
    36  	}
    37  
    38  	if !src.Infrastructure.IsEmpty() {
    39  		dst.Infrastructure = src.Infrastructure
    40  	}
    41  
    42  	return dst, nil
    43  }
    44  

View as plain text