2403 lines
		
	
	
		
			83 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			2403 lines
		
	
	
		
			83 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| @startuml
 | |
| ' Color scheme - eye-friendly colors with darker headers
 | |
| skinparam {
 | |
|   ClassBackgroundColor #f1f1f1
 | |
|   ClassHeaderBackgroundColor #f1f1f1
 | |
|   ClassArrowColor #091E42
 | |
|   ClassBorderColor #172B4D
 | |
| 
 | |
|   ' Make header text white for better contrast with dark header
 | |
|   ClassFontColor #000000
 | |
| 
 | |
|   ' Optional: make the header font bold
 | |
|   ClassHeaderFontStyle bold
 | |
| 
 | |
|   PackageBackgroundColor #F4F5F7
 | |
|   PackageBorderColor #DDDDDD
 | |
| 
 | |
|   NoteBackgroundColor #FFF8DC
 | |
|   NoteBorderColor #DCDCAA
 | |
| }
 | |
| 
 | |
| namespace app {
 | |
|     class App << (S,Aquamarine) >> {
 | |
|         - fs *filesystem.FileSystem
 | |
|         - remote *remote.Remote
 | |
|         - valsRuntime vals.Evaluator
 | |
|         - helms <font color=blue>map</font>[helmKey]helmexec.Interface
 | |
|         - helmsMutex sync.Mutex
 | |
|         - ctx context.Context
 | |
| 
 | |
|         + OverrideKubeContext string
 | |
|         + OverrideHelmBinary string
 | |
|         + OverrideKustomizeBinary string
 | |
|         + EnableLiveOutput bool
 | |
|         + StripArgsValuesOnExitError bool
 | |
|         + DisableForceUpdate bool
 | |
|         + Logger *zap.SugaredLogger
 | |
|         + Kubeconfig string
 | |
|         + Env string
 | |
|         + Namespace string
 | |
|         + Chart string
 | |
|         + Selectors []string
 | |
|         + Args string
 | |
|         + ValuesFiles []string
 | |
|         + Set <font color=blue>map</font>[string]any
 | |
|         + FileOrDir string
 | |
| 
 | |
|         - dag(r *Run) error
 | |
|         - list(run *Run) ([]*HelmRelease, error)
 | |
|         - within(dir string, do <font color=blue>func</font>() error) error
 | |
|         - visitStateFiles(fileOrDir string, opts LoadOpts, do <font color=blue>func</font>(string, string) error) error
 | |
|         - loadDesiredStateFromYaml(file string, opts ...LoadOpts) (*state.HelmState, error)
 | |
|         - getHelm(st *state.HelmState) helmexec.Interface
 | |
|         - visitStates(fileOrDir string, defOpts LoadOpts, converge <font color=blue>func</font>(*state.HelmState) (bool, []error)) error
 | |
|         - visitStatesWithSelectorsAndRemoteSupport(fileOrDir string, converge <font color=blue>func</font>(*state.HelmState) (bool, []error), includeTransitiveNeeds bool, opt ...LoadOption) error
 | |
|         - findDesiredStateFiles(specifiedPath string, opts LoadOpts) ([]string, error)
 | |
|         - getSelectedReleases(r *Run, includeTransitiveNeeds bool) ([]state.ReleaseSpec, []state.ReleaseSpec, error)
 | |
|         - apply(r *Run, c ApplyConfigProvider) (bool, bool, []error)
 | |
|         - delete(r *Run, purge bool, c DestroyConfigProvider) (bool, []error)
 | |
|         - diff(r *Run, c DiffConfigProvider) (*string, bool, bool, []error)
 | |
|         - lint(r *Run, c LintConfigProvider) (bool, []error, []error)
 | |
|         - status(r *Run, c StatusesConfigProvider) (bool, []error)
 | |
|         - sync(r *Run, c SyncConfigProvider) (bool, []error)
 | |
|         - template(r *Run, c TemplateConfigProvider) (bool, []error)
 | |
|         - withNeeds(r *Run, c DAGConfig, includeDisabled bool, f <font color=blue>func</font>(*state.HelmState) []error) (bool, []error)
 | |
|         - test(r *Run, c TestConfigProvider) []error
 | |
|         - writeValues(r *Run, c WriteValuesConfigProvider) (bool, []error)
 | |
| 
 | |
|         + Init(c InitConfigProvider) error
 | |
|         + Deps(c DepsConfigProvider) error
 | |
|         + Repos(c ReposConfigProvider) error
 | |
|         + Diff(c DiffConfigProvider) error
 | |
|         + Template(c TemplateConfigProvider) error
 | |
|         + WriteValues(c WriteValuesConfigProvider) error
 | |
|         + Lint(c LintConfigProvider) error
 | |
|         + Fetch(c FetchConfigProvider) error
 | |
|         + Sync(c SyncConfigProvider) error
 | |
|         + Apply(c ApplyConfigProvider) error
 | |
|         + Status(c StatusesConfigProvider) error
 | |
|         + Destroy(c DestroyConfigProvider) error
 | |
|         + Test(c TestConfigProvider) error
 | |
|         + PrintDAGState(c DAGConfigProvider) error
 | |
|         + PrintState(c StateConfigProvider) error
 | |
|         + ListReleases(c ListConfigProvider) error
 | |
|         + ForEachState(do <font color=blue>func</font>(*Run) (bool, []error), includeTransitiveNeeds bool, o ...LoadOption) error
 | |
|         + Wrap(converge <font color=blue>func</font>(*state.HelmState, helmexec.Interface) []error) <font color=blue>func</font>(*state.HelmState, helmexec.Interface, bool) (bool, []error)
 | |
|         + WrapWithoutSelector(converge <font color=blue>func</font>(*state.HelmState, helmexec.Interface) []error) <font color=blue>func</font>(*state.HelmState, helmexec.Interface) (bool, []error)
 | |
|         + ShowCacheDir(c CacheConfigProvider) error
 | |
|         + CleanCacheDir(c CacheConfigProvider) error
 | |
| 
 | |
|     }
 | |
|     interface ApplyConfigProvider  {
 | |
|         + Args() string
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + Cascade() string
 | |
|         + HideNotes() bool
 | |
|         + TakeOwnership() bool
 | |
|         + SuppressOutputLineRegex() []string
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + SkipCRDs() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + Wait() bool
 | |
|         + WaitRetries() int
 | |
|         + WaitForJobs() bool
 | |
|         + IncludeTests() bool
 | |
|         + Suppress() []string
 | |
|         + SuppressSecrets() bool
 | |
|         + ShowSecrets() bool
 | |
|         + NoHooks() bool
 | |
|         + SuppressDiff() bool
 | |
|         + DetailedExitcode() bool
 | |
|         + StripTrailingCR() bool
 | |
|         + Color() bool
 | |
|         + NoColor() bool
 | |
|         + Context() int
 | |
|         + DiffOutput() string
 | |
|         + Validate() bool
 | |
|         + SkipCleanup() bool
 | |
|         + SkipDiffOnInstall() bool
 | |
|         + DiffArgs() string
 | |
|         + SyncArgs() string
 | |
|         + SyncReleaseLabels() bool
 | |
| 
 | |
|     }
 | |
|     interface ConfigProvider  {
 | |
|         + Args() string
 | |
|         + HelmBinary() string
 | |
|         + KustomizeBinary() string
 | |
|         + EnableLiveOutput() bool
 | |
|         + StripArgsValuesOnExitError() bool
 | |
|         + DisableForceUpdate() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + FileOrDir() string
 | |
|         + KubeContext() string
 | |
|         + Namespace() string
 | |
|         + Chart() string
 | |
|         + Selectors() []string
 | |
|         + StateValuesSet() <font color=blue>map</font>[string]any
 | |
|         + StateValuesFiles() []string
 | |
|         + Kubeconfig() string
 | |
|         + Env() string
 | |
| 
 | |
|     }
 | |
|     class Context << (S,Aquamarine) >> {
 | |
|         - updatedRepos <font color=blue>map</font>[string]bool
 | |
| 
 | |
|         + SyncReposOnce(st *state.HelmState, helm state.RepoUpdater) error
 | |
| 
 | |
|     }
 | |
|     interface DAGConfig  {
 | |
|         + SkipNeeds() bool
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
| 
 | |
|     }
 | |
|     interface DepsConfigProvider  {
 | |
|         + Args() string
 | |
|         + SkipRepos() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
| 
 | |
|     }
 | |
|     interface DestroyConfigProvider  {
 | |
|         + Args() string
 | |
|         + Cascade() string
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + SkipCharts() bool
 | |
|         + DeleteWait() bool
 | |
|         + DeleteTimeout() int
 | |
| 
 | |
|     }
 | |
|     interface DiffConfigProvider  {
 | |
|         + Args() string
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + SuppressOutputLineRegex() []string
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + Validate() bool
 | |
|         + SkipCRDs() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + IncludeTests() bool
 | |
|         + Suppress() []string
 | |
|         + SuppressSecrets() bool
 | |
|         + ShowSecrets() bool
 | |
|         + NoHooks() bool
 | |
|         + SuppressDiff() bool
 | |
|         + SkipDiffOnInstall() bool
 | |
|         + DiffArgs() string
 | |
|         + DetailedExitcode() bool
 | |
|         + StripTrailingCR() bool
 | |
|         + Color() bool
 | |
|         + NoColor() bool
 | |
|         + Context() int
 | |
|         + DiffOutput() string
 | |
| 
 | |
|     }
 | |
|     class Error << (S,Aquamarine) >> {
 | |
|         - msg string
 | |
|         - code *int
 | |
| 
 | |
|         + Errors []error
 | |
| 
 | |
|         + Error() string
 | |
|         + Code() int
 | |
| 
 | |
|     }
 | |
|     interface FetchConfigProvider  {
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + OutputDir() string
 | |
|         + OutputDirTemplate() string
 | |
| 
 | |
|     }
 | |
|     class HelmRelease << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Namespace string
 | |
|         + Enabled bool
 | |
|         + Installed bool
 | |
|         + Labels string
 | |
|         + Chart string
 | |
|         + Version string
 | |
| 
 | |
|     }
 | |
|     class HelmfileInit << (S,Aquamarine) >> {
 | |
|         - helmBinary string
 | |
|         - configProvider InitConfigProvider
 | |
|         - logger *zap.SugaredLogger
 | |
|         - runner helmexec.Runner
 | |
| 
 | |
|         - installHelmOnWindows() error
 | |
| 
 | |
|         + UpdateHelm() error
 | |
|         + InstallHelm() error
 | |
|         + WhetherContinue(ask string) error
 | |
|         + CheckHelmPlugins() error
 | |
|         + CheckHelm() error
 | |
|         + Initialize() error
 | |
| 
 | |
|     }
 | |
|     interface InitConfigProvider  {
 | |
|         + Force() bool
 | |
| 
 | |
|     }
 | |
|     interface LintConfigProvider  {
 | |
|         + Args() string
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + SkipCleanup() bool
 | |
| 
 | |
|     }
 | |
|     interface ListConfigProvider  {
 | |
|         + Output() string
 | |
|         + SkipCharts() bool
 | |
| 
 | |
|     }
 | |
|     class LoadOpts << (S,Aquamarine) >> {
 | |
|         + Selectors []string
 | |
|         + Environment state.SubhelmfileEnvironmentSpec
 | |
|         + RetainValuesFiles bool
 | |
|         + CalleePath string
 | |
|         + Reverse bool
 | |
|         + Filter bool
 | |
| 
 | |
|         + DeepCopy() LoadOpts
 | |
| 
 | |
|     }
 | |
|     class MultiError << (S,Aquamarine) >> {
 | |
|         + Errors []error
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class NoMatchingHelmfileError << (S,Aquamarine) >> {
 | |
|         - selectors []string
 | |
|         - env string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class Opts << (S,Aquamarine) >> {
 | |
|         + DAGEnabled bool
 | |
| 
 | |
|     }
 | |
|     class RenderOpts << (S,Aquamarine) >> {
 | |
|     }
 | |
|     interface ReposConfigProvider  {
 | |
|         + Args() string
 | |
|         + IncludeTransitiveNeeds() bool
 | |
| 
 | |
|     }
 | |
|     class Run << (S,Aquamarine) >> {
 | |
|         - state *state.HelmState
 | |
|         - helm helmexec.Interface
 | |
|         - ctx Context
 | |
| 
 | |
|         + ReleaseToChart <font color=blue>map</font>[state.PrepareChartKey]string
 | |
|         + Ask <font color=blue>func</font>(string) bool
 | |
| 
 | |
|         - askForConfirmation(msg string) bool
 | |
|         - prepareChartsIfNeeded(helmfileCommand string, dir string, concurrency int, opts state.ChartPrepareOptions) (<font color=blue>map</font>[state.PrepareChartKey]string, error)
 | |
|         - withPreparedCharts(helmfileCommand string, opts state.ChartPrepareOptions, f <font color=blue>func</font>() ) error
 | |
|         - diff(triggerCleanupEvent bool, detailedExitCode bool, c DiffConfigProvider, diffOpts *state.DiffOpts) (*string, <font color=blue>map</font>[string]state.ReleaseSpec, <font color=blue>map</font>[string]state.ReleaseSpec, []error)
 | |
| 
 | |
|         + Deps(c DepsConfigProvider) []error
 | |
|         + Repos(c ReposConfigProvider) error
 | |
| 
 | |
|     }
 | |
|     interface StateConfigProvider  {
 | |
|         + EmbedValues() bool
 | |
| 
 | |
|     }
 | |
|     interface StatusesConfigProvider  {
 | |
|         + Args() string
 | |
| 
 | |
|     }
 | |
|     interface SyncConfigProvider  {
 | |
|         + Args() string
 | |
|         + PostRenderer() string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + PostRendererArgs() []string
 | |
|         + HideNotes() bool
 | |
|         + TakeOwnership() bool
 | |
|         + Cascade() string
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + SkipCRDs() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + Wait() bool
 | |
|         + WaitRetries() int
 | |
|         + WaitForJobs() bool
 | |
|         + SyncArgs() string
 | |
|         + Validate() bool
 | |
|         + SkipNeeds() bool
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + SyncReleaseLabels() bool
 | |
| 
 | |
|     }
 | |
|     interface TemplateConfigProvider  {
 | |
|         + Args() string
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + OutputDirTemplate() string
 | |
|         + Validate() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + SkipCleanup() bool
 | |
|         + SkipTests() bool
 | |
|         + OutputDir() string
 | |
|         + IncludeCRDs() bool
 | |
|         + NoHooks() bool
 | |
|         + KubeVersion() string
 | |
|         + ShowOnly() []string
 | |
| 
 | |
|     }
 | |
|     interface TestConfigProvider  {
 | |
|         + Args() string
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + Timeout() int
 | |
|         + Cleanup() bool
 | |
|         + Logs() bool
 | |
| 
 | |
|     }
 | |
|     interface WriteValuesConfigProvider  {
 | |
|         + Values() []string
 | |
|         + Set() []string
 | |
|         + OutputFileTemplate() string
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + SkipCleanup() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
| 
 | |
|     }
 | |
|     class app.CacheConfigProvider << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class app.DAGConfigProvider << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class app.LoadOption << (T, #FF7700) >>  {
 | |
|     }
 | |
|     interface concurrencyConfig  {
 | |
|         + Concurrency() int
 | |
| 
 | |
|     }
 | |
|     class context << (S,Aquamarine) >> {
 | |
|         - app *App
 | |
|         - st *state.HelmState
 | |
|         - retainValues bool
 | |
| 
 | |
|         - clean(errs []error) error
 | |
|         - wrapErrs(errs ...error) error
 | |
| 
 | |
|     }
 | |
|     class desiredStateLoader << (S,Aquamarine) >> {
 | |
|         - overrideKubeContext string
 | |
|         - overrideHelmBinary string
 | |
|         - overrideKustomizeBinary string
 | |
|         - enableLiveOutput bool
 | |
|         - env string
 | |
|         - namespace string
 | |
|         - chart string
 | |
|         - fs *filesystem.FileSystem
 | |
|         - getHelm <font color=blue>func</font>(*state.HelmState) helmexec.Interface
 | |
|         - remote *remote.Remote
 | |
|         - logger *zap.SugaredLogger
 | |
|         - valsRuntime vals.Evaluator
 | |
|         - lockFilePath string
 | |
| 
 | |
|         - loadFile(inheritedEnv *environment.Environment, overrodeEnv *environment.Environment, baseDir string, file string, evaluateBases bool) (*state.HelmState, error)
 | |
|         - loadFileWithOverrides(inheritedEnv *environment.Environment, overrodeEnv *environment.Environment, baseDir string, file string, evaluateBases bool) (*state.HelmState, error)
 | |
|         - underlying() *state.StateCreator
 | |
|         - rawLoad(yaml []byte, baseDir string, file string, evaluateBases bool, env *environment.Environment, overrodeEnv *environment.Environment) (*state.HelmState, error)
 | |
|         - load(env *environment.Environment, overrodeEnv *environment.Environment, baseDir string, filename string, content []byte, evaluateBases bool) (*state.HelmState, error)
 | |
|         - renderTemplatesToYaml(baseDir string, filename string, content []byte) (*bytes.Buffer, error)
 | |
|         - renderTemplatesToYamlWithEnv(baseDir string, filename string, content []byte, inherited *environment.Environment, overrode *environment.Environment) (*bytes.Buffer, error)
 | |
|         - twoPassRenderTemplateToYaml(inherited *environment.Environment, overrode *environment.Environment, baseDir string, filename string, content []byte) (*bytes.Buffer, error)
 | |
| 
 | |
|         + Load(f string, opts LoadOpts) (*state.HelmState, error)
 | |
| 
 | |
|     }
 | |
|     class helmKey << (S,Aquamarine) >> {
 | |
|         + Binary string
 | |
|         + Context string
 | |
| 
 | |
|     }
 | |
|     class helmRecommendedPlugin << (S,Aquamarine) >> {
 | |
|         - name string
 | |
|         - version string
 | |
|         - repo string
 | |
| 
 | |
|     }
 | |
|     interface interactive  {
 | |
|         + Interactive() bool
 | |
| 
 | |
|     }
 | |
|     interface loggingConfig  {
 | |
|         + Logger() *zap.SugaredLogger
 | |
| 
 | |
|     }
 | |
|     interface valuesControlMode  {
 | |
|         + ReuseValues() bool
 | |
|         + ResetValues() bool
 | |
| 
 | |
|     }
 | |
| }
 | |
| "app.DAGConfig" *-- "app.ApplyConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.ApplyConfigProvider"
 | |
| "app.interactive" *-- "app.ApplyConfigProvider"
 | |
| "app.loggingConfig" *-- "app.ApplyConfigProvider"
 | |
| "app.valuesControlMode" *-- "app.ApplyConfigProvider"
 | |
| "app.loggingConfig" *-- "app.ConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.DepsConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.DestroyConfigProvider"
 | |
| "app.interactive" *-- "app.DestroyConfigProvider"
 | |
| "app.loggingConfig" *-- "app.DestroyConfigProvider"
 | |
| "app.DAGConfig" *-- "app.DiffConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.DiffConfigProvider"
 | |
| "app.valuesControlMode" *-- "app.DiffConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.FetchConfigProvider"
 | |
| "app.DAGConfig" *-- "app.LintConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.LintConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.StatusesConfigProvider"
 | |
| "app.DAGConfig" *-- "app.SyncConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.SyncConfigProvider"
 | |
| "app.interactive" *-- "app.SyncConfigProvider"
 | |
| "app.loggingConfig" *-- "app.SyncConfigProvider"
 | |
| "app.valuesControlMode" *-- "app.SyncConfigProvider"
 | |
| "app.DAGConfig" *-- "app.TemplateConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.TemplateConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.TestConfigProvider"
 | |
| "app.concurrencyConfig" *-- "app.WriteValuesConfigProvider"
 | |
| 
 | |
| 
 | |
| namespace argparser {
 | |
|     class argMap << (S,Aquamarine) >> {
 | |
|         - m <font color=blue>map</font>[string][]*keyVal
 | |
|         - flags []string
 | |
| 
 | |
|         + SetArg(flag string, arg string, isSpace bool)
 | |
| 
 | |
|     }
 | |
|     class keyVal << (S,Aquamarine) >> {
 | |
|         - key string
 | |
|         - val string
 | |
|         - spaceFlag bool
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace config {
 | |
|     class ApplyImpl << (S,Aquamarine) >> {
 | |
|         + Set() []string
 | |
|         + Concurrency() int
 | |
|         + Context() int
 | |
|         + DetailedExitcode() bool
 | |
|         + StripTrailingCR() bool
 | |
|         + DiffOutput() string
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTests() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + ShowSecrets() bool
 | |
|         + NoHooks() bool
 | |
|         + SkipCRDs() bool
 | |
|         + SkipCleanup() bool
 | |
|         + SkipDiffOnInstall() bool
 | |
|         + DiffArgs() string
 | |
|         + SkipNeeds() bool
 | |
|         + Suppress() []string
 | |
|         + SuppressDiff() bool
 | |
|         + SuppressSecrets() bool
 | |
|         + Validate() bool
 | |
|         + Values() []string
 | |
|         + Wait() bool
 | |
|         + WaitRetries() int
 | |
|         + WaitForJobs() bool
 | |
|         + ReuseValues() bool
 | |
|         + ResetValues() bool
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + Cascade() string
 | |
|         + SuppressOutputLineRegex() []string
 | |
|         + SyncArgs() string
 | |
|         + HideNotes() bool
 | |
|         + TakeOwnership() bool
 | |
|         + SyncReleaseLabels() bool
 | |
| 
 | |
|     }
 | |
|     class ApplyOptions << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + Concurrency int
 | |
|         + Validate bool
 | |
|         + Context int
 | |
|         + Output string
 | |
|         + DetailedExitcode bool
 | |
|         + StripTrailingCR bool
 | |
|         + SkipCleanup bool
 | |
|         + SkipCRDs bool
 | |
|         + SkipNeeds bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + SkipDiffOnInstall bool
 | |
|         + DiffArgs string
 | |
|         + IncludeTests bool
 | |
|         + Suppress []string
 | |
|         + SuppressSecrets bool
 | |
|         + ShowSecrets bool
 | |
|         + NoHooks bool
 | |
|         + SuppressDiff bool
 | |
|         + Wait bool
 | |
|         + WaitRetries int
 | |
|         + WaitForJobs bool
 | |
|         + SkipSchemaValidation bool
 | |
|         + ReuseValues bool
 | |
|         + ResetValues bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + Cascade string
 | |
|         + SuppressOutputLineRegex []string
 | |
|         + SyncArgs string
 | |
|         + HideNotes bool
 | |
|         + TakeOwnership bool
 | |
|         + SyncReleaseLabels bool
 | |
| 
 | |
|     }
 | |
|     class BuildImpl << (S,Aquamarine) >> {
 | |
|         + EmbedValues() bool
 | |
| 
 | |
|     }
 | |
|     class BuildOptions << (S,Aquamarine) >> {
 | |
|         + EmbedValues bool
 | |
| 
 | |
|     }
 | |
|     class CacheImpl << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class CacheOptions << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class DepsImpl << (S,Aquamarine) >> {
 | |
|         + SkipRepos() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + Concurrency() int
 | |
| 
 | |
|     }
 | |
|     class DepsOptions << (S,Aquamarine) >> {
 | |
|         + SkipRepos bool
 | |
|         + Concurrency int
 | |
| 
 | |
|     }
 | |
|     class DestroyImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + SkipCharts() bool
 | |
|         + Cascade() string
 | |
|         + DeleteWait() bool
 | |
|         + DeleteTimeout() int
 | |
| 
 | |
|     }
 | |
|     class DestroyOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
|         + SkipCharts bool
 | |
|         + Cascade string
 | |
|         + DeleteWait bool
 | |
|         + DeleteTimeout int
 | |
| 
 | |
|     }
 | |
|     class DiffImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + Set() []string
 | |
|         + SkipNeeds() bool
 | |
|         + Validate() bool
 | |
|         + Values() []string
 | |
|         + Context() int
 | |
|         + DetailedExitcode() bool
 | |
|         + StripTrailingCR() bool
 | |
|         + DiffOutput() string
 | |
|         + IncludeTests() bool
 | |
|         + ShowSecrets() bool
 | |
|         + NoHooks() bool
 | |
|         + SkipCRDs() bool
 | |
|         + SkipDiffOnInstall() bool
 | |
|         + DiffArgs() string
 | |
|         + Suppress() []string
 | |
|         + SuppressDiff() bool
 | |
|         + SuppressSecrets() bool
 | |
|         + ReuseValues() bool
 | |
|         + ResetValues() bool
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SuppressOutputLineRegex() []string
 | |
|         + SkipSchemaValidation() bool
 | |
| 
 | |
|     }
 | |
|     class DiffOptions << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + DetailedExitcode bool
 | |
|         + StripTrailingCR bool
 | |
|         + IncludeTests bool
 | |
|         + SkipNeeds bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + SkipDiffOnInstall bool
 | |
|         + ShowSecrets bool
 | |
|         + NoHooks bool
 | |
|         + Suppress []string
 | |
|         + SuppressSecrets bool
 | |
|         + Concurrency int
 | |
|         + Validate bool
 | |
|         + Context int
 | |
|         + Output string
 | |
|         + ReuseValues bool
 | |
|         + ResetValues bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + DiffArgs string
 | |
|         + SuppressOutputLineRegex []string
 | |
|         + SkipSchemaValidation bool
 | |
| 
 | |
|     }
 | |
|     class FetchImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + OutputDir() string
 | |
|         + OutputDirTemplate() string
 | |
| 
 | |
|     }
 | |
|     class FetchOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
|         + OutputDir string
 | |
|         + OutputDirTemplate string
 | |
| 
 | |
|     }
 | |
|     class GlobalImpl << (S,Aquamarine) >> {
 | |
|         - set <font color=blue>map</font>[string]any
 | |
| 
 | |
|         + SetSet(set <font color=blue>map</font>[string]any)
 | |
|         + HelmBinary() string
 | |
|         + KustomizeBinary() string
 | |
|         + Kubeconfig() string
 | |
|         + KubeContext() string
 | |
|         + Namespace() string
 | |
|         + Chart() string
 | |
|         + FileOrDir() string
 | |
|         + Selectors() []string
 | |
|         + StateValuesSet() <font color=blue>map</font>[string]any
 | |
|         + RawStateValuesSet() []string
 | |
|         + RawStateValuesSetString() []string
 | |
|         + StateValuesFiles() []string
 | |
|         + EnableLiveOutput() bool
 | |
|         + SkipDeps() bool
 | |
|         + SkipRefresh() bool
 | |
|         + StripArgsValuesOnExitError() bool
 | |
|         + DisableForceUpdate() bool
 | |
|         + Logger() *zap.SugaredLogger
 | |
|         + Color() bool
 | |
|         + NoColor() bool
 | |
|         + Env() string
 | |
|         + ValidateConfig() error
 | |
|         + Interactive() bool
 | |
|         + Args() string
 | |
| 
 | |
|     }
 | |
|     class GlobalOptions << (S,Aquamarine) >> {
 | |
|         - logger *zap.SugaredLogger
 | |
| 
 | |
|         + HelmBinary string
 | |
|         + KustomizeBinary string
 | |
|         + File string
 | |
|         + Environment string
 | |
|         + StateValuesSet []string
 | |
|         + StateValuesSetString []string
 | |
|         + StateValuesFile []string
 | |
|         + SkipDeps bool
 | |
|         + SkipRefresh bool
 | |
|         + StripArgsValuesOnExitError bool
 | |
|         + DisableForceUpdate bool
 | |
|         + Quiet bool
 | |
|         + Kubeconfig string
 | |
|         + KubeContext string
 | |
|         + Debug bool
 | |
|         + Color bool
 | |
|         + NoColor bool
 | |
|         + LogLevel string
 | |
|         + Namespace string
 | |
|         + Chart string
 | |
|         + Selector []string
 | |
|         + AllowNoMatchingRelease bool
 | |
|         + EnableLiveOutput bool
 | |
|         + Interactive bool
 | |
|         + Args string
 | |
|         + LogOutput io.Writer
 | |
| 
 | |
|         + Logger() *zap.SugaredLogger
 | |
|         + SetLogger(logger *zap.SugaredLogger)
 | |
| 
 | |
|     }
 | |
|     class InitImpl << (S,Aquamarine) >> {
 | |
|         + Force() bool
 | |
| 
 | |
|     }
 | |
|     class InitOptions << (S,Aquamarine) >> {
 | |
|         + Force bool
 | |
| 
 | |
|     }
 | |
|     class LintImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + Set() []string
 | |
|         + Values() []string
 | |
|         + SkipCleanup() bool
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + SkipNeeds() bool
 | |
| 
 | |
|     }
 | |
|     class LintOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + SkipNeeds bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
| 
 | |
|     }
 | |
|     class ListImpl << (S,Aquamarine) >> {
 | |
|         + Output() string
 | |
|         + SkipCharts() bool
 | |
| 
 | |
|     }
 | |
|     class ListOptions << (S,Aquamarine) >> {
 | |
|         + Output string
 | |
|         + KeepTempDir bool
 | |
|         + SkipCharts bool
 | |
| 
 | |
|     }
 | |
|     class ReposImpl << (S,Aquamarine) >> {
 | |
|         + IncludeTransitiveNeeds() bool
 | |
| 
 | |
|     }
 | |
|     class ReposOptions << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class ShowDAGImpl << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class ShowDAGOptions << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class StatusImpl << (S,Aquamarine) >> {
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + Concurrency() int
 | |
| 
 | |
|     }
 | |
|     class StatusOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
| 
 | |
|     }
 | |
|     class SyncImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + Set() []string
 | |
|         + SkipNeeds() bool
 | |
|         + Validate() bool
 | |
|         + Values() []string
 | |
|         + SkipCRDs() bool
 | |
|         + Wait() bool
 | |
|         + WaitRetries() int
 | |
|         + WaitForJobs() bool
 | |
|         + ReuseValues() bool
 | |
|         + ResetValues() bool
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + Cascade() string
 | |
|         + SyncArgs() string
 | |
|         + HideNotes() bool
 | |
|         + TakeOwnership() bool
 | |
|         + SyncReleaseLabels() bool
 | |
| 
 | |
|     }
 | |
|     class SyncOptions << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + Concurrency int
 | |
|         + Validate bool
 | |
|         + SkipNeeds bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + SkipCRDs bool
 | |
|         + Wait bool
 | |
|         + WaitRetries int
 | |
|         + WaitForJobs bool
 | |
|         + ReuseValues bool
 | |
|         + ResetValues bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + SkipSchemaValidation bool
 | |
|         + Cascade string
 | |
|         + SyncArgs string
 | |
|         + HideNotes bool
 | |
|         + TakeOwnership bool
 | |
|         + SyncReleaseLabels bool
 | |
| 
 | |
|     }
 | |
|     class TemplateImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + IncludeCRDs() bool
 | |
|         + NoHooks() bool
 | |
|         + IncludeNeeds() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + OutputDir() string
 | |
|         + OutputDirTemplate() string
 | |
|         + Set() []string
 | |
|         + SkipCleanup() bool
 | |
|         + SkipNeeds() bool
 | |
|         + SkipTests() bool
 | |
|         + Validate() bool
 | |
|         + Values() []string
 | |
|         + PostRenderer() string
 | |
|         + PostRendererArgs() []string
 | |
|         + SkipSchemaValidation() bool
 | |
|         + KubeVersion() string
 | |
|         + ShowOnly() []string
 | |
| 
 | |
|     }
 | |
|     class TemplateOptions << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + OutputDir string
 | |
|         + OutputDirTemplate string
 | |
|         + Concurrency int
 | |
|         + Validate bool
 | |
|         + IncludeCRDs bool
 | |
|         + SkipTests bool
 | |
|         + SkipNeeds bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + NoHooks bool
 | |
|         + SkipCleanup bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + SkipSchemaValidation bool
 | |
|         + KubeVersion string
 | |
|         + ShowOnly []string
 | |
| 
 | |
|     }
 | |
|     class TestImpl << (S,Aquamarine) >> {
 | |
|         + Cmd *cobra.Command
 | |
| 
 | |
|         + Concurrency() int
 | |
|         + Cleanup() bool
 | |
|         + Logs() bool
 | |
|         + Timeout() int
 | |
| 
 | |
|     }
 | |
|     class TestOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
|         + Cleanup bool
 | |
|         + Logs bool
 | |
|         + Timeout int
 | |
| 
 | |
|     }
 | |
|     class WriteValuesImpl << (S,Aquamarine) >> {
 | |
|         + Concurrency() int
 | |
|         + Set() []string
 | |
|         + Values() []string
 | |
|         + SkipCleanup() bool
 | |
|         + IncludeTransitiveNeeds() bool
 | |
|         + OutputFileTemplate() string
 | |
| 
 | |
|     }
 | |
|     class WriteValuesOptions << (S,Aquamarine) >> {
 | |
|         + Concurrency int
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + OutputFileTemplate string
 | |
| 
 | |
|     }
 | |
| }
 | |
| "config.ApplyOptions" *-- "config.ApplyImpl"
 | |
| "config.GlobalImpl" *-- "config.ApplyImpl"
 | |
| "config.BuildOptions" *-- "config.BuildImpl"
 | |
| "config.GlobalImpl" *-- "config.BuildImpl"
 | |
| "config.CacheOptions" *-- "config.CacheImpl"
 | |
| "config.GlobalImpl" *-- "config.CacheImpl"
 | |
| "config.DepsOptions" *-- "config.DepsImpl"
 | |
| "config.GlobalImpl" *-- "config.DepsImpl"
 | |
| "config.DestroyOptions" *-- "config.DestroyImpl"
 | |
| "config.GlobalImpl" *-- "config.DestroyImpl"
 | |
| "config.DiffOptions" *-- "config.DiffImpl"
 | |
| "config.GlobalImpl" *-- "config.DiffImpl"
 | |
| "config.FetchOptions" *-- "config.FetchImpl"
 | |
| "config.GlobalImpl" *-- "config.FetchImpl"
 | |
| "config.GlobalOptions" *-- "config.GlobalImpl"
 | |
| "config.GlobalImpl" *-- "config.InitImpl"
 | |
| "config.InitOptions" *-- "config.InitImpl"
 | |
| "config.GlobalImpl" *-- "config.LintImpl"
 | |
| "config.LintOptions" *-- "config.LintImpl"
 | |
| "config.GlobalImpl" *-- "config.ListImpl"
 | |
| "config.ListOptions" *-- "config.ListImpl"
 | |
| "config.GlobalImpl" *-- "config.ReposImpl"
 | |
| "config.ReposOptions" *-- "config.ReposImpl"
 | |
| "config.GlobalImpl" *-- "config.ShowDAGImpl"
 | |
| "config.ShowDAGOptions" *-- "config.ShowDAGImpl"
 | |
| "config.GlobalImpl" *-- "config.StatusImpl"
 | |
| "config.StatusOptions" *-- "config.StatusImpl"
 | |
| "config.GlobalImpl" *-- "config.SyncImpl"
 | |
| "config.SyncOptions" *-- "config.SyncImpl"
 | |
| "config.GlobalImpl" *-- "config.TemplateImpl"
 | |
| "config.TemplateOptions" *-- "config.TemplateImpl"
 | |
| "config.GlobalImpl" *-- "config.TestImpl"
 | |
| "config.TestOptions" *-- "config.TestImpl"
 | |
| "config.GlobalImpl" *-- "config.WriteValuesImpl"
 | |
| "config.WriteValuesOptions" *-- "config.WriteValuesImpl"
 | |
| 
 | |
| "app.DAGConfig" <|-- "config.ApplyImpl"
 | |
| "app.concurrencyConfig" <|-- "config.ApplyImpl"
 | |
| "app.valuesControlMode" <|-- "config.ApplyImpl"
 | |
| "app.StateConfigProvider" <|-- "config.BuildImpl"
 | |
| "app.concurrencyConfig" <|-- "config.DepsImpl"
 | |
| "app.concurrencyConfig" <|-- "config.DestroyImpl"
 | |
| "app.DAGConfig" <|-- "config.DiffImpl"
 | |
| "app.concurrencyConfig" <|-- "config.DiffImpl"
 | |
| "app.valuesControlMode" <|-- "config.DiffImpl"
 | |
| "app.concurrencyConfig" <|-- "config.FetchImpl"
 | |
| "app.StatusesConfigProvider" <|-- "config.GlobalImpl"
 | |
| "app.interactive" <|-- "config.GlobalImpl"
 | |
| "app.loggingConfig" <|-- "config.GlobalImpl"
 | |
| "app.loggingConfig" <|-- "config.GlobalOptions"
 | |
| "app.InitConfigProvider" <|-- "config.InitImpl"
 | |
| "app.DAGConfig" <|-- "config.LintImpl"
 | |
| "app.concurrencyConfig" <|-- "config.LintImpl"
 | |
| "app.ListConfigProvider" <|-- "config.ListImpl"
 | |
| "app.concurrencyConfig" <|-- "config.StatusImpl"
 | |
| "app.DAGConfig" <|-- "config.SyncImpl"
 | |
| "app.concurrencyConfig" <|-- "config.SyncImpl"
 | |
| "app.valuesControlMode" <|-- "config.SyncImpl"
 | |
| "app.DAGConfig" <|-- "config.TemplateImpl"
 | |
| "app.concurrencyConfig" <|-- "config.TemplateImpl"
 | |
| "app.concurrencyConfig" <|-- "config.TestImpl"
 | |
| "app.concurrencyConfig" <|-- "config.WriteValuesImpl"
 | |
| 
 | |
| namespace environment {
 | |
|     class Environment << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + KubeContext string
 | |
|         + Values <font color=blue>map</font>[string]any
 | |
|         + Defaults <font color=blue>map</font>[string]any
 | |
| 
 | |
|         + DeepCopy() Environment
 | |
|         + Merge(other *Environment) (*Environment, error)
 | |
|         + GetMergedValues() (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace errors {
 | |
|     interface ErrorFormatter  {
 | |
|         + Format(s fmt.State, verb rune)
 | |
| 
 | |
|     }
 | |
|     interface ExitCoder  {
 | |
|         + ExitCode() int
 | |
| 
 | |
|     }
 | |
|     class ExitError << (S,Aquamarine) >> {
 | |
|         - exitCode int
 | |
|         - message any
 | |
| 
 | |
|         + Error() string
 | |
|         + ExitCode() int
 | |
| 
 | |
|     }
 | |
| }
 | |
| "__builtin__.error" *-- "errors.ExitCoder"
 | |
| 
 | |
| "errors.ExitCoder" <|-- "errors.ExitError"
 | |
| 
 | |
| namespace event {
 | |
|     class Bus << (S,Aquamarine) >> {
 | |
|         + Runner helmexec.Runner
 | |
|         + Hooks []Hook
 | |
|         + BasePath string
 | |
|         + StateFilePath string
 | |
|         + Namespace string
 | |
|         + Chart string
 | |
|         + Env environment.Environment
 | |
|         + Fs *filesystem.FileSystem
 | |
|         + Logger *zap.SugaredLogger
 | |
| 
 | |
|         + Trigger(evt string, evtErr error, context <font color=blue>map</font>[string]any) (bool, error)
 | |
| 
 | |
|     }
 | |
|     class Hook << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Events []string
 | |
|         + Command string
 | |
|         + Kubectl <font color=blue>map</font>[string]string
 | |
|         + Args []string
 | |
|         + ShowLogs bool
 | |
| 
 | |
|     }
 | |
|     class event << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Error error
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace exectest {
 | |
|     class Affected << (S,Aquamarine) >> {
 | |
|         + Upgraded []*Release
 | |
|         + Deleted []*Release
 | |
|         + Failed []*Release
 | |
| 
 | |
|     }
 | |
|     class DiffKey << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Chart string
 | |
|         + Flags string
 | |
| 
 | |
|     }
 | |
|     class Helm << (S,Aquamarine) >> {
 | |
|         + Charts []string
 | |
|         + Repo []string
 | |
|         + Releases []Release
 | |
|         + Deleted []Release
 | |
|         + Linted []Release
 | |
|         + Templated []Release
 | |
|         + Lists <font color=blue>map</font>[ListKey]string
 | |
|         + Diffs <font color=blue>map</font>[DiffKey]error
 | |
|         + Diffed []Release
 | |
|         + FailOnUnexpectedDiff bool
 | |
|         + FailOnUnexpectedList bool
 | |
|         + Version *semver.Version
 | |
|         + UpdateDepsCallbacks <font color=blue>map</font>[string]<font color=blue>func</font>(string) error
 | |
|         + DiffMutex *sync.Mutex
 | |
|         + ChartsMutex *sync.Mutex
 | |
|         + ReleasesMutex *sync.Mutex
 | |
|         + Helm3 bool
 | |
| 
 | |
|         - sync(m *sync.Mutex, f <font color=blue>func</font>() )
 | |
| 
 | |
|         + UpdateDeps(chart string) error
 | |
|         + BuildDeps(name string, chart string, flags ...string) error
 | |
|         + SetExtraArgs(args ...string)
 | |
|         + SetHelmBinary(bin string)
 | |
|         + SetEnableLiveOutput(enableLiveOutput bool)
 | |
|         + SetDisableForceUpdate(forceUpdate bool)
 | |
|         + SkipSchemaValidation(skipSchemaValidation bool)
 | |
|         + AddRepo(name string, repository string, cafile string, certfile string, keyfile string, username string, password string, managed string, passCredentials bool, skipTLSVerify bool) error
 | |
|         + UpdateRepo() error
 | |
|         + RegistryLogin(name string, username string, password string, caFile string, certFile string, keyFile string, skipTLSVerify bool) error
 | |
|         + SyncRelease(context helmexec.HelmContext, name string, chart string, namespace string, flags ...string) error
 | |
|         + DiffRelease(context helmexec.HelmContext, name string, chart string, namespace string, suppressDiff bool, flags ...string) error
 | |
|         + ReleaseStatus(context helmexec.HelmContext, release string, flags ...string) error
 | |
|         + DeleteRelease(context helmexec.HelmContext, name string, flags ...string) error
 | |
|         + List(context helmexec.HelmContext, filter string, flags ...string) (string, error)
 | |
|         + DecryptSecret(context helmexec.HelmContext, name string, flags ...string) (string, error)
 | |
|         + TestRelease(context helmexec.HelmContext, name string, flags ...string) error
 | |
|         + Fetch(chart string, flags ...string) error
 | |
|         + Lint(name string, chart string, flags ...string) error
 | |
|         + TemplateRelease(name string, chart string, flags ...string) error
 | |
|         + ChartPull(chart string, path string, flags ...string) error
 | |
|         + ChartExport(chart string, path string) error
 | |
|         + IsHelm3() bool
 | |
|         + GetVersion() helmexec.Version
 | |
|         + IsVersionAtLeast(versionStr string) bool
 | |
|         + ShowChart(chartPath string) (chart.Metadata, error)
 | |
| 
 | |
|     }
 | |
|     class ListKey << (S,Aquamarine) >> {
 | |
|         + Filter string
 | |
|         + Flags string
 | |
| 
 | |
|         + String() string
 | |
| 
 | |
|     }
 | |
|     class Release << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Flags []string
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| "helmexec.DependencyUpdater" <|-- "exectest.Helm"
 | |
| "helmexec.Interface" <|-- "exectest.Helm"
 | |
| "state.RepoUpdater" <|-- "exectest.Helm"
 | |
| 
 | |
| namespace filesystem {
 | |
|     class FileSystem << (S,Aquamarine) >> {
 | |
|         + ReadFile <font color=blue>func</font>(string) ([]byte, error)
 | |
|         + ReadDir <font color=blue>func</font>(string) ([]fs.DirEntry, error)
 | |
|         + DeleteFile <font color=blue>func</font>(string) error
 | |
|         + FileExists <font color=blue>func</font>(string) (bool, error)
 | |
|         + Glob <font color=blue>func</font>(string) ([]string, error)
 | |
|         + FileExistsAt <font color=blue>func</font>(string) bool
 | |
|         + DirectoryExistsAt <font color=blue>func</font>(string) bool
 | |
|         + Dir <font color=blue>func</font>(string) string
 | |
|         + Stat <font color=blue>func</font>(string) (os.FileInfo, error)
 | |
|         + Getwd <font color=blue>func</font>() (string, error)
 | |
|         + Chdir <font color=blue>func</font>(string) error
 | |
|         + Abs <font color=blue>func</font>(string) (string, error)
 | |
|         + EvalSymlinks <font color=blue>func</font>(string) (string, error)
 | |
| 
 | |
|         - stat(name string) (os.FileInfo, error)
 | |
|         - readFile(name string) ([]byte, error)
 | |
|         - fileExistsAtDefault(path string) bool
 | |
|         - fileExistsDefault(path string) (bool, error)
 | |
|         - directoryExistsDefault(path string) bool
 | |
|         - resolveSymlinks(path string) (string, error)
 | |
|         - absDefault(path string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class fileStat << (S,Aquamarine) >> {
 | |
|         - name string
 | |
|         - size int64
 | |
|         - mode fs.FileMode
 | |
|         - modTime time.Time
 | |
| 
 | |
|         + Name() string
 | |
|         + Size() int64
 | |
|         + Mode() fs.FileMode
 | |
|         + ModTime() time.Time
 | |
|         + IsDir() bool
 | |
|         + Sys() any
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace hcllang {
 | |
|     class HCLLoader << (S,Aquamarine) >> {
 | |
|         - hclFilesPath []string
 | |
|         - fs *filesystem.FileSystem
 | |
|         - logger *zap.SugaredLogger
 | |
| 
 | |
|         - createDAGGraph(HelmfileHCLValues <font color=blue>map</font>[string]*HelmfileHCLValue, blockType string) (*dag.Topology, error)
 | |
|         - decodeGraph(dagTopology *dag.Topology, blocktype string, vars <font color=blue>map</font>[string]*HelmfileHCLValue, additionalLocalContext <font color=blue>map</font>[string]<font color=blue>map</font>[string]cty.Value) (<font color=blue>map</font>[string]cty.Value, error)
 | |
|         - readHCLs() (<font color=blue>map</font>[string]*HelmfileHCLValue, <font color=blue>map</font>[string]<font color=blue>map</font>[string]*HelmfileHCLValue, hcl.Diagnostics)
 | |
|         - readHCL(hvars <font color=blue>map</font>[string]*HelmfileHCLValue, file string) (<font color=blue>map</font>[string]*HelmfileHCLValue, <font color=blue>map</font>[string]*HelmfileHCLValue, hcl.Diagnostics)
 | |
|         - decodeHelmfileHCLValuesBlock(block *hcl.Block) (<font color=blue>map</font>[string]*HelmfileHCLValue, hcl.Diagnostics)
 | |
|         - parseSingleAttrRef(traversal hcl.Traversal, blockType string) (string, hcl.Diagnostics)
 | |
|         - convertToGo(src <font color=blue>map</font>[string]cty.Value) (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|         + AddFile(file string)
 | |
|         + AddFiles(files []string)
 | |
|         + Length() int
 | |
|         + HCLRender() (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|     }
 | |
|     class HelmfileHCLValue << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Expr hcl.Expression
 | |
|         + Range hcl.Range
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace helmexec {
 | |
|     interface DependencyUpdater  {
 | |
|         + UpdateDeps(chart string) error
 | |
|         + IsHelm3() bool
 | |
| 
 | |
|     }
 | |
|     class ExitError << (S,Aquamarine) >> {
 | |
|         + Message string
 | |
|         + Code int
 | |
| 
 | |
|         + Error() string
 | |
|         + ExitStatus() int
 | |
| 
 | |
|     }
 | |
|     class HelmContext << (S,Aquamarine) >> {
 | |
|         + HistoryMax int
 | |
|         + WorkerIndex int
 | |
|         + Writer io.Writer
 | |
| 
 | |
|     }
 | |
|     class HelmExecOptions << (S,Aquamarine) >> {
 | |
|         + EnableLiveOutput bool
 | |
|         + DisableForceUpdate bool
 | |
| 
 | |
|     }
 | |
|     interface Interface  {
 | |
|         + SetExtraArgs(args ...string)
 | |
|         + SetHelmBinary(bin string)
 | |
|         + SetEnableLiveOutput(enableLiveOutput bool)
 | |
|         + SetDisableForceUpdate(forceUpdate bool)
 | |
|         + AddRepo(name string, repository string, cafile string, certfile string, keyfile string, username string, password string, managed string, passCredentials bool, skipTLSVerify bool) error
 | |
|         + UpdateRepo() error
 | |
|         + RegistryLogin(name string, username string, password string, caFile string, certFile string, keyFile string, skipTLSVerify bool) error
 | |
|         + BuildDeps(name string, chart string, flags ...string) error
 | |
|         + UpdateDeps(chart string) error
 | |
|         + SyncRelease(context HelmContext, name string, chart string, namespace string, flags ...string) error
 | |
|         + DiffRelease(context HelmContext, name string, chart string, namespace string, suppressDiff bool, flags ...string) error
 | |
|         + TemplateRelease(name string, chart string, flags ...string) error
 | |
|         + Fetch(chart string, flags ...string) error
 | |
|         + ChartPull(chart string, path string, flags ...string) error
 | |
|         + ChartExport(chart string, path string) error
 | |
|         + Lint(name string, chart string, flags ...string) error
 | |
|         + ReleaseStatus(context HelmContext, name string, flags ...string) error
 | |
|         + DeleteRelease(context HelmContext, name string, flags ...string) error
 | |
|         + TestRelease(context HelmContext, name string, flags ...string) error
 | |
|         + List(context HelmContext, filter string, flags ...string) (string, error)
 | |
|         + DecryptSecret(context HelmContext, name string, flags ...string) (string, error)
 | |
|         + IsHelm3() bool
 | |
|         + GetVersion() Version
 | |
|         + IsVersionAtLeast(versionStr string) bool
 | |
|         + ShowChart(chart string) (chart.Metadata, error)
 | |
| 
 | |
|     }
 | |
|     interface Runner  {
 | |
|         + Execute(cmd string, args []string, env <font color=blue>map</font>[string]string, enableLiveOutput bool) ([]byte, error)
 | |
|         + ExecuteStdIn(cmd string, args []string, env <font color=blue>map</font>[string]string, stdin io.Reader) ([]byte, error)
 | |
| 
 | |
|     }
 | |
|     class ShellRunner << (S,Aquamarine) >> {
 | |
|         + Dir string
 | |
|         + StripArgsValuesOnExitError bool
 | |
|         + Logger *zap.SugaredLogger
 | |
|         + Ctx context.Context
 | |
| 
 | |
|         + Execute(cmd string, args []string, env <font color=blue>map</font>[string]string, enableLiveOutput bool) ([]byte, error)
 | |
|         + ExecuteStdIn(cmd string, args []string, env <font color=blue>map</font>[string]string, stdin io.Reader) ([]byte, error)
 | |
| 
 | |
|     }
 | |
|     class Version << (S,Aquamarine) >> {
 | |
|         + Major int
 | |
|         + Minor int
 | |
|         + Patch int
 | |
| 
 | |
|     }
 | |
|     class decryptedSecret << (S,Aquamarine) >> {
 | |
|         - mutex sync.RWMutex
 | |
|         - bytes []byte
 | |
|         - err error
 | |
| 
 | |
|     }
 | |
|     class execer << (S,Aquamarine) >> {
 | |
|         - helmBinary string
 | |
|         - options HelmExecOptions
 | |
|         - version *semver.Version
 | |
|         - runner Runner
 | |
|         - logger *zap.SugaredLogger
 | |
|         - kubeconfig string
 | |
|         - kubeContext string
 | |
|         - extra []string
 | |
|         - decryptedSecretMutex sync.Mutex
 | |
|         - decryptedSecrets <font color=blue>map</font>[string]*decryptedSecret
 | |
|         - writeTempFile <font color=blue>func</font>([]byte) (string, error)
 | |
| 
 | |
|         - exec(args []string, env <font color=blue>map</font>[string]string, overrideEnableLiveOutput *bool) ([]byte, error)
 | |
|         - execStdIn(args []string, env <font color=blue>map</font>[string]string, stdin io.Reader) ([]byte, error)
 | |
|         - azcli(name string) ([]byte, error)
 | |
|         - info(out []byte)
 | |
|         - write(w io.Writer, out []byte)
 | |
| 
 | |
|         + SetExtraArgs(args ...string)
 | |
|         + SetHelmBinary(bin string)
 | |
|         + SetEnableLiveOutput(enableLiveOutput bool)
 | |
|         + SetDisableForceUpdate(forceUpdate bool)
 | |
|         + AddRepo(name string, repository string, cafile string, certfile string, keyfile string, username string, password string, managed string, passCredentials bool, skipTLSVerify bool) error
 | |
|         + UpdateRepo() error
 | |
|         + RegistryLogin(repository string, username string, password string, caFile string, certFile string, keyFile string, skipTLSVerify bool) error
 | |
|         + BuildDeps(name string, chart string, flags ...string) error
 | |
|         + UpdateDeps(chart string) error
 | |
|         + SyncRelease(context HelmContext, name string, chart string, namespace string, flags ...string) error
 | |
|         + ReleaseStatus(context HelmContext, name string, flags ...string) error
 | |
|         + List(context HelmContext, filter string, flags ...string) (string, error)
 | |
|         + DecryptSecret(context HelmContext, name string, flags ...string) (string, error)
 | |
|         + TemplateRelease(name string, chart string, flags ...string) error
 | |
|         + DiffRelease(context HelmContext, name string, chart string, namespace string, suppressDiff bool, flags ...string) error
 | |
|         + Lint(name string, chart string, flags ...string) error
 | |
|         + Fetch(chart string, flags ...string) error
 | |
|         + ChartPull(chart string, path string, flags ...string) error
 | |
|         + ChartExport(chart string, path string) error
 | |
|         + DeleteRelease(context HelmContext, name string, flags ...string) error
 | |
|         + TestRelease(context HelmContext, name string, flags ...string) error
 | |
|         + AddPlugin(name string, path string, version string) error
 | |
|         + UpdatePlugin(name string) error
 | |
|         + IsHelm3() bool
 | |
|         + GetVersion() Version
 | |
|         + IsVersionAtLeast(versionStr string) bool
 | |
|         + ShowChart(chartPath string) (chart.Metadata, error)
 | |
| 
 | |
|     }
 | |
|     class logWriter << (S,Aquamarine) >> {
 | |
|         - log *zap.SugaredLogger
 | |
|         - prefix string
 | |
| 
 | |
|         + Write(p []byte) (int, error)
 | |
| 
 | |
|     }
 | |
|     class logWriterGenerator << (S,Aquamarine) >> {
 | |
|         - log *zap.SugaredLogger
 | |
| 
 | |
|         + Writer(prefix string) *logWriter
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| "helmexec.Runner" <|-- "helmexec.ShellRunner"
 | |
| "helmexec.DependencyUpdater" <|-- "helmexec.execer"
 | |
| "helmexec.Interface" <|-- "helmexec.execer"
 | |
| "state.RepoUpdater" <|-- "helmexec.execer"
 | |
| 
 | |
| namespace main {
 | |
|     class main.diffSource << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class main.resource << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class meta << (S,Aquamarine) >> {
 | |
|         - apiVersion string
 | |
|         - kind string
 | |
|         - name string
 | |
|         - namespace string
 | |
| 
 | |
|     }
 | |
|     class pair << (S,Aquamarine) >> {
 | |
|         - meta meta
 | |
|         - left resource
 | |
|         - right resource
 | |
| 
 | |
|         - add(node resource, source diffSource) error
 | |
| 
 | |
|     }
 | |
|     class pairs << (S,Aquamarine) >> {
 | |
|         - list []*pair
 | |
| 
 | |
|         - isSameResource(meta1 meta, meta2 meta) bool
 | |
|         - add(node resource, source diffSource) error
 | |
| 
 | |
|     }
 | |
|     class resource << (S,Aquamarine) >> {
 | |
|         - getMeta() meta
 | |
|         - getID() string
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace maputil {
 | |
|     interface arg  {
 | |
|         - getMap( <font color=blue>map</font>[string]any) <font color=blue>map</font>[string]any
 | |
|         - set( <font color=blue>map</font>[string]any,  any)
 | |
| 
 | |
|     }
 | |
|     class indexedKeyArg << (S,Aquamarine) >> {
 | |
|         - key string
 | |
|         - index int
 | |
| 
 | |
|         - getArray(m <font color=blue>map</font>[string]any) []any
 | |
|         - getMap(m <font color=blue>map</font>[string]any) <font color=blue>map</font>[string]any
 | |
|         - set(m <font color=blue>map</font>[string]any, value any)
 | |
| 
 | |
|     }
 | |
|     class keyArg << (S,Aquamarine) >> {
 | |
|         - key string
 | |
| 
 | |
|         - getMap(m <font color=blue>map</font>[string]any) <font color=blue>map</font>[string]any
 | |
|         - set(m <font color=blue>map</font>[string]any, value any)
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| "maputil.arg" <|-- "maputil.indexedKeyArg"
 | |
| "maputil.arg" <|-- "maputil.keyArg"
 | |
| 
 | |
| namespace policy {
 | |
|     class policy.checkerFunc << (T, #FF7700) >>  {
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace remote {
 | |
|     interface Getter  {
 | |
|         + Get(wd string, src string, dst string) error
 | |
| 
 | |
|     }
 | |
|     class GoGetter << (S,Aquamarine) >> {
 | |
|         + Logger *zap.SugaredLogger
 | |
| 
 | |
|         + Get(wd string, src string, dst string) error
 | |
| 
 | |
|     }
 | |
|     class HttpGetter << (S,Aquamarine) >> {
 | |
|         + Logger *zap.SugaredLogger
 | |
| 
 | |
|         + Get(wd string, src string, dst string) error
 | |
| 
 | |
|     }
 | |
|     class InvalidURLError << (S,Aquamarine) >> {
 | |
|         - err string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class Remote << (S,Aquamarine) >> {
 | |
|         - fs *filesystem.FileSystem
 | |
| 
 | |
|         + Logger *zap.SugaredLogger
 | |
|         + Home string
 | |
|         + Getter Getter
 | |
|         + S3Getter Getter
 | |
|         + HttpGetter Getter
 | |
| 
 | |
|         + Locate(urlOrPath string, cacheDirOpt ...string) (string, error)
 | |
|         + Fetch(path string, cacheDirOpt ...string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class S3Getter << (S,Aquamarine) >> {
 | |
|         + Logger *zap.SugaredLogger
 | |
| 
 | |
|         + Get(wd string, src string, dst string) error
 | |
|         + S3FileExists(path string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class Source << (S,Aquamarine) >> {
 | |
|         + Getter string
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| "remote.Getter" <|-- "remote.GoGetter"
 | |
| "remote.Getter" <|-- "remote.HttpGetter"
 | |
| "remote.Getter" <|-- "remote.S3Getter"
 | |
| 
 | |
| namespace state {
 | |
|     class AffectedReleases << (S,Aquamarine) >> {
 | |
|         + Upgraded []*ReleaseSpec
 | |
|         + Deleted []*ReleaseSpec
 | |
|         + Failed []*ReleaseSpec
 | |
|         + DeleteFailed []*ReleaseSpec
 | |
| 
 | |
|         + DisplayAffectedReleases(logger *zap.SugaredLogger)
 | |
| 
 | |
|     }
 | |
|     class ChartLockedRequirements << (S,Aquamarine) >> {
 | |
|         + Version string
 | |
|         + ResolvedDependencies []ResolvedChartDependency
 | |
|         + Digest string
 | |
|         + Generated string
 | |
| 
 | |
|     }
 | |
|     class ChartMeta << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
| 
 | |
|     }
 | |
|     class ChartPrepareOptions << (S,Aquamarine) >> {
 | |
|         + ForceDownload bool
 | |
|         + SkipRepos bool
 | |
|         + SkipDeps bool
 | |
|         + SkipRefresh bool
 | |
|         + SkipResolve bool
 | |
|         + SkipCleanup bool
 | |
|         + Validate bool
 | |
|         + IncludeCRDs *bool
 | |
|         + Wait bool
 | |
|         + WaitRetries int
 | |
|         + WaitForJobs bool
 | |
|         + OutputDir string
 | |
|         + OutputDirTemplate string
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + Concurrency int
 | |
|         + KubeVersion string
 | |
|         + Set []string
 | |
|         + Values []string
 | |
|         + DeleteWait bool
 | |
|         + DeleteTimeout int
 | |
| 
 | |
|     }
 | |
|     class ChartRequirements << (S,Aquamarine) >> {
 | |
|         + UnresolvedDependencies []unresolvedChartDependency
 | |
| 
 | |
|     }
 | |
|     class Chartify << (S,Aquamarine) >> {
 | |
|         + Opts *chartify.ChartifyOpts
 | |
|         + Clean <font color=blue>func</font>()
 | |
| 
 | |
|     }
 | |
|     class CyclicReleaseTemplateInheritanceError << (S,Aquamarine) >> {
 | |
|         + Message string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class Dependency << (S,Aquamarine) >> {
 | |
|         + Chart string
 | |
|         + Version string
 | |
|         + Alias string
 | |
| 
 | |
|     }
 | |
|     interface DiffOpt  {
 | |
|         + Apply( *DiffOpts)
 | |
| 
 | |
|     }
 | |
|     class DiffOpts << (S,Aquamarine) >> {
 | |
|         + Context int
 | |
|         + Output string
 | |
|         + Color bool
 | |
|         + NoColor bool
 | |
|         + Set []string
 | |
|         + SkipCleanup bool
 | |
|         + SkipDiffOnInstall bool
 | |
|         + DiffArgs string
 | |
|         + ReuseValues bool
 | |
|         + ResetValues bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + SuppressOutputLineRegex []string
 | |
|         + SkipSchemaValidation bool
 | |
| 
 | |
|         + Apply(opts *DiffOpts)
 | |
| 
 | |
|     }
 | |
|     class EnvironmentSpec << (S,Aquamarine) >> {
 | |
|         + Values []any
 | |
|         + Secrets []string
 | |
|         + KubeContext string
 | |
|         + MissingFileHandler *string
 | |
|         + MissingFileHandlerConfig MissingFileHandlerConfig
 | |
| 
 | |
|     }
 | |
|     class EnvironmentTemplateData << (S,Aquamarine) >> {
 | |
|         + Environment environment.Environment
 | |
|         + Namespace string
 | |
|         + Values <font color=blue>map</font>[string]any
 | |
|         + StateValues *<font color=blue>map</font>[string]any
 | |
| 
 | |
|     }
 | |
|     class EnvironmentValuesLoader << (S,Aquamarine) >> {
 | |
|         - storage *Storage
 | |
|         - fs *filesystem.FileSystem
 | |
|         - logger *zap.SugaredLogger
 | |
|         - remote *remote.Remote
 | |
| 
 | |
|         + LoadEnvironmentValues(missingFileHandler *string, valuesEntries []any, ctxEnv *environment.Environment, envName string) (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|     }
 | |
|     class HelmSpec << (S,Aquamarine) >> {
 | |
|         + KubeContext string
 | |
|         + Args []string
 | |
|         + DiffArgs []string
 | |
|         + SyncArgs []string
 | |
|         + Verify bool
 | |
|         + Keyring string
 | |
|         + EnableDNS bool
 | |
|         + SkipSchemaValidation *bool
 | |
|         + Devel bool
 | |
|         + Wait bool
 | |
|         + WaitRetries int
 | |
|         + WaitForJobs bool
 | |
|         + Timeout int
 | |
|         + RecreatePods bool
 | |
|         + Force bool
 | |
|         + Atomic bool
 | |
|         + CleanupOnFail bool
 | |
|         + HistoryMax *int
 | |
|         + CreateNamespace *bool
 | |
|         + SkipDeps bool
 | |
|         + SkipRefresh bool
 | |
|         + ReuseValues bool
 | |
|         + PostRenderer *string
 | |
|         + PostRendererArgs []string
 | |
|         + Cascade *string
 | |
|         + SuppressOutputLineRegex []string
 | |
|         + DisableValidation *bool
 | |
|         + DisableOpenAPIValidation *bool
 | |
|         + InsecureSkipTLSVerify bool
 | |
|         + PlainHttp bool
 | |
|         + DeleteWait bool
 | |
|         + DeleteTimeout int
 | |
|         + SyncReleaseLabels bool
 | |
| 
 | |
|     }
 | |
|     class HelmState << (S,Aquamarine) >> {
 | |
|         - basePath string
 | |
|         - logger *zap.SugaredLogger
 | |
|         - fs *filesystem.FileSystem
 | |
|         - tempDir <font color=blue>func</font>(string, string) (string, error)
 | |
|         - valsRuntime vals.Evaluator
 | |
| 
 | |
|         + FilePath string
 | |
|         + RenderedValues <font color=blue>map</font>[string]any
 | |
| 
 | |
|         - mergeLockedDependencies() (*HelmState, error)
 | |
|         - updateDependenciesInTempDir(shell helmexec.DependencyUpdater, tempDir <font color=blue>func</font>(string, string) (string, error)) (*HelmState, error)
 | |
|         - loadValuesEntries(missingFileHandler *string, entries []any, remote *remote.Remote, ctxEnv *environment.Environment, envName string) (<font color=blue>map</font>[string]any, error)
 | |
|         - appendHelmXFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - appendLabelsFlags(flags []string, helm helmexec.Interface, release *ReleaseSpec, syncReleaseLabels bool) []string
 | |
|         - appendPostRenderFlags(flags []string, release *ReleaseSpec, postRenderer string) []string
 | |
|         - appendPostRenderArgsFlags(flags []string, release *ReleaseSpec, postRendererArgs []string) []string
 | |
|         - appendSkipSchemaValidationFlags(flags []string, release *ReleaseSpec, skipSchemaValidation bool) []string
 | |
|         - appendSuppressOutputLineRegexFlags(flags []string, release *ReleaseSpec, suppressOutputLineRegex []string) []string
 | |
|         - appendWaitForJobsFlags(flags []string, release *ReleaseSpec, ops *SyncOpts) []string
 | |
|         - appendWaitFlags(flags []string, helm helmexec.Interface, release *ReleaseSpec, ops *SyncOpts) []string
 | |
|         - appendCascadeFlags(flags []string, helm helmexec.Interface, release *ReleaseSpec, cascade string) []string
 | |
|         - appendHideNotesFlags(flags []string, helm helmexec.Interface, ops *SyncOpts) []string
 | |
|         - appendTakeOwnershipFlags(flags []string, helm helmexec.Interface, ops *SyncOpts) []string
 | |
|         - appendShowOnlyFlags(flags []string, showOnly []string) []string
 | |
|         - downloadChartWithGoGetter(r *ReleaseSpec) (string, error)
 | |
|         - goGetterChart(chart string, dir string, cacheDir string, force bool) (string, error)
 | |
|         - reformat(spec *ReleaseSpec) []string
 | |
|         - prepareSyncReleases(helm helmexec.Interface, additionalValues []string, concurrency int, opt ...SyncOpt) ([]syncPrepareResult, []error)
 | |
|         - isReleaseInstalled(context helmexec.HelmContext, helm helmexec.Interface, release ReleaseSpec) (bool, error)
 | |
|         - appendDeleteWaitFlags(args []string, release *ReleaseSpec) []string
 | |
|         - listReleases(context helmexec.HelmContext, helm helmexec.Interface, release *ReleaseSpec) (string, error)
 | |
|         - getDeployedVersion(context helmexec.HelmContext, helm helmexec.Interface, release *ReleaseSpec) (string, error)
 | |
|         - runHelmDepBuilds(helm helmexec.Interface, concurrency int, builds []*chartPrepareResult) error
 | |
|         - commonDiffFlags(detailedExitCode bool, stripTrailingCR bool, includeTests bool, suppress []string, suppressSecrets bool, showSecrets bool, noHooks bool, opt *DiffOpts) []string
 | |
|         - prepareDiffReleases(helm helmexec.Interface, additionalValues []string, concurrency int, detailedExitCode bool, stripTrailingCR bool, includeTests bool, suppress []string, suppressSecrets bool, showSecrets bool, noHooks bool, opts ...DiffOpt) ([]diffPrepareResult, []error)
 | |
|         - createHelmContext(spec *ReleaseSpec, workerIndex int) helmexec.HelmContext
 | |
|         - createHelmContextWithWriter(spec *ReleaseSpec, w io.Writer) helmexec.HelmContext
 | |
|         - triggerGlobalReleaseEvent(evt string, evtErr error, helmfileCmd string) (bool, error)
 | |
|         - triggerPrepareEvent(r *ReleaseSpec, helmfileCommand string) (bool, error)
 | |
|         - triggerPresyncEvent(r *ReleaseSpec, helmfileCommand string) (bool, error)
 | |
|         - triggerPostsyncEvent(r *ReleaseSpec, evtErr error, helmfileCommand string) (bool, error)
 | |
|         - triggerReleaseEvent(evt string, evtErr error, r *ReleaseSpec, helmfileCmd string) (bool, error)
 | |
|         - appendConnectionFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - appendExtraDiffFlags(flags []string, opt *DiffOpts) []string
 | |
|         - appendExtraSyncFlags(flags []string, opt *SyncOpts) []string
 | |
|         - appendVerifyFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - appendKeyringFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - kubeConnectionFlags(release *ReleaseSpec) []string
 | |
|         - appendChartDownloadFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - needsPlainHttp(release *ReleaseSpec, repo *RepositorySpec) bool
 | |
|         - needsInsecureSkipTLSVerify(release *ReleaseSpec, repo *RepositorySpec) bool
 | |
|         - timeoutFlags(release *ReleaseSpec) []string
 | |
|         - flagsForUpgrade(helm helmexec.Interface, release *ReleaseSpec, workerIndex int, opt *SyncOpts) ([]string, []string, error)
 | |
|         - flagsForTemplate(helm helmexec.Interface, release *ReleaseSpec, workerIndex int, opt *TemplateOpts) ([]string, []string, error)
 | |
|         - flagsForDiff(helm helmexec.Interface, release *ReleaseSpec, disableValidation bool, workerIndex int, opt *DiffOpts) ([]string, []string, error)
 | |
|         - appendChartVersionFlags(flags []string, release *ReleaseSpec) []string
 | |
|         - chartOCIFlags(r *ReleaseSpec) []string
 | |
|         - appendValuesControlModeFlag(flags []string, reuseValues bool, resetValues bool) []string
 | |
|         - getApiVersions(r *ReleaseSpec) []string
 | |
|         - getKubeVersion(r *ReleaseSpec, kubeVersion string) string
 | |
|         - appendApiVersionsFlags(flags []string, r *ReleaseSpec, kubeVersion string) []string
 | |
|         - isDevelopment(release *ReleaseSpec) bool
 | |
|         - flagsForLint(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, []string, error)
 | |
|         - newReleaseTemplateData(release *ReleaseSpec) releaseTemplateData
 | |
|         - newReleaseTemplateFuncMap(dir string) template.FuncMap
 | |
|         - storage() *Storage
 | |
|         - removeFiles(files []string)
 | |
|         - generateTemporaryReleaseValuesFiles(release *ReleaseSpec, values []any, missingFileHandler *string) ([]string, error)
 | |
|         - generateVanillaValuesFiles(release *ReleaseSpec) ([]string, error)
 | |
|         - generateSecretValuesFiles(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, error)
 | |
|         - generateValuesFiles(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, error)
 | |
|         - namespaceAndValuesFlags(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, []string, error)
 | |
|         - setFlags(setValues []SetValue) ([]string, error)
 | |
|         - setStringFlags(setValues []SetValue) ([]string, error)
 | |
|         - getOCIChart(release *ReleaseSpec, tempDir string, helm helmexec.Interface, outputDirTemplate string) (*string, error)
 | |
|         - getOCIQualifiedChartName(release *ReleaseSpec, helm helmexec.Interface) (string, string, string, error)
 | |
|         - getOCIChartPath(tempDir string, release *ReleaseSpec, chartName string, chartVersion string, outputDirTemplate string) (string, error)
 | |
|         - createReleaseTemplateData(release *ReleaseSpec, vals <font color=blue>map</font>[string]any) releaseTemplateData
 | |
|         - releaseWithInheritedTemplate(r *ReleaseSpec, inheritancePath []string) (*ReleaseSpec, error)
 | |
|         - scatterGather(concurrency int, items int, produceInputs <font color=blue>func</font>() , receiveInputsAndProduceIntermediates <font color=blue>func</font>(int) , aggregateIntermediates <font color=blue>func</font>() )
 | |
|         - scatterGatherReleases(helm helmexec.Interface, concurrency int, do <font color=blue>func</font>(ReleaseSpec, int) error) []error
 | |
|         - iterateOnReleases(helm helmexec.Interface, concurrency int, inputs []ReleaseSpec, do <font color=blue>func</font>(ReleaseSpec, int) error) []error
 | |
| 
 | |
|         + PrepareChartify(helm helmexec.Interface, release *ReleaseSpec, chart string, workerIndex int) (*Chartify, <font color=blue>func</font>() , error)
 | |
|         + UnmarshalYAML(unmarshal <font color=blue>func</font>(any) error) error
 | |
|         + ApplyOverrides(spec *ReleaseSpec)
 | |
|         + SyncRepos(helm RepoUpdater, shouldSkip <font color=blue>map</font>[string]bool) ([]string, error)
 | |
|         + DetectReleasesToBeDeletedForSync(helm helmexec.Interface, releases []ReleaseSpec) ([]ReleaseSpec, error)
 | |
|         + DetectReleasesToBeDeleted(helm helmexec.Interface, releases []ReleaseSpec) ([]ReleaseSpec, error)
 | |
|         + DeleteReleasesForSync(affectedReleases *AffectedReleases, helm helmexec.Interface, workerLimit int, cascade string) []error
 | |
|         + SyncReleases(affectedReleases *AffectedReleases, helm helmexec.Interface, additionalValues []string, workerLimit int, opt ...SyncOpt) []error
 | |
|         + GetRepositoryAndNameFromChartName(chartName string) (*RepositorySpec, string)
 | |
|         + PrepareCharts(helm helmexec.Interface, dir string, concurrency int, helmfileCommand string, opts ChartPrepareOptions) (<font color=blue>map</font>[PrepareChartKey]string, []error)
 | |
|         + TemplateReleases(helm helmexec.Interface, outputDir string, additionalValues []string, args []string, workerLimit int, validate bool, opt ...TemplateOpt) []error
 | |
|         + WriteReleasesValues(helm helmexec.Interface, additionalValues []string, opt ...WriteValuesOpt) []error
 | |
|         + LintReleases(helm helmexec.Interface, additionalValues []string, args []string, workerLimit int, opt ...LintOpt) []error
 | |
|         + DiffReleases(helm helmexec.Interface, additionalValues []string, workerLimit int, detailedExitCode bool, stripTrailingCR bool, includeTests bool, suppress []string, suppressSecrets bool, showSecrets bool, noHooks bool, suppressDiff bool, triggerCleanupEvents bool, opt ...DiffOpt) ([]ReleaseSpec, []error)
 | |
|         + ReleaseStatuses(helm helmexec.Interface, workerLimit int) []error
 | |
|         + DeleteReleases(affectedReleases *AffectedReleases, helm helmexec.Interface, concurrency int, purge bool, cascade string) []error
 | |
|         + TestReleases(helm helmexec.Interface, cleanup bool, timeout int, concurrency int, options ...TestOption) []error
 | |
|         + Clean() []error
 | |
|         + GetReleasesWithOverrides() ([]ReleaseSpec, error)
 | |
|         + GetReleasesWithLabels() []ReleaseSpec
 | |
|         + SelectReleases(includeTransitiveNeeds bool) ([]Release, error)
 | |
|         + GetSelectedReleases(includeTransitiveNeeds bool) ([]ReleaseSpec, error)
 | |
|         + FilterReleases(includeTransitiveNeeds bool) error
 | |
|         + TriggerGlobalPrepareEvent(helmfileCommand string) (bool, error)
 | |
|         + TriggerGlobalCleanupEvent(helmfileCommand string) (bool, error)
 | |
|         + TriggerCleanupEvent(r *ReleaseSpec, helmfileCommand string) (bool, error)
 | |
|         + TriggerPreapplyEvent(r *ReleaseSpec, helmfileCommand string) (bool, error)
 | |
|         + ResolveDeps() (*HelmState, error)
 | |
|         + UpdateDeps(helm helmexec.Interface, includeTransitiveNeeds bool) []error
 | |
|         + RenderReleaseValuesFileToBytes(release *ReleaseSpec, path string) ([]byte, error)
 | |
|         + ExpandedHelmfiles() ([]SubHelmfileSpec, error)
 | |
|         + GenerateOutputDir(outputDir string, release *ReleaseSpec, outputDirTemplate string) (string, error)
 | |
|         + GenerateOutputFilePath(release *ReleaseSpec, outputFileTemplate string) (string, error)
 | |
|         + ToYaml() (string, error)
 | |
|         + LoadYAMLForEmbedding(release *ReleaseSpec, entries []any, missingFileHandler *string, pathPrefix string) ([]any, error)
 | |
|         + Reverse()
 | |
|         + IsOCIChart(chart string) bool
 | |
|         + FullFilePath() (string, error)
 | |
|         + Values() <font color=blue>map</font>[string]any
 | |
|         + ExecuteTemplates() (*HelmState, error)
 | |
|         + PlanReleases(opts PlanOptions) ([][]Release, error)
 | |
| 
 | |
|     }
 | |
|     class Inherit << (S,Aquamarine) >> {
 | |
|         + Template string
 | |
|         + Except []string
 | |
| 
 | |
|     }
 | |
|     class Inherits << (S,Aquamarine) >> {
 | |
|         + UnmarshalYAML(unmarshal <font color=blue>func</font>(any) error) error
 | |
| 
 | |
|     }
 | |
|     class LabelFilter << (S,Aquamarine) >> {
 | |
|         - positiveLabels [][]string
 | |
|         - negativeLabels [][]string
 | |
| 
 | |
|         + Match(r ReleaseSpec) bool
 | |
| 
 | |
|     }
 | |
|     interface LintOpt  {
 | |
|         + Apply( *LintOpts)
 | |
| 
 | |
|     }
 | |
|     class LintOpts << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + SkipCleanup bool
 | |
| 
 | |
|         + Apply(opts *LintOpts)
 | |
| 
 | |
|     }
 | |
|     class MissingFileHandlerConfig << (S,Aquamarine) >> {
 | |
|         + IgnoreMissingGitBranch bool
 | |
| 
 | |
|         - resolveFileOptions() []resolveFileOption
 | |
| 
 | |
|     }
 | |
|     class PlanOptions << (S,Aquamarine) >> {
 | |
|         + Purpose string
 | |
|         + Reverse bool
 | |
|         + IncludeNeeds bool
 | |
|         + IncludeTransitiveNeeds bool
 | |
|         + SkipNeeds bool
 | |
|         + SelectedReleases []ReleaseSpec
 | |
| 
 | |
|     }
 | |
|     class PrepareChartKey << (S,Aquamarine) >> {
 | |
|         + Namespace string
 | |
| 
 | |
|     }
 | |
|     class Release << (S,Aquamarine) >> {
 | |
|         + Filtered bool
 | |
| 
 | |
|     }
 | |
|     class ReleaseError << (S,Aquamarine) >> {
 | |
|         - err error
 | |
| 
 | |
|         + Code int
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     interface ReleaseFilter  {
 | |
|         + Match(r ReleaseSpec) bool
 | |
| 
 | |
|     }
 | |
|     class ReleaseSetSpec << (S,Aquamarine) >> {
 | |
|         + DefaultHelmBinary string
 | |
|         + DefaultKustomizeBinary string
 | |
|         + DefaultValues []any
 | |
|         + Environments <font color=blue>map</font>[string]EnvironmentSpec
 | |
|         + Bases []string
 | |
|         + HelmDefaults HelmSpec
 | |
|         + Helmfiles []SubHelmfileSpec
 | |
|         + OverrideKubeContext string
 | |
|         + OverrideNamespace string
 | |
|         + OverrideChart string
 | |
|         + Repositories []RepositorySpec
 | |
|         + CommonLabels <font color=blue>map</font>[string]string
 | |
|         + Releases []ReleaseSpec
 | |
|         + OrginReleases []ReleaseSpec
 | |
|         + Selectors []string
 | |
|         + ApiVersions []string
 | |
|         + KubeVersion string
 | |
|         + Hooks []event.Hook
 | |
|         + Templates <font color=blue>map</font>[string]TemplateSpec
 | |
|         + Env environment.Environment
 | |
|         + MissingFileHandler string
 | |
|         + MissingFileHandlerConfig MissingFileHandlerConfig
 | |
|         + LockFile string
 | |
| 
 | |
|     }
 | |
|     class ReleaseSpec << (S,Aquamarine) >> {
 | |
|         - duration time.Duration
 | |
|         - installedVersion string
 | |
| 
 | |
|         + Chart string
 | |
|         + ChartPath string
 | |
|         + Directory string
 | |
|         + Version string
 | |
|         + Verify *bool
 | |
|         + Keyring string
 | |
|         + EnableDNS *bool
 | |
|         + Devel *bool
 | |
|         + Wait *bool
 | |
|         + WaitRetries *int
 | |
|         + WaitForJobs *bool
 | |
|         + Timeout *int
 | |
|         + RecreatePods *bool
 | |
|         + Force *bool
 | |
|         + Installed *bool
 | |
|         + Atomic *bool
 | |
|         + CleanupOnFail *bool
 | |
|         + HistoryMax *int
 | |
|         + Condition string
 | |
|         + CreateNamespace *bool
 | |
|         + DisableOpenAPIValidation *bool
 | |
|         + DisableValidation *bool
 | |
|         + DisableValidationOnInstall *bool
 | |
|         + MissingFileHandler *string
 | |
|         + Needs []string
 | |
|         + Hooks []event.Hook
 | |
|         + Name string
 | |
|         + Namespace string
 | |
|         + Labels <font color=blue>map</font>[string]string
 | |
|         + Values []any
 | |
|         + Secrets []any
 | |
|         + SetValues []SetValue
 | |
|         + SetStringValues []SetValue
 | |
|         + ValuesTemplate []any
 | |
|         + SetValuesTemplate []SetValue
 | |
|         + ApiVersions []string
 | |
|         + KubeVersion string
 | |
|         + EnvValues []SetValue
 | |
|         + ValuesPathPrefix string
 | |
|         + KubeContext string
 | |
|         + InsecureSkipTLSVerify bool
 | |
|         + PlainHttp bool
 | |
|         + VerifyTemplate *string
 | |
|         + WaitTemplate *string
 | |
|         + InstalledTemplate *string
 | |
|         + Dependencies []Dependency
 | |
|         + JSONPatches []any
 | |
|         + StrategicMergePatches []any
 | |
|         + Transformers []any
 | |
|         + Adopt []string
 | |
|         + ForceGoGetter bool
 | |
|         + ForceNamespace string
 | |
|         + SkipDeps *bool
 | |
|         + SkipRefresh *bool
 | |
|         + PostRenderer *string
 | |
|         + SkipSchemaValidation *bool
 | |
|         + PostRendererArgs []string
 | |
|         + Cascade *string
 | |
|         + SuppressOutputLineRegex []string
 | |
|         + Inherit Inherits
 | |
|         + SuppressDiff *bool
 | |
|         + DeleteWait *bool
 | |
|         + DeleteTimeout *int
 | |
|         + SyncReleaseLabels bool
 | |
| 
 | |
|         + ExecuteTemplateExpressions(renderer *tmpl.FileRenderer) (*ReleaseSpec, error)
 | |
|         + Clone() (*ReleaseSpec, error)
 | |
|         + Desired() bool
 | |
|         + ChartPathOrName() string
 | |
| 
 | |
|     }
 | |
|     interface RepoUpdater  {
 | |
|         + IsHelm3() bool
 | |
|         + AddRepo(name string, repository string, cafile string, certfile string, keyfile string, username string, password string, managed string, passCredentials bool, skipTLSVerify bool) error
 | |
|         + UpdateRepo() error
 | |
|         + RegistryLogin(name string, username string, password string, caFile string, certFile string, keyFile string, skipTLSVerify bool) error
 | |
| 
 | |
|     }
 | |
|     class RepositorySpec << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + URL string
 | |
|         + CaFile string
 | |
|         + CertFile string
 | |
|         + KeyFile string
 | |
|         + Username string
 | |
|         + Password string
 | |
|         + RegistryConfig string
 | |
|         + Managed string
 | |
|         + OCI bool
 | |
|         + Verify bool
 | |
|         + Keyring string
 | |
|         + PassCredentials bool
 | |
|         + SkipTLSVerify bool
 | |
|         + PlainHttp bool
 | |
| 
 | |
|     }
 | |
|     class ResolvedChartDependency << (S,Aquamarine) >> {
 | |
|         + ChartName string
 | |
|         + Repository string
 | |
|         + Version string
 | |
| 
 | |
|     }
 | |
|     class ResolvedDependencies << (S,Aquamarine) >> {
 | |
|         - deps <font color=blue>map</font>[string][]ResolvedChartDependency
 | |
| 
 | |
|         - add(dep ResolvedChartDependency) error
 | |
| 
 | |
|         + Get(chart string, versionConstraint string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class SetValue << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Value string
 | |
|         + File string
 | |
|         + Values []string
 | |
| 
 | |
|     }
 | |
|     class StateCreator << (S,Aquamarine) >> {
 | |
|         - logger *zap.SugaredLogger
 | |
|         - fs *filesystem.FileSystem
 | |
|         - valsRuntime vals.Evaluator
 | |
|         - getHelm <font color=blue>func</font>(*HelmState) helmexec.Interface
 | |
|         - overrideHelmBinary string
 | |
|         - overrideKustomizeBinary string
 | |
|         - enableLiveOutput bool
 | |
|         - remote *remote.Remote
 | |
|         - lockFile string
 | |
| 
 | |
|         + Strict bool
 | |
|         + LoadFile <font color=blue>func</font>(*environment.Environment, *environment.Environment, string, string, bool) (*HelmState, error)
 | |
| 
 | |
|         - loadBases(envValues *environment.Environment, overrodeEnv *environment.Environment, st *HelmState, baseDir string) (*HelmState, error)
 | |
|         - loadEnvValues(st *HelmState, name string, failOnMissingEnv bool, ctxEnv *environment.Environment, overrode *environment.Environment) (*environment.Environment, error)
 | |
|         - scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles []string, envVals <font color=blue>map</font>[string]any, keepFileExtensions []string) ([]string, error)
 | |
| 
 | |
|         + Parse(content []byte, baseDir string, file string) (*HelmState, error)
 | |
|         + LoadEnvValues(target *HelmState, env string, failOnMissingEnv bool, ctxEnv *environment.Environment, overrode *environment.Environment) (*HelmState, error)
 | |
|         + ParseAndLoad(content []byte, baseDir string, file string, envName string, failOnMissingEnv bool, evaluateBases bool, envValues *environment.Environment, overrode *environment.Environment) (*HelmState, error)
 | |
| 
 | |
|     }
 | |
|     class StateLoadError << (S,Aquamarine) >> {
 | |
|         + Msg string
 | |
|         + Cause error
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class Storage << (S,Aquamarine) >> {
 | |
|         - logger *zap.SugaredLogger
 | |
|         - basePath string
 | |
|         - fs *filesystem.FileSystem
 | |
| 
 | |
|         + FilePath string
 | |
| 
 | |
|         - resolveFile(missingFileHandler *string, tpe string, path string, opts ...resolveFileOption) ([]string, bool, error)
 | |
|         - normalizePath(path string) string
 | |
|         - normalizeSetFilePath(path string, goos string) string
 | |
| 
 | |
|         + ExpandPaths(globPattern string) ([]string, error)
 | |
|         + JoinBase(relPath string) string
 | |
| 
 | |
|     }
 | |
|     class SubHelmfileSpec << (S,Aquamarine) >> {
 | |
|         + Path string
 | |
|         + Selectors []string
 | |
|         + SelectorsInherited bool
 | |
|         + Environment SubhelmfileEnvironmentSpec
 | |
| 
 | |
|         + MarshalYAML() (any, error)
 | |
|         + UnmarshalYAML(unmarshal <font color=blue>func</font>(any) error) error
 | |
| 
 | |
|     }
 | |
|     class SubhelmfileEnvironmentSpec << (S,Aquamarine) >> {
 | |
|         + OverrideValues []any
 | |
| 
 | |
|     }
 | |
|     interface SyncOpt  {
 | |
|         + Apply( *SyncOpts)
 | |
| 
 | |
|     }
 | |
|     class SyncOpts << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + SkipCleanup bool
 | |
|         + SkipCRDs bool
 | |
|         + Wait bool
 | |
|         + WaitRetries int
 | |
|         + WaitForJobs bool
 | |
|         + SyncReleaseLabels bool
 | |
|         + ReuseValues bool
 | |
|         + ResetValues bool
 | |
|         + PostRenderer string
 | |
|         + SkipSchemaValidation bool
 | |
|         + PostRendererArgs []string
 | |
|         + SyncArgs string
 | |
|         + HideNotes bool
 | |
|         + TakeOwnership bool
 | |
| 
 | |
|         + Apply(opts *SyncOpts)
 | |
| 
 | |
|     }
 | |
|     interface TemplateOpt  {
 | |
|         + Apply( *TemplateOpts)
 | |
| 
 | |
|     }
 | |
|     class TemplateOpts << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + SkipCleanup bool
 | |
|         + OutputDirTemplate string
 | |
|         + IncludeCRDs bool
 | |
|         + NoHooks bool
 | |
|         + SkipTests bool
 | |
|         + PostRenderer string
 | |
|         + PostRendererArgs []string
 | |
|         + KubeVersion string
 | |
|         + ShowOnly []string
 | |
|         + SkipSchemaValidation bool
 | |
| 
 | |
|         + Apply(opts *TemplateOpts)
 | |
| 
 | |
|     }
 | |
|     class TemplateSpec << (S,Aquamarine) >> {
 | |
|     }
 | |
|     class TestOpts << (S,Aquamarine) >> {
 | |
|         + Logs bool
 | |
| 
 | |
|     }
 | |
|     class UndefinedEnvError << (S,Aquamarine) >> {
 | |
|         + Env string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class UnresolvedDependencies << (S,Aquamarine) >> {
 | |
|         - deps <font color=blue>map</font>[string][]unresolvedChartDependency
 | |
| 
 | |
|         + Add(chart string, url string, versionConstraint string, alias string)
 | |
|         + ToChartRequirements() *ChartRequirements
 | |
| 
 | |
|     }
 | |
|     interface WriteValuesOpt  {
 | |
|         + Apply( *WriteValuesOpts)
 | |
| 
 | |
|     }
 | |
|     class WriteValuesOpts << (S,Aquamarine) >> {
 | |
|         + Set []string
 | |
|         + OutputFileTemplate string
 | |
|         + SkipCleanup bool
 | |
| 
 | |
|         + Apply(opts *WriteValuesOpts)
 | |
| 
 | |
|     }
 | |
|     class chartDependencyManager << (S,Aquamarine) >> {
 | |
|         - lockFilePath string
 | |
|         - logger *zap.SugaredLogger
 | |
|         - readFile <font color=blue>func</font>(string) ([]byte, error)
 | |
|         - writeFile <font color=blue>func</font>(string, []byte, os.FileMode) error
 | |
| 
 | |
|         + Name string
 | |
| 
 | |
|         - lockFileName() string
 | |
|         - updateHelm3(shell helmexec.DependencyUpdater, wd string, unresolved *UnresolvedDependencies) (*ResolvedDependencies, error)
 | |
|         - doUpdate(chartLockFile string, unresolved *UnresolvedDependencies, shell helmexec.DependencyUpdater, wd string) (*ResolvedDependencies, error)
 | |
|         - readBytes(filename string) ([]byte, error)
 | |
|         - writeBytes(filename string, data []byte) error
 | |
| 
 | |
|         + Update(shell helmexec.DependencyUpdater, wd string, unresolved *UnresolvedDependencies) (*ResolvedDependencies, error)
 | |
|         + Resolve(unresolved *UnresolvedDependencies) (*ResolvedDependencies, bool, error)
 | |
| 
 | |
|     }
 | |
|     class chartPrepareResult << (S,Aquamarine) >> {
 | |
|         - releaseName string
 | |
|         - releaseNamespace string
 | |
|         - releaseContext string
 | |
|         - chartName string
 | |
|         - chartPath string
 | |
|         - err error
 | |
|         - buildDeps bool
 | |
|         - skipRefresh bool
 | |
|         - chartFetchedByGoGetter bool
 | |
| 
 | |
|     }
 | |
|     class diffPrepareResult << (S,Aquamarine) >> {
 | |
|         - release *ReleaseSpec
 | |
|         - flags []string
 | |
|         - errors []*ReleaseError
 | |
|         - files []string
 | |
|         - upgradeDueToSkippedDiff bool
 | |
|         - suppressDiff bool
 | |
| 
 | |
|     }
 | |
|     class diffResult << (S,Aquamarine) >> {
 | |
|         - release *ReleaseSpec
 | |
|         - err *ReleaseError
 | |
|         - buf *bytes.Buffer
 | |
| 
 | |
|     }
 | |
|     class releaseTemplateData << (S,Aquamarine) >> {
 | |
|         + Environment environment.Environment
 | |
|         + Release releaseTemplateDataRelease
 | |
|         + Values <font color=blue>map</font>[string]any
 | |
|         + StateValues *<font color=blue>map</font>[string]any
 | |
|         + KubeContext string
 | |
|         + Namespace string
 | |
|         + Chart string
 | |
| 
 | |
|     }
 | |
|     class releaseTemplateDataRelease << (S,Aquamarine) >> {
 | |
|         + Name string
 | |
|         + Namespace string
 | |
|         + Labels <font color=blue>map</font>[string]string
 | |
|         + Chart string
 | |
|         + KubeContext string
 | |
| 
 | |
|     }
 | |
|     class resolveFileConfig << (S,Aquamarine) >> {
 | |
|         + IgnoreMissingGitBranch bool
 | |
| 
 | |
|     }
 | |
|     class result << (S,Aquamarine) >> {
 | |
|         - release ReleaseSpec
 | |
|         - err error
 | |
| 
 | |
|     }
 | |
|     class state.Inherits << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class state.TestOption << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class state.helmStateAlias << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class state.resolveFileOption << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class syncPrepareResult << (S,Aquamarine) >> {
 | |
|         - release *ReleaseSpec
 | |
|         - flags []string
 | |
|         - errors []*ReleaseError
 | |
|         - files []string
 | |
| 
 | |
|     }
 | |
|     class syncResult << (S,Aquamarine) >> {
 | |
|         - errors []*ReleaseError
 | |
| 
 | |
|     }
 | |
|     class unresolvedChartDependency << (S,Aquamarine) >> {
 | |
|         + ChartName string
 | |
|         + Repository string
 | |
|         + VersionConstraint string
 | |
|         + Alias string
 | |
| 
 | |
|     }
 | |
| }
 | |
| "state.ReleaseSetSpec" *-- "state.HelmState"
 | |
| "state.ReleaseSpec" *-- "state.Release"
 | |
| "state.ReleaseSpec" *-- "state.ReleaseError"
 | |
| "state.ReleaseSpec" *-- "state.TemplateSpec"
 | |
| 
 | |
| "state.DiffOpt" <|-- "state.DiffOpts"
 | |
| "state.ReleaseFilter" <|-- "state.LabelFilter"
 | |
| "state.LintOpt" <|-- "state.LintOpts"
 | |
| "state.SyncOpt" <|-- "state.SyncOpts"
 | |
| "state.TemplateOpt" <|-- "state.TemplateOpts"
 | |
| "state.WriteValuesOpt" <|-- "state.WriteValuesOpts"
 | |
| 
 | |
| namespace testhelper {
 | |
|     class TestFs << (S,Aquamarine) >> {
 | |
|         - dirs <font color=blue>map</font>[string]bool
 | |
|         - files <font color=blue>map</font>[string]string
 | |
|         - fileReaderCalls int
 | |
|         - successfulReads []string
 | |
| 
 | |
|         + Cwd string
 | |
|         + GlobFixtures <font color=blue>map</font>[string][]string
 | |
|         + DeleteFile <font color=blue>func</font>(string) error
 | |
| 
 | |
|         + ToFileSystem() *filesystem.FileSystem
 | |
|         + FileExistsAt(path string) bool
 | |
|         + FileExists(path string) (bool, error)
 | |
|         + DirectoryExistsAt(path string) bool
 | |
|         + ReadFile(filename string) ([]byte, error)
 | |
|         + SuccessfulReads() []string
 | |
|         + FileReaderCalls() int
 | |
|         + Glob(relPattern string) ([]string, error)
 | |
|         + Abs(path string) (string, error)
 | |
|         + Getwd() (string, error)
 | |
|         + Chdir(dir string) error
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| namespace testutil {
 | |
|     class V3HelmExec << (S,Aquamarine) >> {
 | |
|         - isHelm3 bool
 | |
| 
 | |
|         + IsHelm3() bool
 | |
| 
 | |
|     }
 | |
|     class VersionHelmExec << (S,Aquamarine) >> {
 | |
|         - version string
 | |
| 
 | |
|         + IsVersionAtLeast(ver string) bool
 | |
| 
 | |
|     }
 | |
|     class noCallHelmExec << (S,Aquamarine) >> {
 | |
|         - doPanic()
 | |
| 
 | |
|         + TemplateRelease(name string, chart string, flags ...string) error
 | |
|         + ChartPull(chart string, path string, flags ...string) error
 | |
|         + ChartExport(chart string, path string) error
 | |
|         + UpdateDeps(chart string) error
 | |
|         + BuildDeps(name string, chart string, flags ...string) error
 | |
|         + SetExtraArgs(args ...string)
 | |
|         + SetHelmBinary(bin string)
 | |
|         + SetEnableLiveOutput(enableLiveOutput bool)
 | |
|         + SetDisableForceUpdate(forceUpdate bool)
 | |
|         + AddRepo(name string, repository string, cafile string, certfile string, keyfile string, username string, password string, managed string, passCredentials bool, skipTLSVerify bool) error
 | |
|         + UpdateRepo() error
 | |
|         + RegistryLogin(name string, username string, password string, caFile string, certFile string, keyFile string, skipTLSVerify bool) error
 | |
|         + SyncRelease(context helmexec.HelmContext, name string, chart string, namespace string, flags ...string) error
 | |
|         + DiffRelease(context helmexec.HelmContext, name string, chart string, namespace string, suppressDiff bool, flags ...string) error
 | |
|         + ReleaseStatus(context helmexec.HelmContext, release string, flags ...string) error
 | |
|         + DeleteRelease(context helmexec.HelmContext, name string, flags ...string) error
 | |
|         + List(context helmexec.HelmContext, filter string, flags ...string) (string, error)
 | |
|         + DecryptSecret(context helmexec.HelmContext, name string, flags ...string) (string, error)
 | |
|         + TestRelease(context helmexec.HelmContext, name string, flags ...string) error
 | |
|         + Fetch(chart string, flags ...string) error
 | |
|         + Lint(name string, chart string, flags ...string) error
 | |
|         + IsHelm3() bool
 | |
|         + GetVersion() helmexec.Version
 | |
|         + IsVersionAtLeast(versionStr string) bool
 | |
|         + ShowChart(chartPath string) (chart.Metadata, error)
 | |
| 
 | |
|     }
 | |
| }
 | |
| "testutil.noCallHelmExec" *-- "testutil.V3HelmExec"
 | |
| "testutil.noCallHelmExec" *-- "testutil.VersionHelmExec"
 | |
| 
 | |
| "helmexec.DependencyUpdater" <|-- "testutil.noCallHelmExec"
 | |
| "helmexec.Interface" <|-- "testutil.noCallHelmExec"
 | |
| "state.RepoUpdater" <|-- "testutil.noCallHelmExec"
 | |
| 
 | |
| namespace tmpl {
 | |
|     class Context << (S,Aquamarine) >> {
 | |
|         - preRender bool
 | |
|         - basePath string
 | |
|         - fs *filesystem.FileSystem
 | |
| 
 | |
|         - createFuncMap() template.FuncMap
 | |
|         - helperTPLs() ([]tplInfo, error)
 | |
|         - newTemplate() (*template.Template, error)
 | |
| 
 | |
|         + SetBasePath(path string)
 | |
|         + SetFileSystem(fs *filesystem.FileSystem)
 | |
|         + EnvExec(envs <font color=blue>map</font>[string]any, command string, args []any, inputs ...string) (string, error)
 | |
|         + Exec(command string, args []any, inputs ...string) (string, error)
 | |
|         + IsFile(filename string) (bool, error)
 | |
|         + IsDir(filename string) (bool, error)
 | |
|         + ReadFile(filename string) (string, error)
 | |
|         + ReadDir(path string) ([]string, error)
 | |
|         + ReadDirEntries(path string) ([]fs.DirEntry, error)
 | |
|         + Tpl(text string, data any) (string, error)
 | |
|         + CreateFuncMap() template.FuncMap
 | |
|         + RenderTemplateToBuffer(s string, data ...any) (*bytes.Buffer, error)
 | |
| 
 | |
|     }
 | |
|     class DisableInsecureFeaturesError << (S,Aquamarine) >> {
 | |
|         - err string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class FileRenderer << (S,Aquamarine) >> {
 | |
|         - fs *filesystem.FileSystem
 | |
| 
 | |
|         + Context *Context
 | |
|         + Data any
 | |
| 
 | |
|         + RenderTemplateFileToBuffer(file string) (*bytes.Buffer, error)
 | |
|         + RenderToBytes(path string) ([]byte, error)
 | |
|         + RenderTemplateContentToBuffer(content []byte) (*bytes.Buffer, error)
 | |
|         + RenderTemplateContentToString(content []byte) (string, error)
 | |
| 
 | |
|     }
 | |
|     class MockvalClient << (S,Aquamarine) >> {
 | |
|         - ctrl *gomock.Controller
 | |
|         - recorder *MockvalClientMockRecorder
 | |
| 
 | |
|         + EXPECT() *MockvalClientMockRecorder
 | |
|         + Eval(template <font color=blue>map</font>[string]any) (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|     }
 | |
|     class MockvalClientMockRecorder << (S,Aquamarine) >> {
 | |
|         - mock *MockvalClient
 | |
| 
 | |
|         + Eval(arg0 any) *gomock.Call
 | |
| 
 | |
|     }
 | |
|     interface TextRenderer  {
 | |
|         + RenderTemplateText(text string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class noValueError << (S,Aquamarine) >> {
 | |
|         - msg string
 | |
| 
 | |
|         + Error() string
 | |
| 
 | |
|     }
 | |
|     class templateTextRenderer << (S,Aquamarine) >> {
 | |
|         + ReadText <font color=blue>func</font>(string) ([]byte, error)
 | |
|         + Context *Context
 | |
|         + Data any
 | |
| 
 | |
|         + RenderTemplateText(text string) (string, error)
 | |
| 
 | |
|     }
 | |
|     class tmpl.Values << (T, #FF7700) >>  {
 | |
|     }
 | |
|     class tplInfo << (S,Aquamarine) >> {
 | |
|         - name string
 | |
|         - content string
 | |
| 
 | |
|     }
 | |
|     interface valClient  {
 | |
|         + Eval(template <font color=blue>map</font>[string]any) (<font color=blue>map</font>[string]any, error)
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| "tmpl.valClient" <|-- "tmpl.MockvalClient"
 | |
| "tmpl.TextRenderer" <|-- "tmpl.templateTextRenderer"
 | |
| 
 | |
| namespace yaml {
 | |
|     interface Encoder  {
 | |
|         + Encode( any) error
 | |
|         + Close() error
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| "__builtin__.string" #.. "main.diffSource"
 | |
| "app.<font color=blue>func</font>(*LoadOpts) " #.. "app.LoadOption"
 | |
| "app.any" #.. "app.CacheConfigProvider"
 | |
| "app.any" #.. "app.DAGConfigProvider"
 | |
| "main.<font color=blue>map</font>[string]any" #.. "main.resource"
 | |
| "policy.<font color=blue>func</font>(string, []byte) (bool, error)" #.. "policy.checkerFunc"
 | |
| "state.<font color=blue>func</font>(*TestOpts) " #.. "state.TestOption"
 | |
| "state.<font color=blue>func</font>(*resolveFileConfig) " #.. "state.resolveFileOption"
 | |
| "state.HelmState" #.. "state.helmStateAlias"
 | |
| "state.[]Inherit" #.. "state.Inherits"
 | |
| "tmpl.<font color=blue>map</font>[string]any" #.. "tmpl.Values"
 | |
| @enduml
 |