# 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]);