add global resource limmits

This commit is contained in:
Brad Rydzewski
2019-10-29 13:08:42 -07:00
parent 3c1ae23a1e
commit 3761bd0df4
10 changed files with 49 additions and 64 deletions

View File

@@ -183,13 +183,10 @@ func registerCompile(app *kingpin.Application) {
Int64Var(&c.Resources.CPUShares)
cmd.Flag("memory", "container memory limit").
Int64Var(&c.Resources.MemLimit)
Int64Var(&c.Resources.Memory)
cmd.Flag("memory-swap", "container memory swap limit").
Int64Var(&c.Resources.MemSwapLimit)
cmd.Flag("shmsize", "container shm size").
Int64Var(&c.Resources.ShmSize)
Int64Var(&c.Resources.MemorySwap)
cmd.Flag("docker-config", "path to the docker config file").
StringVar(&c.Config)

View File

@@ -73,6 +73,15 @@ type Config struct {
Trusted bool `envconfig:"DRONE_LIMIT_TRUSTED"`
}
Resources struct {
Memory int64 `envconfig:"DRONE_MEMORY_LIMIT"`
MemorySwap int64 `envconfig:"DRONE_MEMORY_SWAP_LIMIT"`
CPUQuota int64 `envconfig:"DRONE_CPU_QUOTA"`
CPUPeriod int64 `envconfig:"DRONE_CPU_PERIOD"`
CPUShares int64 `envconfig:"DRONE_CPU_SHARES"`
CPUSet []string `envconfig:"DRONE_CPU_SET"`
}
Secret struct {
Endpoint string `envconfig:"DRONE_SECRET_PLUGIN_ENDPOINT"`
Token string `envconfig:"DRONE_SECRET_PLUGIN_TOKEN"`

View File

@@ -123,7 +123,14 @@ func (c *daemonCommand) run(*kingpin.ParseContext) error {
Privileged: append(config.Runner.Privileged, compiler.Privileged...),
Networks: config.Runner.Networks,
Volumes: config.Runner.Volumes,
// Resources: nil,
Resources: compiler.Resources{
Memory: config.Resources.Memory,
MemorySwap: config.Resources.MemorySwap,
CPUQuota: config.Resources.CPUQuota,
CPUPeriod: config.Resources.CPUPeriod,
CPUShares: config.Resources.CPUShares,
CPUSet: config.Resources.CPUSet,
},
Registry: registry.Combine(
registry.File(
config.Docker.Config,

View File

@@ -313,13 +313,10 @@ func registerExec(app *kingpin.Application) {
Int64Var(&c.Resources.CPUShares)
cmd.Flag("memory", "container memory limit").
Int64Var(&c.Resources.MemLimit)
Int64Var(&c.Resources.Memory)
cmd.Flag("memory-swap", "container memory swap limit").
Int64Var(&c.Resources.MemSwapLimit)
cmd.Flag("shmsize", "container shm size").
Int64Var(&c.Resources.ShmSize)
Int64Var(&c.Resources.MemorySwap)
cmd.Flag("public-key", "public key file path").
ExistingFileVar(&c.PublicKey)