artifact

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package artifact defines the structural details of any given release artifact, so that the respective current and desired state can be mapped to their source code.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Struct

type Struct struct {
	// Condition is the namespace for the state requirements of any given
	// infrastructure or service release.
	Condition condition.Struct

	// Reference is the namespace for the desired state of any given
	// infrastructure or service release.
	Reference reference.Struct

	// Scheduler is the namespace for the current state of any given
	// infrastructure or service release.
	Scheduler scheduler.Struct
}

func (Struct) Drift

func (s Struct) Drift() bool

Drift returns whether the current state is different from the desired state, or whether this artifcat should trigger a deployment regardless.

func (Struct) Empty

func (s Struct) Empty() bool

Empty returns whether the desired reference of this artifact is empty.

func (Struct) Merge

func (s Struct) Merge(p Struct) Struct

Merge applies the given forward only patch, which means that only non-zero values can overwrite zero values. This particular patch strategy is important because Kayron manages release artifacts concurrently, so we must only ever update the leafs of an artifact where it actually changed. Otherwise zero values would overwrite artifact leafs that are patched by another goroutine in parallel.

func (Struct) Valid

func (s Struct) Valid() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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