func createLaunchConfig(r *RancherService, serviceConfig *project.ServiceConfig) (rancherClient.LaunchConfig, error) { var result rancherClient.LaunchConfig schemasUrl := strings.SplitN(r.Context().Client.Schemas.Links["self"], "/schemas", 2)[0] scriptsUrl := schemasUrl + "/scripts/transform" config, hostConfig, err := docker.Convert(serviceConfig) if err != nil { return result, err } dockerContainer := &ContainerInspect{ Config: config, HostConfig: hostConfig, } dockerContainer.HostConfig.NetworkMode = runconfig.NetworkMode("") if serviceConfig.Name != "" { dockerContainer.Name = "/" + serviceConfig.Name } else { dockerContainer.Name = "/" + r.name } err = r.Context().Client.Post(scriptsUrl, dockerContainer, &result) if err != nil { return result, err } result.HealthCheck = r.HealthCheck() setupNetworking(serviceConfig.Net, &result) setupVolumesFrom(serviceConfig.VolumesFrom, &result) err = r.setupBuild(&result, serviceConfig) if result.Labels == nil { result.Labels = map[string]interface{}{} } return result, err }