flux

package
v0.77.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Flux

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

Flux holds all information needed to generate Flux manifest.

func New

func New(spec interface{}, rootDir, scmID string) (Flux, error)

New return a new valid Flux object.

func (Flux) DiscoverManifests

func (f Flux) DiscoverManifests() ([][]byte, error)

type MatchingRule

type MatchingRule struct {
	// Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path.
	Path string
	// Repositories specifies the list of Helm Chart repository to check
	Repositories []string
	// Artifacts specifies the list of artifacts to check
	//
	// The key is the artifact name and the value is the artifact version
	//
	// An artifact can be a Helm Chart when used in the context of Helmrelease
	// or an OCIRepository when used in the context of OCIRepository
	//
	// If the value is empty, then the artifact name is enough to match
	// If the value is a valid semver constraint, then the artifact version must match the constraint
	Artifacts map[string]string
}

MatchingRule allows to specifies rules to identify manifest

type MatchingRules

type MatchingRules []MatchingRule

type Spec

type Spec struct {
	// auths provides a map of registry credentials where the key is the registry URL without scheme
	Auths map[string]docker.InlineKeyChain `yaml:",omitempty"`
	// digest allows to specify if the generated manifest should use OCI digest on top of the tag
	//
	// default: true
	Digest *bool `yaml:",omitempty"`
	// helmRelease define if helmrelease file should be updated or not
	//
	// default: true
	HelmRelease *bool `yaml:",omitempty"`
	// files allows to override default flux files
	//
	// default: ["*.yaml", "*.yml"]
	Files []string `yaml:",omitempty"`
	// ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule
	//
	// default: empty
	//
	Ignore MatchingRules `yaml:",omitempty"`
	// only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule
	//
	// default: empty
	//
	Only MatchingRules `yaml:",omitempty"`
	// OCIRepository allows to specify if OCI repository files should be updated
	//
	// default: true
	OCIRepository *bool `yaml:",omitempty"`
	// rootDir defines the root directory used to recursively search for Flux files
	//
	// default: . (current working directory) or scm root directory
	//
	RootDir string `yaml:",omitempty"`
	// versionfilter provides parameters to specify the version pattern used when generating manifest.
	//
	// kind - semver
	//		versionfilter of kind `semver` uses semantic versioning as version filtering
	//		pattern accepts one of:
	//			`patch` - patch only update patch version
	//			`minor` - minor only update minor version
	//			`major` - major only update major versions
	//			`a version constraint` such as `>= 1.0.0`
	//
	//	kind - regex
	//		versionfilter of kind `regex` uses regular expression as version filtering
	//		pattern accepts a valid regular expression
	//
	//	example:
	//	“`
	//		versionfilter:
	//			kind: semver
	//			pattern: minor
	//	“`
	//
	//	and its type like regex, semver, or just latest.
	//
	VersionFilter version.Filter `yaml:",omitempty"`
}

Spec defines the parameters which can be provided to the Flux crawler.

Jump to

Keyboard shortcuts

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