@@ -53,13 +53,17 @@ var runCmd = &cobra.Command{ |
| 53 | 53 | return err |
| 54 | 54 | } |
| 55 | 55 | execEngine := engine.NewDocker(engine.DockerConfig{ |
| 56 | | - Binary: cfg.Engine.Kind, |
| 57 | | - DefaultImage: cfg.Engine.DefaultImage, |
| 58 | | - Network: cfg.Engine.Network, |
| 59 | | - Memory: cfg.Engine.Memory, |
| 60 | | - CPUs: cfg.Engine.CPUs, |
| 61 | | - Stdout: os.Stdout, |
| 62 | | - Stderr: os.Stderr, |
| 56 | + Binary: cfg.Engine.Kind, |
| 57 | + DefaultImage: cfg.Engine.DefaultImage, |
| 58 | + Network: cfg.Engine.Network, |
| 59 | + Memory: cfg.Engine.Memory, |
| 60 | + CPUs: cfg.Engine.CPUs, |
| 61 | + SeccompProfile: cfg.Engine.SeccompProfile, |
| 62 | + User: cfg.Engine.User, |
| 63 | + PidsLimit: cfg.Engine.PidsLimit, |
| 64 | + Stdout: os.Stdout, |
| 65 | + Stderr: os.Stderr, |
| 66 | + Logger: logger, |
| 63 | 67 | }) |
| 64 | 68 | r := runnerpkg.New(runnerpkg.Options{ |
| 65 | 69 | API: client, |
@@ -90,26 +94,32 @@ func init() { |
| 90 | 94 | runCmd.Flags().String("network", "", "Container network") |
| 91 | 95 | runCmd.Flags().String("memory", "", "Container memory limit") |
| 92 | 96 | runCmd.Flags().String("cpus", "", "Container CPU limit") |
| 97 | + runCmd.Flags().String("seccomp-profile", "", "Container seccomp profile path") |
| 98 | + runCmd.Flags().String("container-user", "", "Default container user") |
| 99 | + runCmd.Flags().Int("pids-limit", 0, "Container PID limit") |
| 93 | 100 | runCmd.Flags().String("log-level", "", "Log level: debug, info, warn, error") |
| 94 | 101 | runCmd.Flags().String("log-format", "", "Log format: text or json") |
| 95 | 102 | } |
| 96 | 103 | |
| 97 | 104 | func flagOverrides(cmd *cobra.Command) map[string]string { |
| 98 | 105 | keys := map[string]string{ |
| 99 | | - "server-url": "server.base_url", |
| 100 | | - "token": "runner.token", |
| 101 | | - "labels": "runner.labels", |
| 102 | | - "capacity": "runner.capacity", |
| 103 | | - "poll-interval": "runner.poll_interval", |
| 104 | | - "workspace-root": "runner.workspace_root", |
| 105 | | - "workspace-ttl": "runner.workspace_ttl", |
| 106 | | - "engine": "engine.kind", |
| 107 | | - "image": "engine.default_image", |
| 108 | | - "network": "engine.network", |
| 109 | | - "memory": "engine.memory", |
| 110 | | - "cpus": "engine.cpus", |
| 111 | | - "log-level": "log.level", |
| 112 | | - "log-format": "log.format", |
| 106 | + "server-url": "server.base_url", |
| 107 | + "token": "runner.token", |
| 108 | + "labels": "runner.labels", |
| 109 | + "capacity": "runner.capacity", |
| 110 | + "poll-interval": "runner.poll_interval", |
| 111 | + "workspace-root": "runner.workspace_root", |
| 112 | + "workspace-ttl": "runner.workspace_ttl", |
| 113 | + "engine": "engine.kind", |
| 114 | + "image": "engine.default_image", |
| 115 | + "network": "engine.network", |
| 116 | + "memory": "engine.memory", |
| 117 | + "cpus": "engine.cpus", |
| 118 | + "seccomp-profile": "engine.seccomp_profile", |
| 119 | + "container-user": "engine.user", |
| 120 | + "pids-limit": "engine.pids_limit", |
| 121 | + "log-level": "log.level", |
| 122 | + "log-format": "log.format", |
| 113 | 123 | } |
| 114 | 124 | out := make(map[string]string) |
| 115 | 125 | cmd.Flags().Visit(func(f *pflag.Flag) { |