summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2023-08-31 08:37:17 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2023-08-31 08:37:17 +0000
commit6dd0499f4cb97dd749f3f9aa5b649039ae7cf6c4 (patch)
treeb4654a3f650537d04c405f5b131f4ef8cf2b06c7 /src
parentaf737cf57e53a08a53ec2037ee476ee9098d8216 (diff)
downloadvyos-1x-6dd0499f4cb97dd749f3f9aa5b649039ae7cf6c4.tar.gz
vyos-1x-6dd0499f4cb97dd749f3f9aa5b649039ae7cf6c4.zip
T5531: Containers add label option
Ability to set labels for container set container name c1 allow-host-networks set container name c1 image 'busybox' set container name c1 label mypods value 'My label for containers'
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/container.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py
index 79b605ffb..46eb10714 100755
--- a/src/conf_mode/container.py
+++ b/src/conf_mode/container.py
@@ -178,6 +178,11 @@ def verify(container):
if 'value' not in cfg:
raise ConfigError(f'Environment variable {var} has no value assigned!')
+ if 'label' in container_config:
+ for var, cfg in container_config['label'].items():
+ if 'value' not in cfg:
+ raise ConfigError(f'Label variable {var} has no value assigned!')
+
if 'volume' in container_config:
for volume, volume_config in container_config['volume'].items():
if 'source' not in volume_config:
@@ -268,6 +273,12 @@ def generate_run_arguments(name, container_config):
for k, v in container_config['environment'].items():
env_opt += f" --env \"{k}={v['value']}\""
+ # Check/set label options "--label foo=bar"
+ env_opt = ''
+ if 'label' in container_config:
+ for k, v in container_config['label'].items():
+ env_opt += f" --label \"{k}={v['value']}\""
+
hostname = ''
if 'host_name' in container_config:
hostname = container_config['host_name']