Documentation ¶
Index ¶
Constants ¶
View Source
const ( CatalogConfigFile = "joy.yaml" JoyrcFile = ".joyrc" JoyDefaultDir = ".joy" )
Variables ¶
This section is empty.
Functions ¶
func CheckCatalogDir ¶
func ToFlagsContext ¶ added in v0.33.1
func ToFlagsContext(parent context.Context, flags *GlobalFlags) context.Context
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 GlobalFlags ¶ added in v0.33.1
type GlobalFlags struct { // SkipCatalogUpdate global flag used to skip catalog update and dirty check. SkipCatalogUpdate bool }
func FlagsFromContext ¶ added in v0.33.1
func FlagsFromContext(ctx context.Context) *GlobalFlags
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.