Documentation ¶
Index ¶
- Constants
- func CreateBundleManager() bundle.RegistryClient
- func GenerateAllValidConfigurations(configs map[string]string) (string, error)
- func GetPackageBundleRef(vb releasev1.VersionsBundle) (string, error)
- func GetRegistry(uri string) string
- func GetVersionBundle(reader Reader, eksaVersion string, spec *v1alpha1.Cluster) (*releasev1.VersionsBundle, error)
- func NewKubeClientFromFilename(kubeConfigFilename string) (client.Client, error)
- func ParseConfigurations(configs []string) (map[string]string, error)
- func PrintCertManagerDoesNotExistMsg()
- func PrintLicense()
- func PullLatestBundle(ctx context.Context, art string) ([]byte, error)
- func PushBundle(ctx context.Context, ref, fileName string, fileContent []byte) error
- func ValidateKubeVersion(kubeVersion string, clusterName string) error
- func WithActiveBundleTimeout(timeout time.Duration) func(client *PackageControllerClient)
- func WithBundle(bundle *packagesv1.PackageBundle) func(*PackageClient)
- func WithCustomConfigs(customConfigs []string) func(*PackageClient)
- func WithCustomPackages(customPackages []string) func(*PackageClient)
- func WithEksaAccessKeyId(eksaAccessKeyId string) func(client *PackageControllerClient)
- func WithEksaRegion(eksaRegion string) func(client *PackageControllerClient)
- func WithEksaSecretAccessKey(eksaSecretAccessKey string) func(client *PackageControllerClient)
- func WithHTTPProxy(httpProxy string) func(client *PackageControllerClient)
- func WithHTTPSProxy(httpsProxy string) func(client *PackageControllerClient)
- func WithManagementClusterName(managementClusterName string) func(client *PackageControllerClient)
- func WithNoProxy(noProxy []string) func(client *PackageControllerClient)
- type BundleReader
- func (b *BundleReader) GetActiveController(ctx context.Context) (*packagesv1.PackageBundleController, error)
- func (b *BundleReader) GetLatestBundle(ctx context.Context, kubeVersion string) (*packagesv1.PackageBundle, error)
- func (b *BundleReader) UpgradeBundle(ctx context.Context, controller *packagesv1.PackageBundleController, ...) error
- type BundleRegistry
- type ChartInstaller
- type CustomRegistry
- type DefaultRegistry
- type Discovery
- type DisplayablePackage
- type Installer
- type KubeVersion
- type KubectlRunner
- type Manager
- type ManifestReader
- type PackageClient
- func (pc *PackageClient) ApplyPackages(ctx context.Context, fileName string, kubeConfig string) error
- func (pc *PackageClient) CreatePackages(ctx context.Context, fileName string, kubeConfig string) error
- func (pc *PackageClient) DeletePackages(ctx context.Context, packages []string, kubeConfig string, clusterName string) error
- func (pc *PackageClient) DescribePackages(ctx context.Context, packages []string, kubeConfig string, clusterName string) error
- func (pc *PackageClient) DisplayPackages(w io.Writer) error
- func (pc *PackageClient) GeneratePackages(clusterName string) ([]packagesv1.Package, error)
- func (pc *PackageClient) GetPackageFromBundle(packageName string) (*packagesv1.BundlePackage, error)
- func (pc *PackageClient) InstallPackage(ctx context.Context, bp *packagesv1.BundlePackage, customName string, ...) error
- func (pc *PackageClient) WritePackagesToStdOut(packages []packagesv1.Package) error
- type PackageClientOpt
- type PackageController
- type PackageControllerClient
- func (pc *PackageControllerClient) ApplySecret(ctx context.Context) error
- func (pc *PackageControllerClient) CreateCronJob(ctx context.Context) error
- func (pc *PackageControllerClient) EnableCuratedPackages(ctx context.Context) error
- func (pc *PackageControllerClient) InstallPBCResources(ctx context.Context) error
- func (pc *PackageControllerClient) IsInstalled(ctx context.Context) bool
- type PackageControllerClientOpt
- type PackageHandler
- type PackageReader
- type Reader
Constants ¶
const (
CustomName = "generated-"
)
const (
ImageRepositoryName = "eks-anywhere-packages-bundles"
)
Variables ¶
This section is empty.
Functions ¶
func CreateBundleManager ¶
func CreateBundleManager() bundle.RegistryClient
func GenerateAllValidConfigurations ¶ added in v0.9.2
func GetPackageBundleRef ¶
func GetPackageBundleRef(vb releasev1.VersionsBundle) (string, error)
func GetRegistry ¶ added in v0.9.2
func GetVersionBundle ¶
func NewKubeClientFromFilename ¶ added in v0.12.0
NewKubeClientFromFilename creates a controller-runtime k8s client for use by CLI commands.
func ParseConfigurations ¶ added in v0.9.2
func PrintCertManagerDoesNotExistMsg ¶ added in v0.11.0
func PrintCertManagerDoesNotExistMsg()
func PrintLicense ¶
func PrintLicense()
func PullLatestBundle ¶ added in v0.11.2
func PushBundle ¶ added in v0.11.2
func ValidateKubeVersion ¶
func WithActiveBundleTimeout ¶ added in v0.12.0
func WithActiveBundleTimeout(timeout time.Duration) func(client *PackageControllerClient)
func WithBundle ¶ added in v0.9.2
func WithBundle(bundle *packagesv1.PackageBundle) func(*PackageClient)
func WithCustomConfigs ¶ added in v0.9.2
func WithCustomConfigs(customConfigs []string) func(*PackageClient)
func WithCustomPackages ¶ added in v0.9.2
func WithCustomPackages(customPackages []string) func(*PackageClient)
func WithEksaAccessKeyId ¶ added in v0.11.0
func WithEksaAccessKeyId(eksaAccessKeyId string) func(client *PackageControllerClient)
func WithEksaRegion ¶ added in v0.11.0
func WithEksaRegion(eksaRegion string) func(client *PackageControllerClient)
func WithEksaSecretAccessKey ¶ added in v0.11.0
func WithEksaSecretAccessKey(eksaSecretAccessKey string) func(client *PackageControllerClient)
func WithHTTPProxy ¶ added in v0.12.0
func WithHTTPProxy(httpProxy string) func(client *PackageControllerClient)
func WithHTTPSProxy ¶ added in v0.12.0
func WithHTTPSProxy(httpsProxy string) func(client *PackageControllerClient)
func WithManagementClusterName ¶ added in v0.12.0
func WithManagementClusterName(managementClusterName string) func(client *PackageControllerClient)
func WithNoProxy ¶ added in v0.12.0
func WithNoProxy(noProxy []string) func(client *PackageControllerClient)
Types ¶
type BundleReader ¶
type BundleReader struct {
// contains filtered or unexported fields
}
func NewBundleReader ¶
func NewBundleReader(kubeConfig string, clusterName string, k KubectlRunner, bm Manager, reg BundleRegistry) *BundleReader
func (*BundleReader) GetActiveController ¶
func (b *BundleReader) GetActiveController(ctx context.Context) (*packagesv1.PackageBundleController, error)
func (*BundleReader) GetLatestBundle ¶
func (b *BundleReader) GetLatestBundle(ctx context.Context, kubeVersion string) (*packagesv1.PackageBundle, error)
func (*BundleReader) UpgradeBundle ¶
func (b *BundleReader) UpgradeBundle(ctx context.Context, controller *packagesv1.PackageBundleController, newBundleVersion string) error
type BundleRegistry ¶
type ChartInstaller ¶
type CustomRegistry ¶
type CustomRegistry struct { *executables.Helm // contains filtered or unexported fields }
func NewCustomRegistry ¶
func NewCustomRegistry(helm *executables.Helm, registry string) *CustomRegistry
func (*CustomRegistry) GetRegistryBaseRef ¶
func (cm *CustomRegistry) GetRegistryBaseRef(ctx context.Context) (string, error)
type DefaultRegistry ¶
type DefaultRegistry struct {
// contains filtered or unexported fields
}
func NewDefaultRegistry ¶
func NewDefaultRegistry(rmr Reader, kv string, cv version.Info) *DefaultRegistry
func (*DefaultRegistry) GetRegistryBaseRef ¶
func (dr *DefaultRegistry) GetRegistryBaseRef(ctx context.Context) (string, error)
type Discovery ¶
type Discovery struct {
// contains filtered or unexported fields
}
Discovery * Implements ServerVersionInterface to provide the Kubernetes client version to be used.
func NewDiscovery ¶
func NewDiscovery(kubeVersion *KubeVersion) *Discovery
type DisplayablePackage ¶
DisplayablePackage wraps Package to omit undesired members (like Status).
This is necessary in part because of https://github.com/golang/go/issues/11939 but also because we just don't want to generate a Status section when we're emitting templates for a user to modify.
func NewDisplayablePackage ¶
func NewDisplayablePackage(p *api.Package) *DisplayablePackage
type Installer ¶ added in v0.9.2
type Installer struct {
// contains filtered or unexported fields
}
func NewInstaller ¶ added in v0.9.2
func NewInstaller(runner KubectlRunner, pc PackageHandler, pcc PackageController, spec *cluster.Spec, packagesLocation, mgmtKubeconfig string) *Installer
NewInstaller installs packageController and packages during cluster creation.
type KubeVersion ¶
type KubeVersion struct {
// contains filtered or unexported fields
}
func NewKubeVersion ¶
func NewKubeVersion(major string, minor string) *KubeVersion
type KubectlRunner ¶
type KubectlRunner interface { ExecuteCommand(ctx context.Context, opts ...string) (bytes.Buffer, error) ExecuteFromYaml(ctx context.Context, yaml []byte, opts ...string) (bytes.Buffer, error) // GetObject performs a GET call to the kube API server authenticating with a kubeconfig file // and unmarshalls the response into the provdied Object // If the object is not found, it returns an error implementing apimachinery errors.APIStatus GetObject(ctx context.Context, resourceType, name, namespece, kubeconfig string, obj runtime.Object) error // HasResource is true if the resource can be retrieved from the API and has length > 0. HasResource(ctx context.Context, resourceType string, name string, kubeconfig string, namespace string) (bool, error) }
type Manager ¶
type Manager interface { LatestBundle(ctx context.Context, baseRef string, kubeVersion string) ( *packagesv1.PackageBundle, error) }
type ManifestReader ¶ added in v0.11.2
type PackageClient ¶
type PackageClient struct {
// contains filtered or unexported fields
}
func NewPackageClient ¶
func NewPackageClient(kubectl KubectlRunner, options ...PackageClientOpt) *PackageClient
func (*PackageClient) ApplyPackages ¶
func (*PackageClient) CreatePackages ¶
func (*PackageClient) DeletePackages ¶
func (*PackageClient) DescribePackages ¶
func (*PackageClient) DisplayPackages ¶
func (pc *PackageClient) DisplayPackages(w io.Writer) error
DisplayPackages pretty-prints a table of available packages.
func (*PackageClient) GeneratePackages ¶
func (pc *PackageClient) GeneratePackages(clusterName string) ([]packagesv1.Package, error)
func (*PackageClient) GetPackageFromBundle ¶
func (pc *PackageClient) GetPackageFromBundle(packageName string) (*packagesv1.BundlePackage, error)
func (*PackageClient) InstallPackage ¶
func (pc *PackageClient) InstallPackage(ctx context.Context, bp *packagesv1.BundlePackage, customName string, clusterName string, kubeConfig string) error
func (*PackageClient) WritePackagesToStdOut ¶
func (pc *PackageClient) WritePackagesToStdOut(packages []packagesv1.Package) error
type PackageClientOpt ¶ added in v0.9.2
type PackageClientOpt func(*PackageClient)
type PackageController ¶ added in v0.9.2
type PackageControllerClient ¶
type PackageControllerClient struct {
// contains filtered or unexported fields
}
func NewPackageControllerClient ¶
func NewPackageControllerClient(chartInstaller ChartInstaller, kubectl KubectlRunner, clusterName, kubeConfig, uri, chartName, chartVersion string, options ...PackageControllerClientOpt) *PackageControllerClient
func (*PackageControllerClient) ApplySecret ¶ added in v0.11.0
func (pc *PackageControllerClient) ApplySecret(ctx context.Context) error
func (*PackageControllerClient) CreateCronJob ¶ added in v0.11.0
func (pc *PackageControllerClient) CreateCronJob(ctx context.Context) error
func (*PackageControllerClient) EnableCuratedPackages ¶ added in v0.12.0
func (pc *PackageControllerClient) EnableCuratedPackages(ctx context.Context) error
EnableCuratedPackages enables curated packages in a cluster In case the cluster is management cluster, it performs the following actions:
- Installation of Package Controller through helm chart installation
- Creation of secret credentials
- Creation of a single run of a cron job refresher
- Activation of a curated packages bundle
In case the cluster is a workload cluster, it performs the following actions:
- Creation of package bundle controller (PBC) custom resource in management cluster
func (*PackageControllerClient) InstallPBCResources ¶ added in v0.12.0
func (pc *PackageControllerClient) InstallPBCResources(ctx context.Context) error
InstallPBCResources installs Curated Packages Bundle Controller Custom Resource This method is used only for Workload clusters Please refer to this documentation: https://github.com/aws/eks-anywhere-packages/blob/main/docs/design/remote-management.md
func (*PackageControllerClient) IsInstalled ¶ added in v0.12.0
func (pc *PackageControllerClient) IsInstalled(ctx context.Context) bool
IsInstalled checks if a package controller custom resource exists.
type PackageControllerClientOpt ¶ added in v0.11.0
type PackageControllerClientOpt func(client *PackageControllerClient)
type PackageHandler ¶ added in v0.9.2
type PackageReader ¶
type PackageReader struct {
ManifestReader
}
func NewPackageReader ¶
func NewPackageReader(mr ManifestReader) *PackageReader