service

package
v0.20.10 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DeckhouseService

type DeckhouseService struct {
	// contains filtered or unexported fields
}

DeckhouseService provides high-level operations for Deckhouse platform management

func NewDeckhouseService

func NewDeckhouseService(client pkg.RegistryClient, logger *log.Logger) *DeckhouseService

NewDeckhouseService creates a new deckhouse service

func (*DeckhouseService) ExtractRelease

func (s *DeckhouseService) ExtractRelease(ctx context.Context, releaseTag, destination string) error

ExtractRelease downloads the Deckhouse release image and extracts it to the specified location

func (*DeckhouseService) GetReleaseInfo

func (s *DeckhouseService) GetReleaseInfo(ctx context.Context, releaseTag string) (interface{}, error)

GetReleaseInfo gets information about a specific Deckhouse release

func (*DeckhouseService) ListReleaseTags

func (s *DeckhouseService) ListReleaseTags(ctx context.Context) ([]string, error)

ListReleaseTags lists all available tags for Deckhouse releases

func (*DeckhouseService) ListReleases

func (s *DeckhouseService) ListReleases(ctx context.Context) ([]string, error)

ListReleases lists all available Deckhouse releases

type EnvVarDTO

type EnvVarDTO struct {
	Name string `json:"name"`
}

EnvVarDTO represents an environment variable in JSON

type FlagDTO

type FlagDTO struct {
	Name string `json:"name"`
}

FlagDTO represents a flag in JSON

type KubernetesRequirementDTO

type KubernetesRequirementDTO struct {
	Constraint string `json:"constraint"`
}

KubernetesRequirementDTO represents Kubernetes requirement in JSON

type ModuleRequirementDTO

type ModuleRequirementDTO struct {
	Name       string `json:"name"`
	Constraint string `json:"constraint"`
}

ModuleRequirementDTO represents module requirement in JSON

type ModuleService

type ModuleService struct {
	// contains filtered or unexported fields
}

ModuleService provides high-level operations for module management

func NewModuleService

func NewModuleService(client pkg.RegistryClient, logger *log.Logger) *ModuleService

NewModuleService creates a new module service

func (*ModuleService) ExtractModule

func (s *ModuleService) ExtractModule(ctx context.Context, moduleName, tag, destination string) error

ExtractModule downloads the module image and extracts it to the specified location

func (*ModuleService) GetModuleInfo

func (s *ModuleService) GetModuleInfo(ctx context.Context, moduleName, tag string) (interface{}, error)

GetModuleInfo gets information about a specific module

func (*ModuleService) ListModuleTags

func (s *ModuleService) ListModuleTags(ctx context.Context, moduleName string) ([]string, error)

ListModuleTags lists all available tags for a specific module

func (*ModuleService) ListModules

func (s *ModuleService) ListModules(ctx context.Context) ([]string, error)

ListModules lists all available module names from the registry

type PluginContract

type PluginContract struct {
	Name         string          `json:"name"`
	Version      string          `json:"version"`
	Description  string          `json:"description"`
	Env          []EnvVarDTO     `json:"env,omitempty"`
	Flags        []FlagDTO       `json:"flags,omitempty"`
	Requirements RequirementsDTO `json:"requirements,omitempty"`
}

PluginContract represents the plugin contract metadata (DTO for JSON unmarshaling)

type PluginService

type PluginService struct {
	// contains filtered or unexported fields
}

PluginService provides high-level operations for plugin management

func NewPluginService

func NewPluginService(client pkg.RegistryClient, logger *log.Logger) *PluginService

NewPluginService creates a new plugin service

func (*PluginService) ExtractPlugin

func (s *PluginService) ExtractPlugin(ctx context.Context, pluginName, tag, destination string) error

ExtractPlugin downloads the plugin image and extracts it to the specified location

func (*PluginService) GetPluginContract

func (s *PluginService) GetPluginContract(ctx context.Context, pluginName, tag string) (*internal.Plugin, error)

GetPluginContract reads the plugin contract from image metadata annotation

func (*PluginService) ListPluginTags

func (s *PluginService) ListPluginTags(ctx context.Context, pluginName string) ([]string, error)

ListPluginTags lists all available tags for a specific plugin

func (*PluginService) ListPlugins

func (s *PluginService) ListPlugins(ctx context.Context) ([]string, error)

ListPlugins lists all available plugin names from the registry Note: This requires the registry to support the catalog API and grant access to it. If the registry doesn't allow catalog access, this will return an error.

type RequirementsDTO

type RequirementsDTO struct {
	Kubernetes KubernetesRequirementDTO `json:"kubernetes,omitempty"`
	Modules    []ModuleRequirementDTO   `json:"modules,omitempty"`
}

RequirementsDTO represents requirements in JSON

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service provides high-level registry operations using a registry client

func NewService

func NewService(client pkg.RegistryClient, logger *log.Logger) *Service

NewService creates a new registry service with the given client and logger

func (*Service) DeckhouseService

func (s *Service) DeckhouseService() *DeckhouseService

DeckhouseService returns the deckhouse service

func (*Service) ModuleService

func (s *Service) ModuleService() *ModuleService

ModuleService returns the module service

func (*Service) PluginService

func (s *Service) PluginService() *PluginService

PluginService returns the plugin service

Jump to

Keyboard shortcuts

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