mirror of
https://github.com/containers/podman.git
synced 2025-06-03 03:07:56 +08:00

Switch from projectatomic/buildah to containers/buildah Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
36 lines
951 B
Go
36 lines
951 B
Go
// +build seccomp,linux
|
|
|
|
package buildah
|
|
|
|
import (
|
|
"io/ioutil"
|
|
|
|
"github.com/opencontainers/runtime-spec/specs-go"
|
|
"github.com/pkg/errors"
|
|
seccomp "github.com/seccomp/containers-golang"
|
|
)
|
|
|
|
func setupSeccomp(spec *specs.Spec, seccompProfilePath string) error {
|
|
switch seccompProfilePath {
|
|
case "unconfined":
|
|
spec.Linux.Seccomp = nil
|
|
case "":
|
|
seccompConfig, err := seccomp.GetDefaultProfile(spec)
|
|
if err != nil {
|
|
return errors.Wrapf(err, "loading default seccomp profile failed")
|
|
}
|
|
spec.Linux.Seccomp = seccompConfig
|
|
default:
|
|
seccompProfile, err := ioutil.ReadFile(seccompProfilePath)
|
|
if err != nil {
|
|
return errors.Wrapf(err, "opening seccomp profile (%s) failed", seccompProfilePath)
|
|
}
|
|
seccompConfig, err := seccomp.LoadProfile(string(seccompProfile), spec)
|
|
if err != nil {
|
|
return errors.Wrapf(err, "loading seccomp profile (%s) failed", seccompProfilePath)
|
|
}
|
|
spec.Linux.Seccomp = seccompConfig
|
|
}
|
|
return nil
|
|
}
|