pkg/driver/packagedriver.go (12 lines of code) (raw):
package driver
import (
"context"
api "github.com/aws/eks-anywhere-packages/api/v1alpha1"
)
//go:generate mockgen -source packagedriver.go -destination=mocks/packagedriver.go -package=mocks PackageDriver
// PackageDriver is an interface for converting a CRD to a series of Kubernetes
// objects.
//
// Its first implementation will be Helm, but the interface is used to enhance
// and simplify testing as well as abstract the details of Helm.
type PackageDriver interface {
// Initialize the package driver
Initialize(ctx context.Context, clusterName string) error
// Install or upgrade an package.
Install(ctx context.Context, name, namespace string, createNamespace bool, source api.PackageOCISource, values map[string]interface{}) error
// Uninstall an package.
Uninstall(ctx context.Context, name string) error
// IsConfigChanged indicates that the values passed differ from
// those currently running.
IsConfigChanged(ctx context.Context, name string,
values map[string]interface{}) (bool, error)
}