mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-27 21:01:27 -07:00
docker: add support to add/drop capabilities
This commit is contained in:
parent
9b38e47d70
commit
426ec96ea5
1 changed files with 27 additions and 2 deletions
|
@ -297,7 +297,19 @@ options:
|
||||||
required: false
|
required: false
|
||||||
default: null
|
default: null
|
||||||
version_added: "2.0"
|
version_added: "2.0"
|
||||||
|
cap_add:
|
||||||
|
description:
|
||||||
|
- Add capabilities for the container. Requires docker-py >= 0.5.0.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
version_added: "2.0"
|
||||||
|
cap_drop:
|
||||||
|
description:
|
||||||
|
- Drop capabilities for the container. Requires docker-py >= 0.5.0.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
aliases: []
|
||||||
|
version_added: "2.0"
|
||||||
author:
|
author:
|
||||||
- "Cove Schneider (@cove)"
|
- "Cove Schneider (@cove)"
|
||||||
- "Joshua Conner (@joshuaconner)"
|
- "Joshua Conner (@joshuaconner)"
|
||||||
|
@ -556,6 +568,8 @@ class DockerManager(object):
|
||||||
'log_driver': ((1, 2, 0), '1.18'),
|
'log_driver': ((1, 2, 0), '1.18'),
|
||||||
'host_config': ((0, 7, 0), '1.15'),
|
'host_config': ((0, 7, 0), '1.15'),
|
||||||
'cpu_set': ((0, 6, 0), '1.14'),
|
'cpu_set': ((0, 6, 0), '1.14'),
|
||||||
|
'cap_add': ((0, 5, 0), '1.14'),
|
||||||
|
'cap_drop': ((0, 5, 0), '1.14'),
|
||||||
# Clientside only
|
# Clientside only
|
||||||
'insecure_registry': ((0, 5, 0), '0.0')
|
'insecure_registry': ((0, 5, 0), '0.0')
|
||||||
}
|
}
|
||||||
|
@ -1326,7 +1340,8 @@ class DockerManager(object):
|
||||||
|
|
||||||
optionals = {}
|
optionals = {}
|
||||||
for optional_param in ('dns', 'volumes_from', 'restart_policy',
|
for optional_param in ('dns', 'volumes_from', 'restart_policy',
|
||||||
'restart_policy_retry', 'pid', 'extra_hosts', 'log_driver'):
|
'restart_policy_retry', 'pid', 'extra_hosts', 'log_driver',
|
||||||
|
'cap_add', 'cap_drop'):
|
||||||
optionals[optional_param] = self.module.params.get(optional_param)
|
optionals[optional_param] = self.module.params.get(optional_param)
|
||||||
|
|
||||||
if optionals['dns'] is not None:
|
if optionals['dns'] is not None:
|
||||||
|
@ -1361,6 +1376,14 @@ class DockerManager(object):
|
||||||
log_config.type = optionals['log_driver']
|
log_config.type = optionals['log_driver']
|
||||||
params['log_config'] = log_config
|
params['log_config'] = log_config
|
||||||
|
|
||||||
|
if optionals['cap_add'] is not None:
|
||||||
|
self.ensure_capability('cap_add')
|
||||||
|
params['cap_add'] = optionals['cap_add']
|
||||||
|
|
||||||
|
if optionals['cap_drop'] is not None:
|
||||||
|
self.ensure_capability('cap_drop')
|
||||||
|
params['cap_drop'] = optionals['cap_drop']
|
||||||
|
|
||||||
return docker.utils.create_host_config(**params)
|
return docker.utils.create_host_config(**params)
|
||||||
|
|
||||||
def create_containers(self, count=1):
|
def create_containers(self, count=1):
|
||||||
|
@ -1626,6 +1649,8 @@ def main():
|
||||||
insecure_registry = dict(default=False, type='bool'),
|
insecure_registry = dict(default=False, type='bool'),
|
||||||
log_driver = dict(default=None, choices=['json-file', 'none', 'syslog']),
|
log_driver = dict(default=None, choices=['json-file', 'none', 'syslog']),
|
||||||
cpu_set = dict(default=None),
|
cpu_set = dict(default=None),
|
||||||
|
cap_add = dict(default=None, type='list'),
|
||||||
|
cap_drop = dict(default=None, type='list'),
|
||||||
),
|
),
|
||||||
required_together = (
|
required_together = (
|
||||||
['tls_client_cert', 'tls_client_key'],
|
['tls_client_cert', 'tls_client_key'],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue