tkgpackageclient

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2021 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Package tkgpackageclient provides functionality for package plugin

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetCurrentRepositoryAndTagInUse added in v0.6.0

func GetCurrentRepositoryAndTagInUse(pkgr *kappipkg.PackageRepository) (repository, tag string, err error)

GetCurrentRepositoryAndTagInUse fetches the current tag used by package repository, taking tagselection into account

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 DockerConfigJSON added in v0.5.0

type DockerConfigJSON struct {
	Auths map[string]dockerConfigEntry `json:"auths" datapolicy:"token"`
}

DockerConfigJSON represents authentication information for pulling images from private registries Note: datapolicy is seemingly used for log sanitization: https://github.com/kubernetes/enhancements/blob/master/keps/sig-security/1933-secret-logging-static-analysis/README.md TODO: change to use k8s types after upgrading the K8s version

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 {
	AddRegistrySecret(o *tkgpackagedatamodel.RegistrySecretOptions) error
	AddRepository(o *tkgpackagedatamodel.RepositoryOptions, packageProgress *tkgpackagedatamodel.PackageProgress, operationType tkgpackagedatamodel.OperationType)
	DeleteRegistrySecret(o *tkgpackagedatamodel.RegistrySecretOptions) (bool, error)
	DeleteRepository(o *tkgpackagedatamodel.RepositoryOptions, packageProgress *tkgpackagedatamodel.PackageProgress)
	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, operationType tkgpackagedatamodel.OperationType)
	ListPackageInstalls(o *tkgpackagedatamodel.PackageOptions) (*kappipkg.PackageInstallList, error)
	ListPackageMetadata(o *tkgpackagedatamodel.PackageAvailableOptions) (*kapppkg.PackageMetadataList, error)
	ListPackages(o *tkgpackagedatamodel.PackageAvailableOptions) (*kapppkg.PackageList, error)
	ListRegistrySecrets(o *tkgpackagedatamodel.RegistrySecretOptions) (*corev1.SecretList, error)
	ListSecretExports(o *tkgpackagedatamodel.RegistrySecretOptions) (*secretgen.SecretExportList, error)
	ListRepositories(o *tkgpackagedatamodel.RepositoryOptions) (*kappipkg.PackageRepositoryList, error)
	UninstallPackage(o *tkgpackagedatamodel.PackageOptions, packageProgress *tkgpackagedatamodel.PackageProgress)
	UpdateRegistrySecret(o *tkgpackagedatamodel.RegistrySecretOptions) error
	UpdatePackage(o *tkgpackagedatamodel.PackageOptions, packageProgress *tkgpackagedatamodel.PackageProgress)
	UpdateRepository(o *tkgpackagedatamodel.RepositoryOptions, progress *tkgpackagedatamodel.PackageProgress)
}

TKGPackageClient is the TKG package client interface

func NewTKGPackageClient

func NewTKGPackageClient(kubeconfigPath string) (TKGPackageClient, error)

NewTKGPackageClient instantiates pkgClient

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL