diff --git a/pkg/loader/compose/v3.go b/pkg/loader/compose/v3.go index 922d7c1b..35036c0c 100755 --- a/pkg/loader/compose/v3.go +++ b/pkg/loader/compose/v3.go @@ -555,6 +555,14 @@ func mergeComposeObject(oldCompose *types.Config, newCompose *types.Config) (*ty if service.Deploy.Mode != "" { tmpOldService.Deploy = service.Deploy } + if service.Deploy.Resources.Limits != nil { + tmpOldService.Deploy.Resources.Limits = service.Deploy.Resources.Limits + } + + if service.Deploy.Resources.Reservations != nil { + tmpOldService.Deploy.Resources.Reservations = service.Deploy.Resources.Reservations + } + if len(service.Devices) != 0 { tmpOldService.Devices = service.Devices } diff --git a/script/test/fixtures/merge-multiple-compose/dev.yml b/script/test/fixtures/merge-multiple-compose/dev.yml index fe1f7e7e..765ff774 100644 --- a/script/test/fixtures/merge-multiple-compose/dev.yml +++ b/script/test/fixtures/merge-multiple-compose/dev.yml @@ -2,6 +2,12 @@ version: '3' services: web: + deploy: + resources: + limits: + cpus: "1" # as opposed to 0.1 (default) + reservations: + cpus: "1" environment: - ERRORS=1 - HIDE_NGINX_HEADERS=0 diff --git a/script/test/fixtures/merge-multiple-compose/output-base-template.json b/script/test/fixtures/merge-multiple-compose/output-base-template.json index eadd8831..0ac8a2ec 100644 --- a/script/test/fixtures/merge-multiple-compose/output-base-template.json +++ b/script/test/fixtures/merge-multiple-compose/output-base-template.json @@ -68,7 +68,14 @@ "image": "richarvey/nginx-php-fpm", "imagePullPolicy": "", "name": "web", - "resources": {} + "resources": { + "limits": { + "cpu": "1" + }, + "requests": { + "cpu": "1" + } + } } ], "restartPolicy": "Always",