Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions container_transform/compose.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,3 +354,9 @@ def ingest_privileged(self, privileged):

def emit_privileged(self, privileged):
return privileged

def emit_memory_reserve(self, memory_reserve):
return self.emit_memory(memory_reserve)

def ingest_memory_reserve(self, memory_reserve):
return self.ingest_memory(memory_reserve)
6 changes: 6 additions & 0 deletions container_transform/ecs.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,3 +293,9 @@ def emit_logging(self, logging):
data['logDriver'] = data.get('driver')
del data['driver']
return logging

def emit_memory_reserve(self, memory_reserve):
return self.emit_memory(memory_reserve)

def ingest_memory_reserve(self, memory_reserve):
return self.ingest_memory(memory_reserve)
29 changes: 28 additions & 1 deletion container_transform/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class OutputTransformationTypes(Enum):
'memory': {
TransformationTypes.ECS.value: {
'name': 'memory',
'required': True
'required': False
},
TransformationTypes.COMPOSE.value: {
'name': 'mem_limit',
Expand Down Expand Up @@ -731,6 +731,33 @@ class OutputTransformationTypes(Enum):
'required': False,
},
},
'memory_reserve': {
TransformationTypes.ECS.value: {
'name': "memoryReservation",
'required': False
},
TransformationTypes.COMPOSE.value: {
'name': "mem_reservation",
'required': False,
},
TransformationTypes.SYSTEMD.value: {
'name': None,
'required': False,
},
TransformationTypes.MARATHON.value: {
'name': 'fetch',
'required': False,
},
TransformationTypes.CHRONOS.value: {
'name': 'uris',
'required': False,
},
TransformationTypes.KUBERNETES.value: {
'name': None,
'required': False,
},
},

# TODO create an entry for forcePullImage
# TODO create an entry for healthChecks
# TODO create an entry for replicas/instances
Expand Down
8 changes: 8 additions & 0 deletions container_transform/transformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
'name': str,
'cpu': int, # out of 1024
'memory': int, # in bytes
'mem_reservation': int, # in bytes
'links': list, # This is universal across formats
'logging': {
# See compose options
Expand Down Expand Up @@ -216,6 +217,12 @@ def ingest_fetch(self, fetch):
def emit_fetch(self, fetch):
return fetch

def emit_memory_reserve(self, memory_reserve):
return memory_reserve

def ingest_memory_reserve(self, memory_reserve):
return memory_reserve

@abstractmethod
def ingest_port_mappings(self, port_mappings):
raise NotImplementedError
Expand Down Expand Up @@ -271,3 +278,4 @@ def ingest_volumes(self, volumes):
@abstractmethod
def emit_volumes(self, volumes):
raise NotImplementedError