...

Source file src/sigs.k8s.io/kustomize/api/provider/depprovider.go

Documentation: sigs.k8s.io/kustomize/api/provider

     1  // Copyright 2020 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package provider
     5  
     6  import (
     7  	"sigs.k8s.io/kustomize/api/hasher"
     8  	"sigs.k8s.io/kustomize/api/ifc"
     9  	"sigs.k8s.io/kustomize/api/internal/validate"
    10  	"sigs.k8s.io/kustomize/api/resource"
    11  )
    12  
    13  // DepProvider is a dependency provider, injecting different
    14  // implementations depending on the context.
    15  type DepProvider struct {
    16  	resourceFactory *resource.Factory
    17  	// implemented by api/internal/validate.FieldValidator
    18  	// See TODO inside the validator for status.
    19  	// At time of writing, this is a do-nothing
    20  	// validator as it's not critical to kustomize function.
    21  	fieldValidator ifc.Validator
    22  }
    23  
    24  func NewDepProvider() *DepProvider {
    25  	rf := resource.NewFactory(&hasher.Hasher{})
    26  	return &DepProvider{
    27  		resourceFactory: rf,
    28  		fieldValidator:  validate.NewFieldValidator(),
    29  	}
    30  }
    31  
    32  func NewDefaultDepProvider() *DepProvider {
    33  	return NewDepProvider()
    34  }
    35  
    36  func (dp *DepProvider) GetResourceFactory() *resource.Factory {
    37  	return dp.resourceFactory
    38  }
    39  
    40  func (dp *DepProvider) GetFieldValidator() ifc.Validator {
    41  	return dp.fieldValidator
    42  }
    43  

View as plain text