1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-21 14:29:40 +02:00

feat(podman): support add podman envs in the wizard [r8s-20] (#12056)
Some checks failed
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
ci / build_images (map[arch:arm platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Has been cancelled
/ triage (push) Has been cancelled
Lint / Run linters (push) Has been cancelled
Test / test-client (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:linux]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
Test / test-server (map[arch:arm64 platform:linux]) (push) Has been cancelled
ci / build_manifests (push) Has been cancelled

This commit is contained in:
Ali 2024-09-25 11:55:07 +12:00 committed by GitHub
parent db616bc8a5
commit 32e94d4e4e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
108 changed files with 1921 additions and 272 deletions

View file

@ -184,7 +184,9 @@ func (d *stackDeployer) remoteStack(stack *portainer.Stack, endpoint *portainer.
if err != nil {
return errors.Wrap(err, "unable to get agent info")
}
targetSocketBind := getTargetSocketBind(info.OSType)
// ensure the targetSocketBindHost is changed to podman for podman environments
targetSocketBindHost := getTargetSocketBindHost(info.OSType, endpoint.ContainerEngine)
targetSocketBindContainer := getTargetSocketBindContainer(info.OSType)
composeDestination := filesystem.JoinPaths(stack.ProjectPath, composePathPrefix)
@ -206,7 +208,7 @@ func (d *stackDeployer) remoteStack(stack *portainer.Stack, endpoint *portainer.
}, &container.HostConfig{
Binds: []string{
fmt.Sprintf("%s:%s", composeDestination, composeDestination),
fmt.Sprintf("%s:%s", targetSocketBind, targetSocketBind),
fmt.Sprintf("%s:%s", targetSocketBindHost, targetSocketBindContainer),
},
}, nil, nil, fmt.Sprintf("portainer-unpacker-%d-%s-%d", stack.ID, stack.Name, rand.Intn(100)))
@ -327,7 +329,19 @@ func getUnpackerImage() string {
return image
}
func getTargetSocketBind(osType string) string {
func getTargetSocketBindHost(osType string, containerEngine string) string {
targetSocketBind := "//./pipe/docker_engine"
if strings.EqualFold(osType, "linux") {
if containerEngine == portainer.ContainerEnginePodman {
targetSocketBind = "/run/podman/podman.sock"
} else {
targetSocketBind = "/var/run/docker.sock"
}
}
return targetSocketBind
}
func getTargetSocketBindContainer(osType string) string {
targetSocketBind := "//./pipe/docker_engine"
if strings.EqualFold(osType, "linux") {
targetSocketBind = "/var/run/docker.sock"