Documentation
¶
Index ¶
Constants ¶
View Source
const ( CatalogConfigFile = "joy.yaml" JoyrcFile = ".joyrc" JoyDefaultDir = ".joy" )
Variables ¶
This section is empty.
Functions ¶
func CheckCatalogDir ¶
Types ¶
type Config ¶
type Config struct {
// CatalogDir is the directory containing catalog of environments, projects and releases.
// Optional, defaults to ~/.joy
CatalogDir string `yaml:"catalogDir,omitempty"`
// Environments user has selected to work with.
Environments Environments `yaml:"environments,omitempty"`
// Releases user has selected to work with.
Releases Releases `yaml:"releases,omitempty"`
// MinVersion is the minimum version of the joy CLI required
MinVersion string `yaml:"minVersion,omitempty"`
// DefaultChart is the chart reference used by the catalog when omitted from the joy release
DefaultChart string `yaml:"defaultChart,omitempty"`
// ReferenceEnvironment is the name of the environment which represents master in git.
// IE: if you deploy by default to an environment called "testing" when merging to your main remote branch
// then referenceEnvironment should be "testing". This setting allows release versions to be compared to main version.
ReferenceEnvironment string `yaml:"referenceEnvironment,omitempty"`
// ValueMapping are used to apply parameters to the chart values. The values of the mapping
// can use the Release and Environment as template values. Chart mappings will not override values
// already present in the chart.
// For example:
//
// image.tag: {{ .Release.Spec.Version }}
// common.annotations.example\.com/custom: true
//
ValueMapping *ValueMapping `yaml:"valueMapping,omitempty"`
// FilePath is the path to the config file that was loaded, used to write back to the same file.
FilePath string `yaml:"-"`
JoyCache string `yaml:"-"`
RepositoriesDir string `yaml:"repositoriesDir,omitempty"`
// Default GitHub organization to infer the repository from the project name.
GitHubOrganization string `yaml:"gitHubOrganization,omitempty"`
// DefaultGitTagTemplate serves as the default gitTagTemplate for projects
// Can be overridden in the project spec
DefaultGitTagTemplate string `yaml:"defaultGitTagTemplate,omitempty"`
// PromoteReleaseCommitTemplate is the template of pull request commit messages for release promotion
PromoteReleaseCommitTemplate string `yaml:"promoteReleaseCommitTemplate,omitempty"`
// PromoteReleasePullRequestTemplate is the template of pull request titles+bodies for release promotion
PromoteReleasePullRequestTemplate string `yaml:"promoteReleasePullRequestTemplate,omitempty"`
}
func FromContext ¶
type Environments ¶
type Environments struct {
// Selected is the list of environments user has selected to work with.
// Only those will be displayed in table columns by default.
// An empty list means all environments are selected.
Selected []string `yaml:"selected,omitempty"`
}
type Releases ¶
type Releases struct {
// Selected is the list of releases user has selected to work with.
// Only those will be displayed in table rows by default.
// An empty list means all releases are selected.
Selected []string `yaml:"selected,omitempty"`
}
type ValueMapping ¶ added in v0.27.2
func (*ValueMapping) UnmarshalYAML ¶ added in v0.27.2
func (mapping *ValueMapping) UnmarshalYAML(node *yaml.Node) error
UnmarshalYAML provides custom unmarshalling for backwards compatibility with map[string]string valueMappings. This is a stop gap so that we do not break the current joy CLI interpretation of the catalog. However, this will enable us to add a releaseIgnoreList to ignore injecting default values into charts that would otherwise break.
Click to show internal directories.
Click to hide internal directories.