func addSeccomp(context *cli.Context, g *generate.Generator) error { // Set the DefaultAction of seccomp if context.IsSet("seccomp-default") { seccompDefault := context.String("seccomp-default") err := g.SetDefaultSeccompAction(seccompDefault) if err != nil { return err } } else if context.IsSet("seccomp-default-force") { seccompDefaultForced := context.String("seccomp-default-force") err := g.SetDefaultSeccompActionForce(seccompDefaultForced) if err != nil { return err } } // Add the additional architectures permitted to be used for system calls if context.IsSet("seccomp-arch") { seccompArch := context.String("seccomp-arch") architectureArgs := strings.Split(seccompArch, ",") for _, arg := range architectureArgs { err := g.SetSeccompArchitecture(arg) if err != nil { return err } } } if context.IsSet("seccomp-errno") { err := seccompSet(context, "errno", g) if err != nil { return err } } if context.IsSet("seccomp-kill") { err := seccompSet(context, "kill", g) if err != nil { return err } } if context.IsSet("seccomp-trace") { err := seccompSet(context, "trace", g) if err != nil { return err } } if context.IsSet("seccomp-trap") { err := seccompSet(context, "trap", g) if err != nil { return err } } if context.IsSet("seccomp-allow") { err := seccompSet(context, "allow", g) if err != nil { return err } } if context.IsSet("seccomp-remove") { seccompRemove := context.String("seccomp-remove") err := g.RemoveSeccompRule(seccompRemove) if err != nil { return err } } if context.IsSet("seccomp-remove-all") { err := g.RemoveAllSeccompRules() if err != nil { return err } } return nil }