From 6ca0085ec8de55b24f3702547b116ba1d788708c Mon Sep 17 00:00:00 2001 From: Devon Steenberg Date: Mon, 11 Aug 2025 15:44:36 +1200 Subject: [PATCH] fix(stackbuilders): swarm and k8s deploys [BE-12138] (#1003) --- api/stacks/stackbuilders/k8s_git_builder.go | 22 +++++++++++++++++++ api/stacks/stackbuilders/k8s_url_builder.go | 8 ++++++- .../swarm_file_upload_builder.go | 16 ++++++++++++++ api/stacks/stackbuilders/swarm_git_builder.go | 15 +++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/api/stacks/stackbuilders/k8s_git_builder.go b/api/stacks/stackbuilders/k8s_git_builder.go index 4566ae86c..6fe0254b4 100644 --- a/api/stacks/stackbuilders/k8s_git_builder.go +++ b/api/stacks/stackbuilders/k8s_git_builder.go @@ -40,6 +40,12 @@ func CreateKubernetesStackGitBuilder(dataStore dataservices.DataStore, } } +func (b *KubernetesStackGitBuilder) SetGeneralInfo(payload *StackPayload, endpoint *portainer.Endpoint) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetGeneralInfo(payload, endpoint) + + return b +} + func (b *KubernetesStackGitBuilder) SetUniqueInfo(payload *StackPayload) GitMethodStackBuildProcess { if b.hasError() { return b @@ -54,6 +60,12 @@ func (b *KubernetesStackGitBuilder) SetUniqueInfo(payload *StackPayload) GitMeth return b } +func (b *KubernetesStackGitBuilder) SetGitRepository(payload *StackPayload) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetGitRepository(payload) + + return b +} + func (b *KubernetesStackGitBuilder) Deploy(payload *StackPayload, endpoint *portainer.Endpoint) GitMethodStackBuildProcess { if b.hasError() { return b @@ -79,3 +91,13 @@ func (b *KubernetesStackGitBuilder) Deploy(payload *StackPayload, endpoint *port return b.GitMethodStackBuilder.Deploy(payload, endpoint) } + +func (b *KubernetesStackGitBuilder) SetAutoUpdate(payload *StackPayload) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetAutoUpdate(payload) + + return b +} + +func (b *KubernetesStackGitBuilder) GetResponse() string { + return b.deploymentConfiger.GetResponse() +} diff --git a/api/stacks/stackbuilders/k8s_url_builder.go b/api/stacks/stackbuilders/k8s_url_builder.go index 404d66072..21a1387f1 100644 --- a/api/stacks/stackbuilders/k8s_url_builder.go +++ b/api/stacks/stackbuilders/k8s_url_builder.go @@ -38,6 +38,12 @@ func CreateKubernetesStackUrlBuilder(dataStore dataservices.DataStore, } } +func (b *KubernetesStackUrlBuilder) SetGeneralInfo(payload *StackPayload, endpoint *portainer.Endpoint) UrlMethodStackBuildProcess { + b.UrlMethodStackBuilder.SetGeneralInfo(payload, endpoint) + + return b +} + func (b *KubernetesStackUrlBuilder) SetUniqueInfo(payload *StackPayload) UrlMethodStackBuildProcess { if b.hasError() { return b @@ -100,7 +106,7 @@ func (b *KubernetesStackUrlBuilder) Deploy(payload *StackPayload, endpoint *port b.deploymentConfiger = k8sDeploymentConfig - return b.Deploy(payload, endpoint) + return b.UrlMethodStackBuilder.Deploy(payload, endpoint) } func (b *KubernetesStackUrlBuilder) GetResponse() string { diff --git a/api/stacks/stackbuilders/swarm_file_upload_builder.go b/api/stacks/stackbuilders/swarm_file_upload_builder.go index e9746579b..d8be9054b 100644 --- a/api/stacks/stackbuilders/swarm_file_upload_builder.go +++ b/api/stacks/stackbuilders/swarm_file_upload_builder.go @@ -28,6 +28,12 @@ func CreateSwarmStackFileUploadBuilder(securityContext *security.RestrictedReque } } +func (b *SwarmStackFileUploadBuilder) SetGeneralInfo(payload *StackPayload, endpoint *portainer.Endpoint) FileUploadMethodStackBuildProcess { + b.FileUploadMethodStackBuilder.SetGeneralInfo(payload, endpoint) + + return b +} + func (b *SwarmStackFileUploadBuilder) SetUniqueInfo(payload *StackPayload) FileUploadMethodStackBuildProcess { if b.hasError() { return b @@ -42,6 +48,16 @@ func (b *SwarmStackFileUploadBuilder) SetUniqueInfo(payload *StackPayload) FileU return b } +func (b *SwarmStackFileUploadBuilder) SetUploadedFile(payload *StackPayload) FileUploadMethodStackBuildProcess { + if b.hasError() { + return b + } + + b.FileUploadMethodStackBuilder.SetUploadedFile(payload) + + return b +} + func (b *SwarmStackFileUploadBuilder) Deploy(payload *StackPayload, endpoint *portainer.Endpoint) FileUploadMethodStackBuildProcess { if b.hasError() { return b diff --git a/api/stacks/stackbuilders/swarm_git_builder.go b/api/stacks/stackbuilders/swarm_git_builder.go index 96ac1bfab..c3d6fab6a 100644 --- a/api/stacks/stackbuilders/swarm_git_builder.go +++ b/api/stacks/stackbuilders/swarm_git_builder.go @@ -32,6 +32,11 @@ func CreateSwarmStackGitBuilder(securityContext *security.RestrictedRequestConte } } +func (b *SwarmStackGitBuilder) SetGeneralInfo(payload *StackPayload, endpoint *portainer.Endpoint) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetGeneralInfo(payload, endpoint) + return b +} + func (b *SwarmStackGitBuilder) SetUniqueInfo(payload *StackPayload) GitMethodStackBuildProcess { if b.hasError() { return b @@ -45,6 +50,11 @@ func (b *SwarmStackGitBuilder) SetUniqueInfo(payload *StackPayload) GitMethodSta return b } +func (b *SwarmStackGitBuilder) SetGitRepository(payload *StackPayload) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetGitRepository(payload) + return b +} + // Deploy creates deployment configuration for swarm stack func (b *SwarmStackGitBuilder) Deploy(payload *StackPayload, endpoint *portainer.Endpoint) GitMethodStackBuildProcess { if b.hasError() { @@ -62,3 +72,8 @@ func (b *SwarmStackGitBuilder) Deploy(payload *StackPayload, endpoint *portainer return b.GitMethodStackBuilder.Deploy(payload, endpoint) } + +func (b *SwarmStackGitBuilder) SetAutoUpdate(payload *StackPayload) GitMethodStackBuildProcess { + b.GitMethodStackBuilder.SetAutoUpdate(payload) + return b +}