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
 |