Documentation ¶
Overview ¶
Package tkgpackageclient provides functionality for package plugin
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataValueProperty ¶
type DataValueProperty struct { Key string Type interface{} Description interface{} Default interface{} }
DataValueProperty holds the details of each property under Carvel package.spec.valuesSchema.openAPIv3.properties. The example of the schema could be found at: https://carvel.dev/kapp-controller/docs/latest/packaging/#package-1 From above example, we would have the following:
DataValueProperty.Key = "namespace" DataValueProperty.Type = "string" DataValueProperty.Description = "Namespace where fluent-bit will be installed." DataValueProperty.Default = "fluent-bit"
type PackageValuesSchemaParser ¶
type PackageValuesSchemaParser struct { Doc *openapi3.T DataValueProperties []DataValueProperty // contains filtered or unexported fields }
PackageValuesSchemaParser loads Carvel package values schema and extract property details
func NewValuesSchemaParser ¶
func NewValuesSchemaParser(valuesSchema kapppkg.ValuesSchema) (*PackageValuesSchemaParser, error)
NewValuesSchemaParser instantiate a new PackageValuesSchemaParser
func (*PackageValuesSchemaParser) ParseProperties ¶
func (parser *PackageValuesSchemaParser) ParseProperties() ([]DataValueProperty, error)
ParseProperties parses the loaded doc and feed the details into []DataValueProperty
type TKGPackageClient ¶
type TKGPackageClient interface { AddRepository(o *tkgpackagedatamodel.RepositoryOptions) error DeleteRepository(o *tkgpackagedatamodel.RepositoryOptions) (bool, error) GetPackageInstall(o *tkgpackagedatamodel.PackageOptions) (*kappipkg.PackageInstall, error) GetPackage(o *tkgpackagedatamodel.PackageOptions) (*kapppkg.PackageMetadata, *kapppkg.Package, error) GetRepository(o *tkgpackagedatamodel.RepositoryOptions) (*kappipkg.PackageRepository, error) InstallPackage(o *tkgpackagedatamodel.PackageOptions, packageProgress *tkgpackagedatamodel.PackageProgress, update bool) ListPackageInstalls(o *tkgpackagedatamodel.PackageOptions) (*kappipkg.PackageInstallList, error) ListPackageMetadata(o *tkgpackagedatamodel.PackageAvailableOptions) (*kapppkg.PackageMetadataList, error) ListPackages(o *tkgpackagedatamodel.PackageAvailableOptions) (*kapppkg.PackageList, error) ListRepositories(o *tkgpackagedatamodel.RepositoryOptions) (*kappipkg.PackageRepositoryList, error) UninstallPackage(o *tkgpackagedatamodel.PackageOptions, packageProgress *tkgpackagedatamodel.PackageProgress) UpdatePackage(o *tkgpackagedatamodel.PackageOptions, packageProgress *tkgpackagedatamodel.PackageProgress) UpdateRepository(o *tkgpackagedatamodel.RepositoryOptions) error }
TKGPackageClient is the TKG package client interface
func NewTKGPackageClient ¶
func NewTKGPackageClient(kubeconfigPath string) (TKGPackageClient, error)
NewTKGPackageClient instantiates pkgClient