mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-09 05:09:56 +02:00
All the dependencies get correctly installed when dealing with remote charts. If there's a local chart that depends on remote dependencies then those don't get automatically installed. See #526. They end up with this error: ``` Error: no cached repository for helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272 found. (try 'helm repo update'): open /root/.cache/helm/repository/helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272-index.yaml: no such file or directory ``` One workaround for that would be to add the repositories from the local charts. Something like this: ``` cd local-chart/ && helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done ``` This however is not trivial to parse and implement. An easier fix which I did here is just to not allow doing `--skip-refresh` for local repositories. Fixes #526 Signed-off-by: Indrek Juhkam <indrek@urgas.eu> Signed-off-by: Indrek Juhkam <indrek@urgas.eu> Signed-off-by: yxxhero <aiopsclub@163.com>
131 lines
3.3 KiB
Go
131 lines
3.3 KiB
Go
package app
|
|
|
|
import (
|
|
"helm.sh/helm/v3/pkg/chart"
|
|
|
|
"github.com/helmfile/helmfile/pkg/helmexec"
|
|
)
|
|
|
|
type noCallHelmExec struct {
|
|
}
|
|
|
|
type versionOnlyHelmExec struct {
|
|
*noCallHelmExec
|
|
isHelm3 bool
|
|
}
|
|
|
|
func (helm *versionOnlyHelmExec) IsHelm3() bool {
|
|
return helm.isHelm3
|
|
}
|
|
|
|
func (helm *noCallHelmExec) doPanic() {
|
|
panic("unexpected call to helm")
|
|
}
|
|
|
|
func (helm *noCallHelmExec) TemplateRelease(name, chart string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) ChartPull(chart string, path string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) ChartExport(chart string, path string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) UpdateDeps(chart string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
|
|
func (helm *noCallHelmExec) BuildDeps(name, chart string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
|
|
func (helm *noCallHelmExec) SetExtraArgs(args ...string) {
|
|
helm.doPanic()
|
|
}
|
|
func (helm *noCallHelmExec) SetHelmBinary(bin string) {
|
|
helm.doPanic()
|
|
}
|
|
func (helm *noCallHelmExec) SetEnableLiveOutput(enableLiveOutput bool) {
|
|
helm.doPanic()
|
|
}
|
|
func (helm *noCallHelmExec) SetPostRenderer(postRenderer string) {
|
|
}
|
|
func (helm *noCallHelmExec) GetPostRenderer() string {
|
|
return ""
|
|
}
|
|
|
|
func (helm *noCallHelmExec) AddRepo(name, repository, cafile, certfile, keyfile, username, password string, managed string, passCredentials string, skipTLSVerify string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) UpdateRepo() error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) RegistryLogin(name string, username string, password string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) SyncRelease(context helmexec.HelmContext, name, chart string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) DiffRelease(context helmexec.HelmContext, name, chart string, suppressDiff bool, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) ReleaseStatus(context helmexec.HelmContext, release string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) DeleteRelease(context helmexec.HelmContext, name string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
|
|
func (helm *noCallHelmExec) List(context helmexec.HelmContext, filter string, flags ...string) (string, error) {
|
|
helm.doPanic()
|
|
return "", nil
|
|
}
|
|
|
|
func (helm *noCallHelmExec) DecryptSecret(context helmexec.HelmContext, name string, flags ...string) (string, error) {
|
|
helm.doPanic()
|
|
return "", nil
|
|
}
|
|
func (helm *noCallHelmExec) TestRelease(context helmexec.HelmContext, name string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) Fetch(chart string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) Lint(name, chart string, flags ...string) error {
|
|
helm.doPanic()
|
|
return nil
|
|
}
|
|
func (helm *noCallHelmExec) IsHelm3() bool {
|
|
helm.doPanic()
|
|
return false
|
|
}
|
|
|
|
func (helm *noCallHelmExec) GetVersion() helmexec.Version {
|
|
helm.doPanic()
|
|
return helmexec.Version{}
|
|
}
|
|
|
|
func (helm *noCallHelmExec) IsVersionAtLeast(versionStr string) bool {
|
|
helm.doPanic()
|
|
return false
|
|
}
|
|
|
|
func (helm *noCallHelmExec) ShowChart(chartPath string) (chart.Metadata, error) {
|
|
helm.doPanic()
|
|
return chart.Metadata{}, nil
|
|
}
|