Documentation
¶
Index ¶
- Constants
- Variables
- func CheckModuleOptions(options data.ModuleConfig) error
- func CloneModule(module data.ModuleConfig) (*git.Repository, error)
- func ConfigureTimeouts(config ModuleTimeoutConfig)
- func HasInputFiles(inputFiles data.InputFiles) bool
- func LoadModule(module data.ModuleConfig, inputs map[string]string) (*data.Module, error)
- func PrepareModule(module data.ModuleConfig) (string, error)
- func ProcessModule(module data.ModuleConfig) (data.ModuleConfig, error)
- func ResetTimeouts()
- func ValidateInputFiles(path string, inputFiles data.InputFiles) error
- type ModuleTimeoutConfig
- type RefCache
Constants ¶
const REPO_DIR = "repos"
Variables ¶
var DefaultTimeoutConfig = GetDefaultModuleTimeoutOptions()
DefaultTimeoutConfig provides default values for all timeouts
var TimeoutConfig = DefaultTimeoutConfig
Current timeout configuration, can be modified at runtime
Functions ¶
func CheckModuleOptions ¶
func CheckModuleOptions(options data.ModuleConfig) error
func CloneModule ¶
func CloneModule(module data.ModuleConfig) (*git.Repository, error)
func ConfigureTimeouts ¶
func ConfigureTimeouts(config ModuleTimeoutConfig)
ConfigureTimeouts allows users to modify the timeout configuration Partial configurations are supported - only the provided fields will be updated
func HasInputFiles ¶ added in v2.19.0
func HasInputFiles(inputFiles data.InputFiles) bool
func LoadModule ¶
- prepare the module - now we have the text of the template - inject the given values using template syntax - JSON parse and check we don't have errors
func PrepareModule ¶
func PrepareModule(module data.ModuleConfig) (string, error)
PrepareModule get a module cloned and checked out then return the text content of the template
- process shortcuts
- check if we have the repo cloned
- checkout the correct hash
- check and read the file
func ProcessModule ¶
func ProcessModule(module data.ModuleConfig) (data.ModuleConfig, error)
given a module - check if it's a shortcut and if yes expand the shortcut into the other module props
func ValidateInputFiles ¶ added in v2.19.0
func ValidateInputFiles(path string, inputFiles data.InputFiles) error
Check that required files exist and only explicitly defined files are in the target directory
Types ¶
type ModuleTimeoutConfig ¶
type ModuleTimeoutConfig struct {
// Lock related timeouts
DefaultLockTimeout time.Duration // Default timeout for acquiring lock
ExtendedLockTimeout time.Duration // Extended timeout for lock acquisition during clone
LockTickInterval time.Duration // Interval between lock acquisition attempts
StaleLockThreshold time.Duration // Time after which a lock is considered stale
// Git operation related timeouts and retries
MaxRetries int // Maximum number of retries for git operations
RetryDelayMultiplier time.Duration // Base delay multiplier for retries
NetworkRetryMultiplier time.Duration // Additional delay for network-related errors
}
ModuleTimeoutConfig holds all timeout configuration values
func GetDefaultModuleTimeoutOptions ¶
func GetDefaultModuleTimeoutOptions() ModuleTimeoutConfig
GetDefaultModuleTimeoutOptions returns default options from environment variables or hardcoded defaults