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
|