helmfile

package
v1.206.1 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package helmfile provides utilities for helmfile configuration and execution, including EKS cluster name resolution and AWS authentication handling.

Package helmfile provides utilities for helmfile configuration and execution.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthInput

type AuthInput struct {
	// Identity is the value from --identity flag (highest priority).
	Identity string
	// ProfilePattern is the helm_aws_profile_pattern from config (deprecated).
	ProfilePattern string
}

AuthInput contains all possible sources for AWS auth resolution.

type AuthResult

type AuthResult struct {
	// UseIdentityAuth is true if identity-based authentication should be used.
	UseIdentityAuth bool
	// Profile is the AWS profile name (only set if UseIdentityAuth is false).
	Profile string
	// Source indicates where the auth came from.
	Source string
	// IsDeprecated is true if the source uses deprecated configuration.
	IsDeprecated bool
}

AuthResult contains the resolved AWS authentication information.

func ResolveAWSAuth

func ResolveAWSAuth(input AuthInput, context *Context) (*AuthResult, error)

ResolveAWSAuth determines the AWS authentication method with precedence: 1. The --identity flag (highest - uses identity system). 2. The helm_aws_profile_pattern (deprecated, logs warning). The context parameter must be non-nil when using helm_aws_profile_pattern.

type ClusterNameInput

type ClusterNameInput struct {
	// FlagValue is the value from --cluster-name flag (highest priority).
	FlagValue string
	// ConfigValue is the value from cluster_name in config.
	ConfigValue string
	// Template is the cluster_name_template value (Go template syntax).
	Template string
	// Pattern is the cluster_name_pattern value (deprecated token syntax).
	Pattern string
}

ClusterNameInput contains all possible sources for cluster name resolution.

type ClusterNameResult

type ClusterNameResult struct {
	// ClusterName is the resolved cluster name.
	ClusterName string
	// Source indicates where the cluster name came from.
	Source string
	// IsDeprecated is true if the source uses deprecated configuration.
	IsDeprecated bool
}

ClusterNameResult contains the resolved cluster name and metadata.

func ResolveClusterName

func ResolveClusterName(
	input ClusterNameInput,
	context *Context,
	atmosConfig *schema.AtmosConfiguration,
	componentSection map[string]any,
	templateProcessor TemplateProcessor,
) (*ClusterNameResult, error)

ResolveClusterName determines the EKS cluster name with precedence: 1. The --cluster-name flag (highest - always overrides). 2. The cluster_name in config. 3. The cluster_name_template expanded (Go template syntax). 4. The cluster_name_pattern expanded (deprecated, logs warning).

type Context

type Context = schema.Context

Context is an alias for schema.Context for use in this package.

type TemplateProcessor

type TemplateProcessor func(
	atmosConfig *schema.AtmosConfiguration,
	tmplName string,
	tmplValue string,
	tmplData any,
	ignoreMissingTemplateValues bool,
) (string, error)

TemplateProcessor is a function that processes Go templates. This allows injecting the template processor for testing.

Jump to

Keyboard shortcuts

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