diff options
author | Roman Anasal <roman.anasal@bdsu.de> | 2020-11-15 16:07:54 +0100 |
---|---|---|
committer | Roman Anasal <roman.anasal@bdsu.de> | 2020-12-02 01:08:11 +0100 |
commit | 2d2a8a0469cb82dc46554bdc3dfd6663bb0c4ca9 (patch) | |
tree | 398231aab0bacfbe6205ceadcd6e0db292b3bc19 /compose/service.py | |
parent | 5c6c300ba5cfc0226716645d51f400a2d4c19904 (diff) |
Implement service profiles
Implement profiles as introduced in compose-spec/compose-spec#110
fixes #7919
closes #1896
closes #6742
closes #7539
Signed-off-by: Roman Anasal <roman.anasal@bdsu.de>
Diffstat (limited to 'compose/service.py')
-rw-r--r-- | compose/service.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/compose/service.py b/compose/service.py index e00a537c..bb55fee5 100644 --- a/compose/service.py +++ b/compose/service.py @@ -1331,6 +1331,24 @@ class Service: return result + def get_profiles(self): + if 'profiles' not in self.options: + return [] + + return self.options.get('profiles') + + def enabled_for_profiles(self, enabled_profiles): + # if service has no profiles specified it is always enabled + if 'profiles' not in self.options: + return True + + service_profiles = self.options.get('profiles') + for profile in enabled_profiles: + if profile in service_profiles: + return True + + return False + def short_id_alias_exists(container, network): aliases = container.get( |