mirror of
https://github.com/portainer/portainer.git
synced 2025-07-22 23:09:41 +02:00
fix ECR registry token refresh (#10191)
This commit is contained in:
parent
841ca1ebd4
commit
a8c6bd8082
2 changed files with 18 additions and 0 deletions
|
@ -13,6 +13,7 @@ import (
|
||||||
portainer "github.com/portainer/portainer/api"
|
portainer "github.com/portainer/portainer/api"
|
||||||
"github.com/portainer/portainer/api/git/update"
|
"github.com/portainer/portainer/api/git/update"
|
||||||
"github.com/portainer/portainer/api/internal/endpointutils"
|
"github.com/portainer/portainer/api/internal/endpointutils"
|
||||||
|
"github.com/portainer/portainer/api/internal/registryutils"
|
||||||
k "github.com/portainer/portainer/api/kubernetes"
|
k "github.com/portainer/portainer/api/kubernetes"
|
||||||
"github.com/portainer/portainer/api/stacks/deployments"
|
"github.com/portainer/portainer/api/stacks/deployments"
|
||||||
"github.com/portainer/portainer/api/stacks/stackbuilders"
|
"github.com/portainer/portainer/api/stacks/stackbuilders"
|
||||||
|
@ -176,6 +177,14 @@ func (handler *Handler) createKubernetesStackFromFileContent(w http.ResponseWrit
|
||||||
handler.KubernetesDeployer,
|
handler.KubernetesDeployer,
|
||||||
user)
|
user)
|
||||||
|
|
||||||
|
// Refresh ECR registry secret if needed
|
||||||
|
// RefreshEcrSecret method checks if the namespace has any ECR registry
|
||||||
|
// otherwise return nil
|
||||||
|
cli, err := handler.KubernetesClientFactory.GetKubeClient(endpoint)
|
||||||
|
if err == nil {
|
||||||
|
registryutils.RefreshEcrSecret(cli, endpoint, handler.DataStore, payload.Namespace)
|
||||||
|
}
|
||||||
|
|
||||||
stackBuilderDirector := stackbuilders.NewStackBuilderDirector(k8sStackBuilder)
|
stackBuilderDirector := stackbuilders.NewStackBuilderDirector(k8sStackBuilder)
|
||||||
_, httpErr := stackBuilderDirector.Build(&stackPayload, endpoint)
|
_, httpErr := stackBuilderDirector.Build(&stackPayload, endpoint)
|
||||||
if httpErr != nil {
|
if httpErr != nil {
|
||||||
|
|
|
@ -13,6 +13,7 @@ import (
|
||||||
gittypes "github.com/portainer/portainer/api/git/types"
|
gittypes "github.com/portainer/portainer/api/git/types"
|
||||||
"github.com/portainer/portainer/api/git/update"
|
"github.com/portainer/portainer/api/git/update"
|
||||||
"github.com/portainer/portainer/api/http/security"
|
"github.com/portainer/portainer/api/http/security"
|
||||||
|
"github.com/portainer/portainer/api/internal/registryutils"
|
||||||
k "github.com/portainer/portainer/api/kubernetes"
|
k "github.com/portainer/portainer/api/kubernetes"
|
||||||
"github.com/portainer/portainer/api/stacks/deployments"
|
"github.com/portainer/portainer/api/stacks/deployments"
|
||||||
|
|
||||||
|
@ -113,6 +114,14 @@ func (handler *Handler) updateKubernetesStack(r *http.Request, stack *portainer.
|
||||||
return httperror.InternalServerError("Failed to persist deployment file in a temp directory", err)
|
return httperror.InternalServerError("Failed to persist deployment file in a temp directory", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Refresh ECR registry secret if needed
|
||||||
|
// RefreshEcrSecret method checks if the namespace has any ECR registry
|
||||||
|
// otherwise return nil
|
||||||
|
cli, err := handler.KubernetesClientFactory.GetKubeClient(endpoint)
|
||||||
|
if err == nil {
|
||||||
|
registryutils.RefreshEcrSecret(cli, endpoint, handler.DataStore, stack.Namespace)
|
||||||
|
}
|
||||||
|
|
||||||
//use temp dir as the stack project path for deployment
|
//use temp dir as the stack project path for deployment
|
||||||
//so if the deployment failed, the original file won't be over-written
|
//so if the deployment failed, the original file won't be over-written
|
||||||
stack.ProjectPath = tempFileDir
|
stack.ProjectPath = tempFileDir
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue