65 lines
1.8 KiB
Jsonnet
65 lines
1.8 KiB
Jsonnet
# Tag to add a shared network
|
|
#
|
|
# Examples:
|
|
|
|
# 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 default_svcs = std.get(user_data, 'PAASIFY_STACK_SVCS');
|
|
local default_network = std.get(user_data, 'APP_NETWORK_NAME', 'default');
|
|
|
|
# Build default config
|
|
local config_default = {
|
|
APP_SERVICES: default_svcs,
|
|
APP_NETWORK_NAME: default_network,
|
|
APP_NETWORK_IDENT: default_network,
|
|
};
|
|
|
|
local conf = config_default + user_data;
|
|
local services_names = std.split(conf.APP_SERVICES, ',') ;
|
|
|
|
|
|
# Process
|
|
docker_data +
|
|
{
|
|
networks+: {
|
|
[conf.APP_NETWORK_IDENT]: {
|
|
name: conf.APP_NETWORK_NAME,
|
|
}
|
|
},
|
|
services+: {
|
|
[svc_name]+: { networks+: { [conf.APP_NETWORK_IDENT]: null } } for svc_name in services_names
|
|
},
|
|
}
|
|
|
|
|
|
|
|
|
|
###############3
|
|
##
|
|
##
|
|
##
|
|
### Internal vars
|
|
##local docker_services = std.get(docker_data, 'services', default={});
|
|
##local docker_services_names = std.objectFields(docker_services);
|
|
#
|
|
## System options
|
|
#local service_ns = std.get(user_data, 'namespace', default=std.get(stack_data, 'namespace', default=''));
|
|
#local service_stack = std.get(user_data, 'name', default=std.get(stack_data, 'current_stack', default=''));
|
|
#
|
|
#local default_name = if std.isString(service_ns) then service_ns + "_" + service_stack else service_stack;
|
|
#
|
|
## User options with defaults
|
|
#local network_name = std.get(user_data, 'network_name', default='default');
|
|
#local service_name = std.get(user_data, 'service', default='app');
|
|
#local services_names = std.get(user_data, 'services', default=[service_name]);
|
|
|
|
|
|
|