Documentation ¶
Index ¶
- func ValidateDeleteObjectItemConfig(sl validator.StructLevel)
- func ValidateDeploymentItemConfig(sl validator.StructLevel)
- func ValidateExternalProject(sl validator.StructLevel)
- func ValidateGitProject(sl validator.StructLevel)
- func ValidateSecretSource(sl validator.StructLevel)
- func ValidateVarsListItem(sl validator.StructLevel)
- type ArchiveMetadata
- type Change
- type ChangedObject
- type ClusterConfig
- type ClusterConfig2
- type CommandResult
- type DeleteObjectItemConfig
- type DeploymentArg
- type DeploymentError
- type DeploymentItemConfig
- type DeploymentProjectConfig
- type DynamicArg
- type DynamicTarget
- type ExternalProject
- type ExternalProjects
- type ExternalTargetConfig
- type FixedImage
- type FixedImagesConfig
- type GitProject
- type GlobalSealedSecretsConfig
- type HelmChartConfig
- type HelmChartConfig2
- type IgnoreForDiffItemConfig
- type InvolvedRepo
- type KluctlProject
- type RefAndObject
- type SealedSecretsConfig
- type SealingConfig
- type SecretSet
- type SecretSource
- type SecretSourceAwsSecretsManager
- type SecretsConfig
- type SingleStringOrList
- type Target
- type TargetConfig
- type ValidateResult
- type ValidateResultEntry
- type VarsListItem
- type VarsListItemClusterConfigMapOrSecret
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateDeleteObjectItemConfig ¶
func ValidateDeleteObjectItemConfig(sl validator.StructLevel)
func ValidateDeploymentItemConfig ¶
func ValidateDeploymentItemConfig(sl validator.StructLevel)
func ValidateExternalProject ¶
func ValidateExternalProject(sl validator.StructLevel)
func ValidateGitProject ¶
func ValidateGitProject(sl validator.StructLevel)
func ValidateSecretSource ¶
func ValidateSecretSource(sl validator.StructLevel)
func ValidateVarsListItem ¶
func ValidateVarsListItem(sl validator.StructLevel)
Types ¶
type ArchiveMetadata ¶
type ArchiveMetadata struct { InvolvedRepos map[string][]InvolvedRepo `yaml:"involvedRepos"` Targets []*DynamicTarget `yaml:"targets"` }
type ChangedObject ¶
type ChangedObject struct { Ref k8s.ObjectRef `yaml:"ref"` NewObject *uo.UnstructuredObject `yaml:"newObject,omitempty"` OldObject *uo.UnstructuredObject `yaml:"oldObject,omitempty"` Changes []Change `yaml:"changes,omitempty"` }
type ClusterConfig ¶
type ClusterConfig struct {
Cluster *ClusterConfig2 `yaml:"cluster"`
}
func LoadClusterConfig ¶
func LoadClusterConfig(clusterDir string, clusterName string) (*ClusterConfig, error)
type ClusterConfig2 ¶
type ClusterConfig2 struct { Name string `yaml:"name" validate:"required"` Context string `yaml:"context" validate:"required"` Vars *uo.UnstructuredObject `yaml:"vars,omitempty"` }
func (*ClusterConfig2) MarshalYAML ¶
func (cc *ClusterConfig2) MarshalYAML() (interface{}, error)
func (*ClusterConfig2) UnmarshalYAML ¶
func (cc *ClusterConfig2) UnmarshalYAML(unmarshal func(interface{}) error) error
TODO remove custom unmarshaller when https://github.com/goccy/go-yaml/pull/220 gets released
type CommandResult ¶
type CommandResult struct { NewObjects []*RefAndObject `yaml:"newObjects,omitempty"` ChangedObjects []*ChangedObject `yaml:"changedObjects,omitempty"` HookObjects []*RefAndObject `yaml:"hookObjects,omitempty"` OrphanObjects []k8s.ObjectRef `yaml:"orphanObjects,omitempty"` DeletedObjects []k8s.ObjectRef `yaml:"deletedObjects,omitempty"` Errors []DeploymentError `yaml:"errors,omitempty"` Warnings []DeploymentError `yaml:"warnings,omitempty"` SeenImages []FixedImage `yaml:"seenImages,omitempty"` }
type DeleteObjectItemConfig ¶
type DeploymentArg ¶
type DeploymentArg struct { Name string `yaml:"name" validate:"required"` Default interface{} `yaml:"default,omitempty"` }
type DeploymentError ¶
type DeploymentItemConfig ¶
type DeploymentItemConfig struct { Path *string `yaml:"path,omitempty"` Include *string `yaml:"include,omitempty"` Tags []string `yaml:"tags,omitempty"` Barrier *bool `yaml:"barrier,omitempty"` WaitReadiness *bool `yaml:"waitReadiness,omitempty"` Vars []*VarsListItem `yaml:"vars,omitempty"` SkipDeleteIfTags *bool `yaml:"skipDeleteIfTags,omitempty"` OnlyRender *bool `yaml:"onlyRender,omitempty"` AlwaysDeploy *bool `yaml:"alwaysDeploy,omitempty"` DeleteObjects []DeleteObjectItemConfig `yaml:"deleteObjects,omitempty"` }
type DeploymentProjectConfig ¶
type DeploymentProjectConfig struct { Args []*DeploymentArg `yaml:"args,omitempty"` Vars []*VarsListItem `yaml:"vars,omitempty"` SealedSecrets *SealedSecretsConfig `yaml:"sealedSecrets,omitempty"` Deployments []*DeploymentItemConfig `yaml:"deployments,omitempty"` // Obsolete KustomizeDirs []*DeploymentItemConfig `yaml:"kustomizeDirs,omitempty"` Includes []*DeploymentItemConfig `yaml:"includes,omitempty"` CommonLabels map[string]string `yaml:"commonLabels,omitempty"` DeleteByLabels map[string]string `yaml:"deleteByLabels,omitempty"` OverrideNamespace *string `yaml:"overrideNamespace,omitempty"` Tags []string `yaml:"tags,omitempty"` IgnoreForDiff []*IgnoreForDiffItemConfig `yaml:"ignoreForDiff,omitempty"` TemplateExcludes []string `yaml:"templateExcludes,omitempty"` }
type DynamicArg ¶
type DynamicTarget ¶
type ExternalProject ¶
type ExternalProject struct { Project *GitProject `yaml:"project,omitempty"` Path *string `yaml:"path,omitempty"` }
type ExternalProjects ¶
type ExternalProjects struct {
Projects []ExternalProject
}
func (*ExternalProjects) UnmarshalYAML ¶
func (gp *ExternalProjects) UnmarshalYAML(unmarshal func(interface{}) error) error
type ExternalTargetConfig ¶
type ExternalTargetConfig struct { Project *GitProject `yaml:"project,omitempty"` // Ref Branch/Tag to be used. Can't be combined with 'refPattern'. If 'branch' and 'branchPattern' are not used, 'branch' defaults to the default branch of targetConfig.project Ref *string `yaml:"ref,omitempty"` // RefPattern If set, multiple dynamic targets are created, each with 'ref' being set to the ref that matched the given pattern. RefPattern *string `yaml:"refPattern,omitempty"` // File defaults to 'target-config.yml' File *string `yaml:"file,omitempty"` }
type FixedImage ¶
type FixedImage struct { Image string `yaml:"image" validate:"required"` ResultImage string `yaml:"resultImage" validate:"required"` DeployedImage *string `yaml:"deployedImage,omitempty"` RegistryImage *string `yaml:"registryImage,omitempty"` Namespace *string `yaml:"namespace,omitempty"` Object *k8s.ObjectRef `yaml:"object,omitempty"` Deployment *string `yaml:"deployment,omitempty"` Container *string `yaml:"container,omitempty"` VersionFilter *string `yaml:"versionFilter,omitempty"` DeployTags []string `yaml:"deployTags,omitempty"` DeploymentDir *string `yaml:"deploymentDir,omitempty"` }
type FixedImagesConfig ¶
type FixedImagesConfig struct {
Images []FixedImage `yaml:"images,omitempty"`
}
type GitProject ¶
type GitProject struct { Url git_url.GitUrl `yaml:"url" validate:"required"` Ref string `yaml:"ref,omitempty"` SubDir string `yaml:"subDir,omitempty"` }
func (*GitProject) UnmarshalYAML ¶
func (gp *GitProject) UnmarshalYAML(unmarshal func(interface{}) error) error
type HelmChartConfig ¶
type HelmChartConfig struct {
HelmChartConfig2 `yaml:"helmChart" validate:"required"`
}
type HelmChartConfig2 ¶
type HelmChartConfig2 struct { Repo *string `yaml:"repo" validate:"required"` ChartName *string `yaml:"chartName,omitempty"` ChartVersion *string `yaml:"chartVersion" validate:"required"` ReleaseName string `yaml:"releaseName" validate:"required"` Namespace *string `yaml:"namespace,omitempty"` Output string `yaml:"output" validate:"required"` SkipCRDs *bool `yaml:"skipCRDs,omitempty"` SkipUpdate *bool `yaml:"skipUpdate,omitempty"` }
type IgnoreForDiffItemConfig ¶
type IgnoreForDiffItemConfig struct { FieldPath SingleStringOrList `yaml:"fieldPath" validate:"required"` Group *string `yaml:"group,omitempty"` Kind *string `yaml:"kind,omitempty"` Name *string `yaml:"name,omitempty"` Namespace *string `yaml:"namespace,omitempty"` }
type InvolvedRepo ¶
type KluctlProject ¶
type KluctlProject struct { Deployment *ExternalProject `yaml:"deployment,omitempty"` SealedSecrets *ExternalProject `yaml:"sealedSecrets,omitempty"` Clusters ExternalProjects `yaml:"clusters,omitempty"` Targets []*Target `yaml:"targets,omitempty"` SecretsConfig *SecretsConfig `yaml:"secretsConfig,omitempty"` }
type RefAndObject ¶
type RefAndObject struct { Ref k8s.ObjectRef `yaml:"ref"` Object *uo.UnstructuredObject `yaml:"object,omitempty"` }
type SealedSecretsConfig ¶
type SealedSecretsConfig struct {
OutputPattern *string `yaml:"outputPattern,omitempty"`
}
type SealingConfig ¶
type SealingConfig struct { // DynamicSealing Set this to false if you want to disable sealing for every dynamic target DynamicSealing *bool `yaml:"dynamicSealing,omitempty"` Args *uo.UnstructuredObject `yaml:"args,omitempty"` SecretSets []string `yaml:"secretSets,omitempty"` }
type SecretSet ¶
type SecretSet struct { Name string `yaml:"name" validate:"required"` Sources []SecretSource `yaml:"sources" validate:"required,gt=0"` }
type SecretSource ¶
type SecretSource struct { Path *string `yaml:"path,omitempty"` SystemEnvVars *uo.UnstructuredObject `yaml:"systemEnvVars,omitempty"` AwsSecretsManager *SecretSourceAwsSecretsManager `yaml:"awsSecretsManager,omitempty"` }
type SecretSourceAwsSecretsManager ¶
type SecretSourceAwsSecretsManager struct { // Name or ARN of the secret. In case a name is given, the region must be specified as well SecretName string `yaml:"secretName" validate:"required"` // The aws region Region *string `yaml:"region,omitempty"` // AWS credentials profile to use. The AWS_PROFILE environemnt variables will take precedence in case it is also set Profile *string `yaml:"profile,omitempty"` }
type SecretsConfig ¶
type SecretsConfig struct { SealedSecrets *GlobalSealedSecretsConfig `yaml:"sealedSecrets,omitempty"` SecretSets []SecretSet `yaml:"secretSets,omitempty"` }
type SingleStringOrList ¶
type SingleStringOrList []string
func (*SingleStringOrList) UnmarshalYAML ¶
func (s *SingleStringOrList) UnmarshalYAML(unmarshal func(interface{}) error) error
type Target ¶
type Target struct { Name string `yaml:"name" validate:"required"` Cluster string `yaml:"cluster" validate:"required"` Args *uo.UnstructuredObject `yaml:"args,omitempty"` DynamicArgs []DynamicArg `yaml:"dynamicArgs,omitempty"` TargetConfig *ExternalTargetConfig `yaml:"targetConfig,omitempty"` SealingConfig *SealingConfig `yaml:"sealingConfig,omitempty"` Images []FixedImage `yaml:"images,omitempty"` }
type TargetConfig ¶
type TargetConfig struct { FixedImagesConfig `yaml:"fixed_images_config,inline"` Args *uo.UnstructuredObject `yaml:"args,omitempty"` }
type ValidateResult ¶
type ValidateResult struct { Ready bool `yaml:"ready"` Warnings []DeploymentError `yaml:"warnings,omitempty"` Errors []DeploymentError `yaml:"errors,omitempty"` Results []ValidateResultEntry `yaml:"results,omitempty"` }
type ValidateResultEntry ¶
type VarsListItem ¶
type VarsListItem struct { Values *uo.UnstructuredObject `yaml:"values,omitempty"` File *string `yaml:"file,omitempty"` ClusterConfigMap *VarsListItemClusterConfigMapOrSecret `yaml:"clusterConfigMap,omitempty"` ClusterSecret *VarsListItemClusterConfigMapOrSecret `yaml:"clusterSecret,omitempty"` }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.