Documentation
¶
Index ¶
- type DeckhouseService
- func (s *DeckhouseService) ExtractRelease(ctx context.Context, releaseTag, destination string) error
- func (s *DeckhouseService) GetReleaseInfo(ctx context.Context, releaseTag string) (interface{}, error)
- func (s *DeckhouseService) ListReleaseTags(ctx context.Context) ([]string, error)
- func (s *DeckhouseService) ListReleases(ctx context.Context) ([]string, error)
- type EnvVarDTO
- type FlagDTO
- type KubernetesRequirementDTO
- type ModuleRequirementDTO
- type ModuleService
- func (s *ModuleService) ExtractModule(ctx context.Context, moduleName, tag, destination string) error
- func (s *ModuleService) GetModuleInfo(ctx context.Context, moduleName, tag string) (interface{}, error)
- func (s *ModuleService) ListModuleTags(ctx context.Context, moduleName string) ([]string, error)
- func (s *ModuleService) ListModules(ctx context.Context) ([]string, error)
- type PluginContract
- type PluginService
- func (s *PluginService) ExtractPlugin(ctx context.Context, pluginName, tag, destination string) error
- func (s *PluginService) GetPluginContract(ctx context.Context, pluginName, tag string) (*internal.Plugin, error)
- func (s *PluginService) ListPluginTags(ctx context.Context, pluginName string) ([]string, error)
- func (s *PluginService) ListPlugins(ctx context.Context) ([]string, error)
- type RequirementsDTO
- type Service
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 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 ¶
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 ¶
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