options

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2021 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalChartOptions

type AdditionalChartOptions struct {
	// WorkingDir is the working directory for this chart within packages/<package-name>
	WorkingDir string `yaml:"workingDir"`
	// UpstreamOptions is any options provided on how to get this chart from upstream. It is mutually exclusive with CRDChartOptions
	UpstreamOptions *UpstreamOptions `yaml:"upstreamOptions,omitempty"`
	// CRDChartOptions is any options provided on how to generate a CRD chart. It is mutually exclusive with UpstreamOptions
	CRDChartOptions *CRDChartOptions `yaml:"crdOptions,omitempty"`
}

AdditionalChartOptions represent the options presented to users to be able to configure the way an additional chart is built using these scripts

type CRDChartOptions

type CRDChartOptions struct {
	// The directory within packages/<package-name>/templates/ that will contain the template for your CRD chart
	TemplateDirectory string `yaml:"templateDirectory"`
	// The directory within your templateDirectory in which CRD files should be placed
	CRDDirectory string `yaml:"crdDirectory" default:"templates"`
	// Whether to add a validation file to your main chart to check that CRDs exist
	AddCRDValidationToMainChart bool `yaml:"addCRDValidationToMainChart"`
}

CRDChartOptions represent any options that are configurable for CRD charts

type ChartOptions

type ChartOptions struct {
	// WorkingDir is the working directory for this chart within packages/<package-name>
	WorkingDir string `yaml:"workingDir" default:"charts"`
	// UpstreamOptions is any options provided on how to get this chart from upstream
	UpstreamOptions UpstreamOptions `yaml:",inline"`
}

ChartOptions represent the options presented to users to be able to configure the way a main chart is built using these scripts

func LoadChartOptionsFromFile

func LoadChartOptionsFromFile(fs billy.Filesystem, path string) (ChartOptions, error)

LoadChartOptionsFromFile unmarshalls the struct found at the file to YAML and reads it into memory

func (ChartOptions) WriteToFile

func (c ChartOptions) WriteToFile(fs billy.Filesystem, path string) error

WriteToFile marshals the struct to yaml and writes it into the path specified

type ChartsScriptOptions

type ChartsScriptOptions struct {
	// SyncOptions represents any options that are configurable when syncing with another branch
	SyncOptions SyncOptions `yaml:"sync"`
	// ValidateOptions represent any options that are configurable when validating a chart
	ValidateOptions ValidateOptions `yaml:"validate"`
	// HelmRepoConfiguration represents the configuration of the Helm Repository that exposes your charts
	HelmRepoConfiguration `yaml:"helmRepo"`
	// Template can be 'source', 'staging', or 'live'
	Template string `yaml:"template"`
}

ChartsScriptOptions represents the options provided to the charts scripts for this branch

type CompareGeneratedAssetsOptions

type CompareGeneratedAssetsOptions struct {
	// UpstreamOptions points to the configuration that contains the branch you want to compare against
	UpstreamOptions UpstreamOptions `yaml:",inline"`
	// Branch represents the branch of the GithubConfiguration that you want to compare against
	Branch string `yaml:"branch"`
	// DropReleaseCandidates indicates that we should drop the release candidate versions from the current branch when comparing with
	DropReleaseCandidates bool `yaml:"dropReleaseCandidates"`
}

CompareGeneratedAssetsOptions represent any options that are configurable when comparing the generated assets of the current branch against another branch

type HelmRepoConfiguration

type HelmRepoConfiguration struct {
	CNAME string `yaml:"cname"`
}

HelmRepoConfiguration represents the configuration of the Helm Repository that exposes your charts

type PackageOptions

type PackageOptions struct {
	// PackageVersion represents the current version of the package. It needs to be incremented whenever there are changes
	PackageVersion int `yaml:"packageVersion" default:"0"`
	// ReleaseCandidateVersion represents the version of the release candidate for a given package.
	ReleaseCandidateVersion int `yaml:"releaseCandidateVersion"`
	// MainChartOptions represent options presented to the user to configure the main chart
	MainChartOptions ChartOptions `yaml:",inline"`
	// AdditionalChartOptions represent options presented to the user to configure any additional charts
	AdditionalChartOptions []AdditionalChartOptions `yaml:"additionalCharts,omitempty"`
	// DoNotRelease represents a boolean flag that indicates a package should not be tracked in make charts
	DoNotRelease bool `yaml:"doNotRelease,omitempty"`
}

PackageOptions represent the options presented to users to be able to configure the way a package is built using these scripts The YAML that corresponds to these options are stored within packages/<package-name>/package.yaml for each package

func LoadPackageOptionsFromFile

func LoadPackageOptionsFromFile(fs billy.Filesystem, path string) (PackageOptions, error)

LoadPackageOptionsFromFile unmarshalls the struct found at the file to YAML and reads it into memory

func (PackageOptions) WriteToFile

func (p PackageOptions) WriteToFile(fs billy.Filesystem, path string) error

WriteToFile marshals the struct to yaml and writes it into the path specified

type SyncOptions

type SyncOptions []CompareGeneratedAssetsOptions

SyncOptions represent any options that are configurable when exporting a chart

type UpstreamOptions

type UpstreamOptions struct {
	// URL represents a source for your upstream (e.g. a Github repository URL or a download link for an archive)
	URL string `yaml:"url,omitempty"`
	// Subdirectory represents a specific directory within the upstream pointed to by the URL to treat as the root
	Subdirectory *string `yaml:"subdirectory,omitempty"`
	// Commit represents a specific commit hash to treat as the head, if the URL points to a Github repository
	Commit *string `yaml:"commit,omitempty"`
}

UpstreamOptions represents the options presented to users to define where the upstream Helm chart is located

type ValidateOptions

type ValidateOptions []CompareGeneratedAssetsOptions

ValidateOptions represent any options that are configurable when validating a chart

Jump to

Keyboard shortcuts

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