Documentation
¶
Index ¶
- Variables
- func NewDeckhouseReleaseController(ctx context.Context, mgr manager.Manager, dc dependency.Container, ...) error
- type DeckhouseReleaseFetcher
- func (f *DeckhouseReleaseFetcher) GetNewReleasesMetadata(ctx context.Context, actual, target *semver.Version) ([]ReleaseMetadata, error)
- func (f *DeckhouseReleaseFetcher) GetReleaseChannel() string
- func (f *DeckhouseReleaseFetcher) GetReleaseImageInfo(ctx context.Context, previousImageHash string) (*ReleaseImageInfo, error)
- type DeckhouseReleaseFetcherConfig
- type MetricsUpdater
- type ReleaseImageInfo
- type ReleaseMetadata
- type TimeResult
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDeploymentContainerIsNotFound = errors.New("deployment container is not found")
View Source
var ErrImageIsNil = errors.New("image is nil")
View Source
var ErrImageNotChanged = errors.New("image not changed")
View Source
var ErrPreApplyCheckIsFailed = errors.New("pre apply check is failed")
Functions ¶
func NewDeckhouseReleaseController ¶
func NewDeckhouseReleaseController(ctx context.Context, mgr manager.Manager, dc dependency.Container, exts *extenders.ExtendersStack, moduleManager moduleManager, updateSettings *helpers.DeckhouseSettingsContainer, metricStorage metric.Storage, preflightCountDown *sync.WaitGroup, deckhouseVersion string, logger *log.Logger, ) error
Types ¶
type DeckhouseReleaseFetcher ¶ added in v1.68.2
type DeckhouseReleaseFetcher struct {
// contains filtered or unexported fields
}
func NewDeckhouseReleaseFetcher ¶ added in v1.68.2
func NewDeckhouseReleaseFetcher(cfg *DeckhouseReleaseFetcherConfig) *DeckhouseReleaseFetcher
func (*DeckhouseReleaseFetcher) GetNewReleasesMetadata ¶ added in v1.68.2
func (f *DeckhouseReleaseFetcher) GetNewReleasesMetadata(ctx context.Context, actual, target *semver.Version) ([]ReleaseMetadata, error)
FetchReleasesMetadata realize step by step update
func (*DeckhouseReleaseFetcher) GetReleaseChannel ¶ added in v1.68.2
func (f *DeckhouseReleaseFetcher) GetReleaseChannel() string
func (*DeckhouseReleaseFetcher) GetReleaseImageInfo ¶ added in v1.71.0
func (f *DeckhouseReleaseFetcher) GetReleaseImageInfo(ctx context.Context, previousImageHash string) (*ReleaseImageInfo, error)
GetReleaseImageInfo get Image, Digest and release metadata using imageTag with existing registry client return error if version.json not found in metadata return ErrImageNotChanged with ReleaseImageInfo if image hash matches with previousImageHash
type DeckhouseReleaseFetcherConfig ¶ added in v1.68.2
type DeckhouseReleaseFetcherConfig struct {
// contains filtered or unexported fields
}
type MetricsUpdater ¶ added in v1.68.0
type MetricsUpdater interface {
UpdateReleaseMetric(string, releaseUpdater.MetricLabels)
PurgeReleaseMetric(string)
}
type ReleaseImageInfo ¶ added in v1.71.0
type ReleaseImageInfo struct {
Metadata *ReleaseMetadata
Image registryv1.Image
Digest registryv1.Hash
}
type ReleaseMetadata ¶ added in v1.65.0
type ReleaseMetadata struct {
Version string `json:"version"`
Changelog map[string]interface{} `json:"-"`
ModuleDefinition *moduletypes.Definition `json:"module,omitempty"`
// TODO: review fields below. it can be useless now
Canary map[string]canarySettings `json:"canary"`
Requirements map[string]string `json:"requirements"`
Disruptions map[string][]string `json:"disruptions"`
Suspend bool `json:"suspend"`
Cooldown *metav1.Time `json:"-"`
}
func (*ReleaseMetadata) CalculateReleaseDelay ¶ added in v1.68.2
func (*ReleaseMetadata) IsCanaryRelease ¶ added in v1.68.2
func (m *ReleaseMetadata) IsCanaryRelease(channel string) bool
type TimeResult ¶ added in v1.68.0
type TimeResult struct {
*releaseUpdater.ProcessedDeployTimeResult
Notified bool
}
Click to show internal directories.
Click to hide internal directories.