docker-compose/.paasify/plugins/docker-svc-restart.jsonnet
2022-07-29 02:23:23 -04:00

32 lines
779 B
Jsonnet

# Tag to add a restart policy on all containers
#
# Examples:
# tags:
# - docker-services-restart:
# policy: always
# services:
# - srv1
# - mysqldb
# Default imports
local user_data = std.parseJson(std.extVar('user_data'));
local docker_data = std.parseJson(std.extVar('docker_data'));
# Internal vars
local docker_services = std.get(docker_data, 'services', default={});
local docker_services_names = std.objectFields(docker_services);
# User options with defaults
local services_names = std.get(user_data, 'services', default=docker_services_names);
local policy = std.get(user_data, 'policy', default='unless-stopped');
# Process
docker_data +
{
services+: {
[svc_name]+: { restart: policy } for svc_name in services_names
},
}