summaryrefslogtreecommitdiff
path: root/compose/service.py
diff options
context:
space:
mode:
authorRoman Anasal <roman.anasal@bdsu.de>2020-11-15 16:07:54 +0100
committerRoman Anasal <roman.anasal@bdsu.de>2020-12-02 01:08:11 +0100
commit2d2a8a0469cb82dc46554bdc3dfd6663bb0c4ca9 (patch)
tree398231aab0bacfbe6205ceadcd6e0db292b3bc19 /compose/service.py
parent5c6c300ba5cfc0226716645d51f400a2d4c19904 (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.py18
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(