Skip to content

Commit

Permalink
fix(ssh): initialize ssh agent before working with git repo
Browse files Browse the repository at this point in the history
Signed-off-by: Ilya Lesikov <ilya@lesikov.com>
  • Loading branch information
ilya-lesikov committed Feb 29, 2024
1 parent 2de681b commit caf1422
Show file tree
Hide file tree
Showing 12 changed files with 99 additions and 99 deletions.
14 changes: 7 additions & 7 deletions cmd/werf/build/main.go
Expand Up @@ -167,13 +167,6 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -184,6 +177,13 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

common.SetupOndemandKubeInitializer(*commonCmdData.KubeContext, *commonCmdData.KubeConfig, *commonCmdData.KubeConfigBase64, *commonCmdData.KubeConfigPathMergeList)
if err := common.GetOndemandKubeInitializer().Init(ctx); err != nil {
return err
Expand Down
20 changes: 10 additions & 10 deletions cmd/werf/bundle/export/export.go
Expand Up @@ -197,6 +197,16 @@ func runExport(ctx context.Context, imagesToProcess build.ImagesToProcess) error
}
}()

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
Expand Down Expand Up @@ -225,16 +235,6 @@ func runExport(ctx context.Context, imagesToProcess build.ImagesToProcess) error
}
defer tmp_manager.ReleaseProjectDir(projectTmpDir)

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

userExtraAnnotations, err := common.GetUserExtraAnnotations(&commonCmdData)
if err != nil {
return err
Expand Down
20 changes: 10 additions & 10 deletions cmd/werf/bundle/publish/publish.go
Expand Up @@ -197,6 +197,16 @@ func runPublish(ctx context.Context, imagesToProcess build.ImagesToProcess) erro
}
}()

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
Expand Down Expand Up @@ -225,16 +235,6 @@ func runPublish(ctx context.Context, imagesToProcess build.ImagesToProcess) erro
}
defer tmp_manager.ReleaseProjectDir(projectTmpDir)

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

userExtraAnnotations, err := common.GetUserExtraAnnotations(&commonCmdData)
if err != nil {
return err
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/compose/main.go
Expand Up @@ -309,13 +309,6 @@ func runMain(ctx context.Context, dockerComposeCmdName string, cmdData composeCm
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -326,6 +319,13 @@ func runMain(ctx context.Context, dockerComposeCmdName string, cmdData composeCm
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if followSupport && *commonCmdData.Follow {
if err := checkDetachDockerComposeOption(cmdData); err != nil {
return err
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/converge/converge.go
Expand Up @@ -270,13 +270,6 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -287,6 +280,13 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

common.SetupOndemandKubeInitializer(*commonCmdData.KubeContext, *commonCmdData.KubeConfig, *commonCmdData.KubeConfigBase64, *commonCmdData.KubeConfigPathMergeList)
if err := common.GetOndemandKubeInitializer().Init(ctx); err != nil {
return err
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/export/export.go
Expand Up @@ -176,13 +176,6 @@ func run(ctx context.Context, imagesToProcess build.ImagesToProcess, tagTemplate
return err
}

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -193,6 +186,13 @@ func run(ctx context.Context, imagesToProcess build.ImagesToProcess, tagTemplate
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

_, werfConfig, err := common.GetRequiredWerfConfig(ctx, &commonCmdData, giterminismManager, common.GetWerfConfigOptions(&commonCmdData, false))
if err != nil {
return fmt.Errorf("unable to load werf config: %w", err)
Expand Down
20 changes: 10 additions & 10 deletions cmd/werf/helm/get_autogenerated_values.go
Expand Up @@ -130,6 +130,16 @@ func runGetServiceValues(ctx context.Context, imagesToProcess build.ImagesToProc
return err
}

if err := ssh_agent.Init(ctx, common.GetSSHKey(&getAutogeneratedValuedCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Error().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &getAutogeneratedValuedCmdData)
if err != nil {
return err
Expand All @@ -151,16 +161,6 @@ func runGetServiceValues(ctx context.Context, imagesToProcess build.ImagesToProc
return err
}

if err := ssh_agent.Init(ctx, common.GetSSHKey(&getAutogeneratedValuedCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Error().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

var imagesRepository string
var imagesInfoGetters []*image.InfoGetter
imageNameList := common.GetImageNameList(imagesToProcess, werfConfig)
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/kube_run/kube_run.go
Expand Up @@ -271,13 +271,6 @@ func runMain(ctx context.Context) error {
return err
}

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -287,6 +280,13 @@ func runMain(ctx context.Context) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

var pod string
if cmdData.Pod == "" {
pod = fmt.Sprintf("werf-run-%d", rand.Int())
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/plan/plan.go
Expand Up @@ -251,13 +251,6 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -268,6 +261,13 @@ func runMain(ctx context.Context, imagesToProcess build.ImagesToProcess) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

common.SetupOndemandKubeInitializer(*commonCmdData.KubeContext, *commonCmdData.KubeConfig, *commonCmdData.KubeConfigBase64, *commonCmdData.KubeConfigPathMergeList)
if err := common.GetOndemandKubeInitializer().Init(ctx); err != nil {
return err
Expand Down
20 changes: 10 additions & 10 deletions cmd/werf/render/render.go
Expand Up @@ -198,6 +198,16 @@ func runRender(ctx context.Context, imagesToProcess build.ImagesToProcess) error
return err
}

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
Expand Down Expand Up @@ -226,16 +236,6 @@ func runRender(ctx context.Context, imagesToProcess build.ImagesToProcess) error
}
defer tmp_manager.ReleaseProjectDir(projectTmpDir)

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

common.SetupOndemandKubeInitializer(*commonCmdData.KubeContext, *commonCmdData.KubeConfig, *commonCmdData.KubeConfigBase64, *commonCmdData.KubeConfigPathMergeList)

namespace, err := deploy_params.GetKubernetesNamespace(*commonCmdData.Namespace, *commonCmdData.Environment, werfConfig)
Expand Down
14 changes: 7 additions & 7 deletions cmd/werf/run/run.go
Expand Up @@ -263,13 +263,6 @@ func runMain(ctx context.Context) error {
return err
}

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
Expand All @@ -280,6 +273,13 @@ func runMain(ctx context.Context) error {
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
}

common.ProcessLogProjectDir(&commonCmdData, giterminismManager.ProjectDir())

if *commonCmdData.Follow {
if cmdData.Shell || cmdData.Bash {
return fmt.Errorf("follow mode does not work with --shell and --bash options")
Expand Down
20 changes: 10 additions & 10 deletions cmd/werf/stage/image/main.go
Expand Up @@ -127,6 +127,16 @@ func run(ctx context.Context, imageName string) error {
return err
}

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

giterminismManager, err := common.GetGiterminismManager(ctx, &commonCmdData)
if err != nil {
return err
Expand All @@ -147,16 +157,6 @@ func run(ctx context.Context, imageName string) error {
}
defer tmp_manager.ReleaseProjectDir(projectTmpDir)

if err := ssh_agent.Init(ctx, common.GetSSHKey(&commonCmdData)); err != nil {
return fmt.Errorf("cannot initialize ssh agent: %w", err)
}
defer func() {
err := ssh_agent.Terminate()
if err != nil {
logboek.Warn().LogF("WARNING: ssh agent termination failed: %s\n", err)
}
}()

if imageName == "" && len(werfConfig.StapelImages) == 1 {
imageName = werfConfig.StapelImages[0].Name
}
Expand Down

0 comments on commit caf1422

Please sign in to comment.