├── .dockerignore ├── .drone.yml ├── .gitignore ├── Dockerfile.dapper ├── LICENSE ├── Makefile ├── README.md ├── app └── app.go ├── digest └── hash.go ├── executor ├── handlers │ ├── common.go │ ├── create_handler.go │ ├── log.go │ ├── project.go │ └── upgrade_handler.go └── main.go ├── generate.go ├── lookup ├── env.go ├── file.go ├── map_env.go ├── parse_catalog_config_test.go └── questions.go ├── main.go ├── preprocess └── project.go ├── rancher ├── build.go ├── certs.go ├── configs.go ├── container.go ├── context.go ├── convert_lb_test.go ├── factory.go ├── lb_service.go ├── normal.go ├── project.go ├── s3_uploader.go ├── service.go ├── service_factory.go ├── sidekick.go ├── sidekick_info.go ├── types.go ├── upgrade.go ├── volume.go └── wait.go ├── scripts ├── bootstrap ├── build ├── ci ├── clean ├── config_schema_v1.json ├── config_schema_v2.0.json ├── copy-latest.sh ├── copy-release.sh ├── entry ├── inline_schema.go ├── package ├── release ├── run-cattle ├── schema_template ├── test ├── validate └── version ├── tests └── integration │ ├── README.txt │ ├── cattletest │ └── core │ │ ├── assets │ │ ├── base.yml │ │ ├── bindings.json │ │ ├── build │ │ │ ├── subdir │ │ │ │ └── Dockerfile │ │ │ └── test.yml │ │ ├── cyclic-link-dependency │ │ │ └── docker-compose.yml │ │ ├── env-file │ │ │ ├── docker-compose.yml │ │ │ ├── env-file │ │ │ └── rancher-compose.yml │ │ ├── extends │ │ │ ├── common.yml │ │ │ └── docker-compose.yml │ │ ├── extends_2 │ │ │ ├── common.yml │ │ │ └── docker-compose.yml │ │ ├── externalip │ │ │ ├── rancher-compose.yml │ │ │ └── test.yml │ │ ├── full-with-build-v2.yml │ │ ├── full-with-build.yml │ │ ├── full-with-image-v2.yml │ │ ├── full-with-image.yml │ │ ├── hash-no-rancher │ │ │ └── test.yml │ │ ├── hash-with-rancher │ │ │ ├── rancher-compose.yml │ │ │ └── test.yml │ │ ├── health │ │ │ ├── rancher-compose.yml │ │ │ └── test.yml │ │ ├── hostname │ │ │ ├── rancher-compose.yml │ │ │ └── test.yml │ │ ├── lb-legacy │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ ├── lb │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ ├── metadata │ │ │ ├── rancher-compose.yml │ │ │ └── test.yml │ │ ├── retain-ip │ │ │ └── docker-compose.yml │ │ ├── service-schema │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ ├── sidekick-health │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ ├── something-with-dashes-v0.2.6 │ │ │ └── docker-compose.yml │ │ ├── ssl │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ ├── subdir │ │ │ ├── env.file │ │ │ ├── env2.file │ │ │ └── second.yml │ │ ├── upgrade-ignore-scale │ │ │ ├── docker-compose-source.yml │ │ │ ├── docker-compose.yml │ │ │ └── rancher-compose.yml │ │ └── yaml-corner-cases │ │ │ └── docker-compose.yml │ │ ├── common_fixtures.py │ │ ├── test_compose.py │ │ └── test_service.py │ ├── requirements.txt │ ├── setup.py │ ├── toenv.sh │ └── tox.ini ├── upgrade └── upgrade.go ├── utils └── util.go ├── vendor.conf ├── vendor ├── github.com │ ├── Azure │ │ └── go-ansiterm │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── constants.go │ │ │ ├── context.go │ │ │ ├── csi_entry_state.go │ │ │ ├── csi_param_state.go │ │ │ ├── escape_intermediate_state.go │ │ │ ├── escape_state.go │ │ │ ├── event_handler.go │ │ │ ├── ground_state.go │ │ │ ├── osc_string_state.go │ │ │ ├── parser.go │ │ │ ├── parser_action_helpers.go │ │ │ ├── parser_actions.go │ │ │ ├── states.go │ │ │ ├── utilities.go │ │ │ └── winterm │ │ │ ├── ansi.go │ │ │ ├── api.go │ │ │ ├── attr_translation.go │ │ │ ├── cursor_helpers.go │ │ │ ├── erase_helpers.go │ │ │ ├── scroll_helper.go │ │ │ ├── utilities.go │ │ │ └── win_event_handler.go │ ├── Microsoft │ │ └── go-winio │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── backup.go │ │ │ ├── file.go │ │ │ ├── fileinfo.go │ │ │ ├── pipe.go │ │ │ ├── privilege.go │ │ │ ├── reparse.go │ │ │ ├── sd.go │ │ │ ├── syscall.go │ │ │ └── zsyscall.go │ ├── Sirupsen │ │ └── logrus │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── entry.go │ │ │ ├── exported.go │ │ │ ├── formatter.go │ │ │ ├── hooks.go │ │ │ ├── json_formatter.go │ │ │ ├── logger.go │ │ │ ├── logrus.go │ │ │ ├── terminal_darwin.go │ │ │ ├── terminal_freebsd.go │ │ │ ├── terminal_linux.go │ │ │ ├── terminal_notwindows.go │ │ │ ├── terminal_openbsd.go │ │ │ ├── terminal_windows.go │ │ │ ├── text_formatter.go │ │ │ └── writer.go │ ├── awslabs │ │ └── aws-sdk-go │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE.txt │ │ │ ├── Makefile │ │ │ ├── NOTICE.txt │ │ │ ├── README.md │ │ │ ├── aws │ │ │ ├── awserr │ │ │ │ └── error.go │ │ │ ├── awsutil │ │ │ │ ├── copy.go │ │ │ │ ├── path_value.go │ │ │ │ └── string_value.go │ │ │ ├── config.go │ │ │ ├── credentials │ │ │ │ ├── chain_provider.go │ │ │ │ ├── credentials.go │ │ │ │ ├── ec2_role_provider.go │ │ │ │ ├── env_provider.go │ │ │ │ ├── example.ini │ │ │ │ ├── shared_credentials_provider.go │ │ │ │ └── static_provider.go │ │ │ ├── handler_functions.go │ │ │ ├── handlers.go │ │ │ ├── param_validator.go │ │ │ ├── request.go │ │ │ ├── service.go │ │ │ ├── types.go │ │ │ └── version.go │ │ │ ├── internal │ │ │ ├── apierr │ │ │ │ └── error.go │ │ │ ├── endpoints │ │ │ │ ├── endpoints.go │ │ │ │ ├── endpoints.json │ │ │ │ └── endpoints_map.go │ │ │ ├── protocol │ │ │ │ ├── query │ │ │ │ │ ├── build.go │ │ │ │ │ ├── queryutil │ │ │ │ │ │ └── queryutil.go │ │ │ │ │ ├── unmarshal.go │ │ │ │ │ └── unmarshal_error.go │ │ │ │ ├── rest │ │ │ │ │ ├── build.go │ │ │ │ │ ├── payload.go │ │ │ │ │ └── unmarshal.go │ │ │ │ ├── restxml │ │ │ │ │ └── restxml.go │ │ │ │ └── xml │ │ │ │ │ └── xmlutil │ │ │ │ │ ├── build.go │ │ │ │ │ ├── unmarshal.go │ │ │ │ │ └── xml_to_struct.go │ │ │ └── signer │ │ │ │ └── v4 │ │ │ │ └── v4.go │ │ │ └── service │ │ │ └── s3 │ │ │ ├── api.go │ │ │ ├── bucket_location.go │ │ │ ├── content_md5.go │ │ │ ├── customizations.go │ │ │ ├── host_style_bucket.go │ │ │ ├── service.go │ │ │ ├── sse.go │ │ │ └── unmarshal_error.go │ ├── docker │ │ ├── distribution │ │ │ ├── .gitignore │ │ │ ├── .mailmap │ │ │ ├── AUTHORS │ │ │ ├── BUILDING.md │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── ROADMAP.md │ │ │ ├── blobs.go │ │ │ ├── circle.yml │ │ │ ├── context │ │ │ │ ├── context.go │ │ │ │ ├── doc.go │ │ │ │ ├── http.go │ │ │ │ ├── logger.go │ │ │ │ ├── trace.go │ │ │ │ ├── util.go │ │ │ │ └── version.go │ │ │ ├── coverpkg.sh │ │ │ ├── digest │ │ │ │ ├── digest.go │ │ │ │ ├── digester.go │ │ │ │ ├── doc.go │ │ │ │ ├── set.go │ │ │ │ └── verifiers.go │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── manifests.go │ │ │ ├── reference │ │ │ │ ├── reference.go │ │ │ │ └── regexp.go │ │ │ ├── registry.go │ │ │ ├── registry │ │ │ │ ├── api │ │ │ │ │ ├── errcode │ │ │ │ │ │ ├── errors.go │ │ │ │ │ │ ├── handler.go │ │ │ │ │ │ └── register.go │ │ │ │ │ └── v2 │ │ │ │ │ │ ├── descriptors.go │ │ │ │ │ │ ├── doc.go │ │ │ │ │ │ ├── errors.go │ │ │ │ │ │ ├── routes.go │ │ │ │ │ │ └── urls.go │ │ │ │ ├── client │ │ │ │ │ ├── auth │ │ │ │ │ │ ├── api_version.go │ │ │ │ │ │ ├── authchallenge.go │ │ │ │ │ │ └── session.go │ │ │ │ │ ├── blob_writer.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── repository.go │ │ │ │ │ └── transport │ │ │ │ │ │ ├── http_reader.go │ │ │ │ │ │ └── transport.go │ │ │ │ └── storage │ │ │ │ │ └── cache │ │ │ │ │ ├── cache.go │ │ │ │ │ ├── cachedblobdescriptorstore.go │ │ │ │ │ └── memory │ │ │ │ │ └── memory.go │ │ │ ├── tags.go │ │ │ └── uuid │ │ │ │ └── uuid.go │ │ ├── docker │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── .mailmap │ │ │ ├── AUTHORS │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── Dockerfile.aarch64 │ │ │ ├── Dockerfile.armhf │ │ │ ├── Dockerfile.ppc64le │ │ │ ├── Dockerfile.s390x │ │ │ ├── Dockerfile.simple │ │ │ ├── Dockerfile.windows │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── README.md │ │ │ ├── ROADMAP.md │ │ │ ├── VENDORING.md │ │ │ ├── VERSION │ │ │ ├── api │ │ │ │ ├── README.md │ │ │ │ └── types │ │ │ │ │ ├── auth.go │ │ │ │ │ ├── backend │ │ │ │ │ └── backend.go │ │ │ │ │ ├── blkiodev │ │ │ │ │ └── blkio.go │ │ │ │ │ ├── client.go │ │ │ │ │ ├── configs.go │ │ │ │ │ ├── container │ │ │ │ │ ├── config.go │ │ │ │ │ ├── host_config.go │ │ │ │ │ ├── hostconfig_unix.go │ │ │ │ │ └── hostconfig_windows.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── events │ │ │ │ │ └── events.go │ │ │ │ │ ├── filters │ │ │ │ │ └── parse.go │ │ │ │ │ ├── mount │ │ │ │ │ └── mount.go │ │ │ │ │ ├── network │ │ │ │ │ └── network.go │ │ │ │ │ ├── plugin.go │ │ │ │ │ ├── reference │ │ │ │ │ └── image_reference.go │ │ │ │ │ ├── registry │ │ │ │ │ └── registry.go │ │ │ │ │ ├── seccomp.go │ │ │ │ │ ├── stats.go │ │ │ │ │ ├── strslice │ │ │ │ │ └── strslice.go │ │ │ │ │ ├── swarm │ │ │ │ │ ├── common.go │ │ │ │ │ ├── container.go │ │ │ │ │ ├── network.go │ │ │ │ │ ├── node.go │ │ │ │ │ ├── service.go │ │ │ │ │ ├── swarm.go │ │ │ │ │ └── task.go │ │ │ │ │ ├── time │ │ │ │ │ ├── duration_convert.go │ │ │ │ │ └── timestamp.go │ │ │ │ │ ├── types.go │ │ │ │ │ └── versions │ │ │ │ │ ├── README.md │ │ │ │ │ └── compare.go │ │ │ ├── builder │ │ │ │ ├── builder.go │ │ │ │ ├── context.go │ │ │ │ ├── context_unix.go │ │ │ │ ├── context_windows.go │ │ │ │ ├── dockerignore.go │ │ │ │ ├── dockerignore │ │ │ │ │ └── dockerignore.go │ │ │ │ ├── git.go │ │ │ │ ├── remote.go │ │ │ │ └── tarsum.go │ │ │ ├── cliconfig │ │ │ │ ├── config.go │ │ │ │ └── configfile │ │ │ │ │ └── file.go │ │ │ ├── client │ │ │ │ ├── README.md │ │ │ │ ├── checkpoint_create.go │ │ │ │ ├── checkpoint_delete.go │ │ │ │ ├── checkpoint_list.go │ │ │ │ ├── client.go │ │ │ │ ├── client_unix.go │ │ │ │ ├── client_windows.go │ │ │ │ ├── container_attach.go │ │ │ │ ├── container_commit.go │ │ │ │ ├── container_copy.go │ │ │ │ ├── container_create.go │ │ │ │ ├── container_diff.go │ │ │ │ ├── container_exec.go │ │ │ │ ├── container_export.go │ │ │ │ ├── container_inspect.go │ │ │ │ ├── container_kill.go │ │ │ │ ├── container_list.go │ │ │ │ ├── container_logs.go │ │ │ │ ├── container_pause.go │ │ │ │ ├── container_prune.go │ │ │ │ ├── container_remove.go │ │ │ │ ├── container_rename.go │ │ │ │ ├── container_resize.go │ │ │ │ ├── container_restart.go │ │ │ │ ├── container_start.go │ │ │ │ ├── container_stats.go │ │ │ │ ├── container_stop.go │ │ │ │ ├── container_top.go │ │ │ │ ├── container_unpause.go │ │ │ │ ├── container_update.go │ │ │ │ ├── container_wait.go │ │ │ │ ├── disk_usage.go │ │ │ │ ├── errors.go │ │ │ │ ├── events.go │ │ │ │ ├── hijack.go │ │ │ │ ├── image_build.go │ │ │ │ ├── image_create.go │ │ │ │ ├── image_history.go │ │ │ │ ├── image_import.go │ │ │ │ ├── image_inspect.go │ │ │ │ ├── image_list.go │ │ │ │ ├── image_load.go │ │ │ │ ├── image_prune.go │ │ │ │ ├── image_pull.go │ │ │ │ ├── image_push.go │ │ │ │ ├── image_remove.go │ │ │ │ ├── image_save.go │ │ │ │ ├── image_search.go │ │ │ │ ├── image_tag.go │ │ │ │ ├── info.go │ │ │ │ ├── interface.go │ │ │ │ ├── interface_experimental.go │ │ │ │ ├── interface_stable.go │ │ │ │ ├── login.go │ │ │ │ ├── network_connect.go │ │ │ │ ├── network_create.go │ │ │ │ ├── network_disconnect.go │ │ │ │ ├── network_inspect.go │ │ │ │ ├── network_list.go │ │ │ │ ├── network_remove.go │ │ │ │ ├── node_inspect.go │ │ │ │ ├── node_list.go │ │ │ │ ├── node_remove.go │ │ │ │ ├── node_update.go │ │ │ │ ├── plugin_disable.go │ │ │ │ ├── plugin_enable.go │ │ │ │ ├── plugin_inspect.go │ │ │ │ ├── plugin_install.go │ │ │ │ ├── plugin_list.go │ │ │ │ ├── plugin_push.go │ │ │ │ ├── plugin_remove.go │ │ │ │ ├── plugin_set.go │ │ │ │ ├── request.go │ │ │ │ ├── service_create.go │ │ │ │ ├── service_inspect.go │ │ │ │ ├── service_list.go │ │ │ │ ├── service_remove.go │ │ │ │ ├── service_update.go │ │ │ │ ├── swarm_init.go │ │ │ │ ├── swarm_inspect.go │ │ │ │ ├── swarm_join.go │ │ │ │ ├── swarm_leave.go │ │ │ │ ├── swarm_update.go │ │ │ │ ├── task_inspect.go │ │ │ │ ├── task_list.go │ │ │ │ ├── transport.go │ │ │ │ ├── version.go │ │ │ │ ├── volume_create.go │ │ │ │ ├── volume_inspect.go │ │ │ │ ├── volume_list.go │ │ │ │ ├── volume_prune.go │ │ │ │ └── volume_remove.go │ │ │ ├── daemon │ │ │ │ └── graphdriver │ │ │ │ │ ├── counter.go │ │ │ │ │ ├── driver.go │ │ │ │ │ ├── driver_freebsd.go │ │ │ │ │ ├── driver_linux.go │ │ │ │ │ ├── driver_solaris.go │ │ │ │ │ ├── driver_unsupported.go │ │ │ │ │ ├── driver_windows.go │ │ │ │ │ ├── fsdiff.go │ │ │ │ │ ├── plugin.go │ │ │ │ │ ├── plugin_unsupported.go │ │ │ │ │ └── proxy.go │ │ │ ├── image │ │ │ │ ├── fs.go │ │ │ │ ├── image.go │ │ │ │ ├── rootfs.go │ │ │ │ ├── store.go │ │ │ │ └── v1 │ │ │ │ │ └── imagev1.go │ │ │ ├── layer │ │ │ │ ├── empty.go │ │ │ │ ├── filestore.go │ │ │ │ ├── layer.go │ │ │ │ ├── layer_store.go │ │ │ │ ├── layer_store_windows.go │ │ │ │ ├── layer_unix.go │ │ │ │ ├── layer_windows.go │ │ │ │ ├── migration.go │ │ │ │ ├── mounted_layer.go │ │ │ │ ├── ro_layer.go │ │ │ │ └── ro_layer_windows.go │ │ │ ├── opts │ │ │ │ ├── hosts.go │ │ │ │ ├── hosts_unix.go │ │ │ │ ├── hosts_windows.go │ │ │ │ ├── ip.go │ │ │ │ ├── opts.go │ │ │ │ ├── opts_unix.go │ │ │ │ └── opts_windows.go │ │ │ ├── pkg │ │ │ │ ├── README.md │ │ │ │ ├── archive │ │ │ │ │ ├── README.md │ │ │ │ │ ├── archive.go │ │ │ │ │ ├── archive_linux.go │ │ │ │ │ ├── archive_other.go │ │ │ │ │ ├── archive_unix.go │ │ │ │ │ ├── archive_windows.go │ │ │ │ │ ├── changes.go │ │ │ │ │ ├── changes_linux.go │ │ │ │ │ ├── changes_other.go │ │ │ │ │ ├── changes_unix.go │ │ │ │ │ ├── changes_windows.go │ │ │ │ │ ├── copy.go │ │ │ │ │ ├── copy_unix.go │ │ │ │ │ ├── copy_windows.go │ │ │ │ │ ├── diff.go │ │ │ │ │ ├── example_changes.go │ │ │ │ │ ├── time_linux.go │ │ │ │ │ ├── time_unsupported.go │ │ │ │ │ ├── whiteouts.go │ │ │ │ │ └── wrap.go │ │ │ │ ├── chrootarchive │ │ │ │ │ ├── archive.go │ │ │ │ │ ├── archive_unix.go │ │ │ │ │ ├── archive_windows.go │ │ │ │ │ ├── chroot_linux.go │ │ │ │ │ ├── chroot_unix.go │ │ │ │ │ ├── diff.go │ │ │ │ │ ├── diff_unix.go │ │ │ │ │ ├── diff_windows.go │ │ │ │ │ ├── init_unix.go │ │ │ │ │ └── init_windows.go │ │ │ │ ├── fileutils │ │ │ │ │ ├── fileutils.go │ │ │ │ │ ├── fileutils_darwin.go │ │ │ │ │ ├── fileutils_solaris.go │ │ │ │ │ ├── fileutils_unix.go │ │ │ │ │ └── fileutils_windows.go │ │ │ │ ├── gitutils │ │ │ │ │ └── gitutils.go │ │ │ │ ├── homedir │ │ │ │ │ └── homedir.go │ │ │ │ ├── httputils │ │ │ │ │ ├── httputils.go │ │ │ │ │ ├── mimetype.go │ │ │ │ │ └── resumablerequestreader.go │ │ │ │ ├── idtools │ │ │ │ │ ├── idtools.go │ │ │ │ │ ├── idtools_unix.go │ │ │ │ │ ├── idtools_windows.go │ │ │ │ │ ├── usergroupadd_linux.go │ │ │ │ │ └── usergroupadd_unsupported.go │ │ │ │ ├── ioutils │ │ │ │ │ ├── buffer.go │ │ │ │ │ ├── bytespipe.go │ │ │ │ │ ├── fmt.go │ │ │ │ │ ├── fswriters.go │ │ │ │ │ ├── multireader.go │ │ │ │ │ ├── readers.go │ │ │ │ │ ├── temp_unix.go │ │ │ │ │ ├── temp_windows.go │ │ │ │ │ ├── writeflusher.go │ │ │ │ │ └── writers.go │ │ │ │ ├── jsonlog │ │ │ │ │ ├── jsonlog.go │ │ │ │ │ ├── jsonlog_marshalling.go │ │ │ │ │ ├── jsonlogbytes.go │ │ │ │ │ └── time_marshalling.go │ │ │ │ ├── jsonmessage │ │ │ │ │ └── jsonmessage.go │ │ │ │ ├── longpath │ │ │ │ │ └── longpath.go │ │ │ │ ├── mount │ │ │ │ │ ├── flags.go │ │ │ │ │ ├── flags_freebsd.go │ │ │ │ │ ├── flags_linux.go │ │ │ │ │ ├── flags_unsupported.go │ │ │ │ │ ├── mount.go │ │ │ │ │ ├── mounter_freebsd.go │ │ │ │ │ ├── mounter_linux.go │ │ │ │ │ ├── mounter_solaris.go │ │ │ │ │ ├── mounter_unsupported.go │ │ │ │ │ ├── mountinfo.go │ │ │ │ │ ├── mountinfo_freebsd.go │ │ │ │ │ ├── mountinfo_linux.go │ │ │ │ │ ├── mountinfo_solaris.go │ │ │ │ │ ├── mountinfo_unsupported.go │ │ │ │ │ ├── mountinfo_windows.go │ │ │ │ │ └── sharedsubtree_linux.go │ │ │ │ ├── plugingetter │ │ │ │ │ └── getter.go │ │ │ │ ├── plugins │ │ │ │ │ ├── client.go │ │ │ │ │ ├── discovery.go │ │ │ │ │ ├── discovery_unix.go │ │ │ │ │ ├── discovery_windows.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── plugins.go │ │ │ │ │ └── transport │ │ │ │ │ │ ├── http.go │ │ │ │ │ │ └── transport.go │ │ │ │ ├── pools │ │ │ │ │ └── pools.go │ │ │ │ ├── progress │ │ │ │ │ ├── progress.go │ │ │ │ │ └── progressreader.go │ │ │ │ ├── promise │ │ │ │ │ └── promise.go │ │ │ │ ├── random │ │ │ │ │ └── random.go │ │ │ │ ├── reexec │ │ │ │ │ ├── README.md │ │ │ │ │ ├── command_linux.go │ │ │ │ │ ├── command_unix.go │ │ │ │ │ ├── command_unsupported.go │ │ │ │ │ ├── command_windows.go │ │ │ │ │ └── reexec.go │ │ │ │ ├── signal │ │ │ │ │ ├── README.md │ │ │ │ │ ├── signal.go │ │ │ │ │ ├── signal_darwin.go │ │ │ │ │ ├── signal_freebsd.go │ │ │ │ │ ├── signal_linux.go │ │ │ │ │ ├── signal_solaris.go │ │ │ │ │ ├── signal_unix.go │ │ │ │ │ ├── signal_unsupported.go │ │ │ │ │ ├── signal_windows.go │ │ │ │ │ └── trap.go │ │ │ │ ├── stdcopy │ │ │ │ │ └── stdcopy.go │ │ │ │ ├── streamformatter │ │ │ │ │ └── streamformatter.go │ │ │ │ ├── stringid │ │ │ │ │ ├── README.md │ │ │ │ │ └── stringid.go │ │ │ │ ├── symlink │ │ │ │ │ ├── LICENSE.APACHE │ │ │ │ │ ├── LICENSE.BSD │ │ │ │ │ ├── README.md │ │ │ │ │ ├── fs.go │ │ │ │ │ ├── fs_unix.go │ │ │ │ │ └── fs_windows.go │ │ │ │ ├── system │ │ │ │ │ ├── chtimes.go │ │ │ │ │ ├── chtimes_unix.go │ │ │ │ │ ├── chtimes_windows.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── events_windows.go │ │ │ │ │ ├── filesys.go │ │ │ │ │ ├── filesys_windows.go │ │ │ │ │ ├── lstat.go │ │ │ │ │ ├── lstat_windows.go │ │ │ │ │ ├── meminfo.go │ │ │ │ │ ├── meminfo_linux.go │ │ │ │ │ ├── meminfo_solaris.go │ │ │ │ │ ├── meminfo_unsupported.go │ │ │ │ │ ├── meminfo_windows.go │ │ │ │ │ ├── mknod.go │ │ │ │ │ ├── mknod_windows.go │ │ │ │ │ ├── path_unix.go │ │ │ │ │ ├── path_windows.go │ │ │ │ │ ├── stat.go │ │ │ │ │ ├── stat_darwin.go │ │ │ │ │ ├── stat_freebsd.go │ │ │ │ │ ├── stat_linux.go │ │ │ │ │ ├── stat_openbsd.go │ │ │ │ │ ├── stat_solaris.go │ │ │ │ │ ├── stat_unsupported.go │ │ │ │ │ ├── stat_windows.go │ │ │ │ │ ├── syscall_unix.go │ │ │ │ │ ├── syscall_windows.go │ │ │ │ │ ├── umask.go │ │ │ │ │ ├── umask_windows.go │ │ │ │ │ ├── utimes_freebsd.go │ │ │ │ │ ├── utimes_linux.go │ │ │ │ │ ├── utimes_unsupported.go │ │ │ │ │ ├── xattrs_linux.go │ │ │ │ │ └── xattrs_unsupported.go │ │ │ │ ├── tarsum │ │ │ │ │ ├── builder_context.go │ │ │ │ │ ├── fileinfosums.go │ │ │ │ │ ├── tarsum.go │ │ │ │ │ ├── tarsum_spec.md │ │ │ │ │ ├── versioning.go │ │ │ │ │ └── writercloser.go │ │ │ │ ├── term │ │ │ │ │ ├── ascii.go │ │ │ │ │ ├── tc_linux_cgo.go │ │ │ │ │ ├── tc_other.go │ │ │ │ │ ├── tc_solaris_cgo.go │ │ │ │ │ ├── term.go │ │ │ │ │ ├── term_solaris.go │ │ │ │ │ ├── term_unix.go │ │ │ │ │ ├── term_windows.go │ │ │ │ │ ├── termios_darwin.go │ │ │ │ │ ├── termios_freebsd.go │ │ │ │ │ ├── termios_linux.go │ │ │ │ │ ├── termios_openbsd.go │ │ │ │ │ └── windows │ │ │ │ │ │ ├── ansi_reader.go │ │ │ │ │ │ ├── ansi_writer.go │ │ │ │ │ │ ├── console.go │ │ │ │ │ │ └── windows.go │ │ │ │ ├── tlsconfig │ │ │ │ │ ├── config.go │ │ │ │ │ ├── tlsconfig_clone.go │ │ │ │ │ ├── tlsconfig_clone_go16.go │ │ │ │ │ └── tlsconfig_clone_go17.go │ │ │ │ └── urlutil │ │ │ │ │ └── urlutil.go │ │ │ ├── reference │ │ │ │ ├── reference.go │ │ │ │ └── store.go │ │ │ ├── registry │ │ │ │ ├── auth.go │ │ │ │ ├── config.go │ │ │ │ ├── config_unix.go │ │ │ │ ├── config_windows.go │ │ │ │ ├── endpoint_v1.go │ │ │ │ ├── reference.go │ │ │ │ ├── registry.go │ │ │ │ ├── service.go │ │ │ │ ├── service_v1.go │ │ │ │ ├── service_v2.go │ │ │ │ ├── session.go │ │ │ │ └── types.go │ │ │ └── runconfig │ │ │ │ └── opts │ │ │ │ ├── envfile.go │ │ │ │ ├── opts.go │ │ │ │ ├── parse.go │ │ │ │ ├── runtime.go │ │ │ │ ├── throttledevice.go │ │ │ │ ├── ulimit.go │ │ │ │ └── weightdevice.go │ │ ├── go-connections │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── README.md │ │ │ ├── circle.yml │ │ │ ├── nat │ │ │ │ ├── nat.go │ │ │ │ ├── parse.go │ │ │ │ └── sort.go │ │ │ ├── sockets │ │ │ │ ├── README.md │ │ │ │ ├── inmem_socket.go │ │ │ │ ├── proxy.go │ │ │ │ ├── sockets.go │ │ │ │ ├── sockets_unix.go │ │ │ │ ├── sockets_windows.go │ │ │ │ ├── tcp_socket.go │ │ │ │ └── unix_socket.go │ │ │ └── tlsconfig │ │ │ │ ├── config.go │ │ │ │ ├── config_client_ciphers.go │ │ │ │ └── config_legacy_client_ciphers.go │ │ ├── go-units │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── README.md │ │ │ ├── circle.yml │ │ │ ├── duration.go │ │ │ ├── size.go │ │ │ └── ulimit.go │ │ └── libcompose │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── Jenkinsfile │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── cli │ │ │ ├── app │ │ │ │ ├── app.go │ │ │ │ ├── events.go │ │ │ │ ├── types.go │ │ │ │ └── version.go │ │ │ ├── command │ │ │ │ ├── command.go │ │ │ │ └── help.go │ │ │ └── logger │ │ │ │ ├── color_logger.go │ │ │ │ └── colors.go │ │ │ ├── config │ │ │ ├── convert.go │ │ │ ├── hash.go │ │ │ ├── interpolation.go │ │ │ ├── merge.go │ │ │ ├── merge_v1.go │ │ │ ├── merge_v2.go │ │ │ ├── schema.go │ │ │ ├── schema_helpers.go │ │ │ ├── types.go │ │ │ ├── utils.go │ │ │ └── validation.go │ │ │ ├── docker │ │ │ ├── auth │ │ │ │ └── auth.go │ │ │ ├── builder │ │ │ │ └── builder.go │ │ │ ├── client │ │ │ │ ├── client.go │ │ │ │ └── client_factory.go │ │ │ ├── container │ │ │ │ ├── container.go │ │ │ │ └── functions.go │ │ │ ├── ctx │ │ │ │ └── context.go │ │ │ ├── image │ │ │ │ └── image.go │ │ │ └── service │ │ │ │ ├── convert.go │ │ │ │ ├── name.go │ │ │ │ ├── service.go │ │ │ │ ├── service_create.go │ │ │ │ ├── service_factory.go │ │ │ │ └── utils.go │ │ │ ├── labels │ │ │ └── labels.go │ │ │ ├── logger │ │ │ ├── null.go │ │ │ ├── raw_logger.go │ │ │ └── types.go │ │ │ ├── lookup │ │ │ ├── composable.go │ │ │ ├── envfile.go │ │ │ ├── file.go │ │ │ └── simple_env.go │ │ │ ├── project │ │ │ ├── container.go │ │ │ ├── context.go │ │ │ ├── empty.go │ │ │ ├── events │ │ │ │ └── events.go │ │ │ ├── info.go │ │ │ ├── interface.go │ │ │ ├── listener.go │ │ │ ├── network.go │ │ │ ├── options │ │ │ │ └── types.go │ │ │ ├── project.go │ │ │ ├── project_build.go │ │ │ ├── project_config.go │ │ │ ├── project_containers.go │ │ │ ├── project_create.go │ │ │ ├── project_delete.go │ │ │ ├── project_down.go │ │ │ ├── project_events.go │ │ │ ├── project_kill.go │ │ │ ├── project_log.go │ │ │ ├── project_pause.go │ │ │ ├── project_port.go │ │ │ ├── project_ps.go │ │ │ ├── project_pull.go │ │ │ ├── project_restart.go │ │ │ ├── project_run.go │ │ │ ├── project_scale.go │ │ │ ├── project_start.go │ │ │ ├── project_stop.go │ │ │ ├── project_unpause.go │ │ │ ├── project_up.go │ │ │ ├── service-wrapper.go │ │ │ ├── service.go │ │ │ ├── utils.go │ │ │ └── volume.go │ │ │ ├── utils │ │ │ └── util.go │ │ │ ├── version │ │ │ └── version.go │ │ │ └── yaml │ │ │ ├── build.go │ │ │ ├── command.go │ │ │ ├── external.go │ │ │ ├── network.go │ │ │ ├── types_yaml.go │ │ │ ├── ulimit.go │ │ │ └── volume.go │ ├── fatih │ │ └── structs │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── field.go │ │ │ ├── structs.go │ │ │ └── tags.go │ ├── flynn │ │ └── go-shlex │ │ │ ├── COPYING │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ └── shlex.go │ ├── gorilla │ │ ├── context │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── context.go │ │ │ └── doc.go │ │ ├── mux │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── mux.go │ │ │ ├── regexp.go │ │ │ └── route.go │ │ └── websocket │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── client.go │ │ │ ├── conn.go │ │ │ ├── doc.go │ │ │ ├── json.go │ │ │ ├── server.go │ │ │ └── util.go │ ├── hashicorp │ │ └── go-version │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── constraint.go │ │ │ ├── version.go │ │ │ └── version_collection.go │ ├── opencontainers │ │ └── runc │ │ │ ├── .gitignore │ │ │ ├── .pullapprove.yml │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── MAINTAINERS_GUIDE.md │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── PRINCIPLES.md │ │ │ ├── README.md │ │ │ ├── VERSION │ │ │ └── libcontainer │ │ │ ├── README.md │ │ │ ├── SPEC.md │ │ │ ├── system │ │ │ ├── linux.go │ │ │ ├── proc.go │ │ │ ├── setns_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_64.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── sysconfig.go │ │ │ ├── sysconfig_notcgo.go │ │ │ ├── unsupported.go │ │ │ └── xattrs_linux.go │ │ │ └── user │ │ │ ├── MAINTAINERS │ │ │ ├── lookup.go │ │ │ ├── lookup_unix.go │ │ │ ├── lookup_unsupported.go │ │ │ └── user.go │ ├── pkg │ │ └── errors │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── errors.go │ │ │ └── stack.go │ ├── rancher │ │ ├── event-subscriber │ │ │ ├── .dockerignore │ │ │ ├── .drone.yml │ │ │ ├── .gitignore │ │ │ ├── Dockerfile.dapper │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── events │ │ │ │ ├── event.go │ │ │ │ ├── external_handler.go │ │ │ │ ├── listener.go │ │ │ │ ├── util.go │ │ │ │ ├── websocket_pings.go │ │ │ │ └── worker.go │ │ │ ├── locks │ │ │ │ └── locks.go │ │ │ └── trash.conf │ │ ├── go-rancher │ │ │ ├── .dockerignore │ │ │ ├── .drone.yml │ │ │ ├── .gitignore │ │ │ ├── Dockerfile.dapper │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── client │ │ │ │ ├── client.go │ │ │ │ ├── common.go │ │ │ │ ├── generated_account.go │ │ │ │ ├── generated_active_setting.go │ │ │ │ ├── generated_add_outputs_input.go │ │ │ │ ├── generated_add_remove_load_balancer_service_link_input.go │ │ │ │ ├── generated_add_remove_service_link_input.go │ │ │ │ ├── generated_agent.go │ │ │ │ ├── generated_amazonec2config.go │ │ │ │ ├── generated_api_key.go │ │ │ │ ├── generated_audit_log.go │ │ │ │ ├── generated_azure_config.go │ │ │ │ ├── generated_azureadconfig.go │ │ │ │ ├── generated_backup.go │ │ │ │ ├── generated_backup_target.go │ │ │ │ ├── generated_base_machine_config.go │ │ │ │ ├── generated_blkio_device_option.go │ │ │ │ ├── generated_certificate.go │ │ │ │ ├── generated_change_secret_input.go │ │ │ │ ├── generated_client.go │ │ │ │ ├── generated_compose_config.go │ │ │ │ ├── generated_compose_config_input.go │ │ │ │ ├── generated_compose_project.go │ │ │ │ ├── generated_compose_service.go │ │ │ │ ├── generated_config_item.go │ │ │ │ ├── generated_config_item_status.go │ │ │ │ ├── generated_container.go │ │ │ │ ├── generated_container_event.go │ │ │ │ ├── generated_container_exec.go │ │ │ │ ├── generated_container_logs.go │ │ │ │ ├── generated_container_proxy.go │ │ │ │ ├── generated_credential.go │ │ │ │ ├── generated_databasechangelog.go │ │ │ │ ├── generated_databasechangeloglock.go │ │ │ │ ├── generated_digitalocean_config.go │ │ │ │ ├── generated_dns_service.go │ │ │ │ ├── generated_docker_build.go │ │ │ │ ├── generated_dynamic_schema.go │ │ │ │ ├── generated_environment.go │ │ │ │ ├── generated_environment_upgrade.go │ │ │ │ ├── generated_extension_implementation.go │ │ │ │ ├── generated_extension_point.go │ │ │ │ ├── generated_external_dns_event.go │ │ │ │ ├── generated_external_event.go │ │ │ │ ├── generated_external_handler.go │ │ │ │ ├── generated_external_handler_external_handler_process_map.go │ │ │ │ ├── generated_external_handler_process.go │ │ │ │ ├── generated_external_handler_process_config.go │ │ │ │ ├── generated_external_host_event.go │ │ │ │ ├── generated_external_service.go │ │ │ │ ├── generated_external_service_event.go │ │ │ │ ├── generated_external_storage_pool_event.go │ │ │ │ ├── generated_external_volume_event.go │ │ │ │ ├── generated_field_documentation.go │ │ │ │ ├── generated_githubconfig.go │ │ │ │ ├── generated_ha_config.go │ │ │ │ ├── generated_ha_config_input.go │ │ │ │ ├── generated_haproxy_config.go │ │ │ │ ├── generated_healthcheck_instance_host_map.go │ │ │ │ ├── generated_host.go │ │ │ │ ├── generated_host_access.go │ │ │ │ ├── generated_host_api_proxy_token.go │ │ │ │ ├── generated_identity.go │ │ │ │ ├── generated_image.go │ │ │ │ ├── generated_in_service_upgrade_strategy.go │ │ │ │ ├── generated_instance.go │ │ │ │ ├── generated_instance_console.go │ │ │ │ ├── generated_instance_console_input.go │ │ │ │ ├── generated_instance_health_check.go │ │ │ │ ├── generated_instance_link.go │ │ │ │ ├── generated_instance_stop.go │ │ │ │ ├── generated_ip_address.go │ │ │ │ ├── generated_ip_address_associate_input.go │ │ │ │ ├── generated_kubernetes_service.go │ │ │ │ ├── generated_kubernetes_stack.go │ │ │ │ ├── generated_kubernetes_stack_upgrade.go │ │ │ │ ├── generated_label.go │ │ │ │ ├── generated_launch_config.go │ │ │ │ ├── generated_ldapconfig.go │ │ │ │ ├── generated_load_balancer_app_cookie_stickiness_policy.go │ │ │ │ ├── generated_load_balancer_config.go │ │ │ │ ├── generated_load_balancer_cookie_stickiness_policy.go │ │ │ │ ├── generated_load_balancer_service.go │ │ │ │ ├── generated_load_balancer_service_link.go │ │ │ │ ├── generated_local_auth_config.go │ │ │ │ ├── generated_log_config.go │ │ │ │ ├── generated_machine.go │ │ │ │ ├── generated_machine_driver.go │ │ │ │ ├── generated_mount.go │ │ │ │ ├── generated_network.go │ │ │ │ ├── generated_nfs_config.go │ │ │ │ ├── generated_openldapconfig.go │ │ │ │ ├── generated_packet_config.go │ │ │ │ ├── generated_password.go │ │ │ │ ├── generated_physical_host.go │ │ │ │ ├── generated_port.go │ │ │ │ ├── generated_process_definition.go │ │ │ │ ├── generated_process_execution.go │ │ │ │ ├── generated_process_instance.go │ │ │ │ ├── generated_project.go │ │ │ │ ├── generated_project_member.go │ │ │ │ ├── generated_public_endpoint.go │ │ │ │ ├── generated_publish.go │ │ │ │ ├── generated_pull_task.go │ │ │ │ ├── generated_recreate_on_quorum_strategy_config.go │ │ │ │ ├── generated_register.go │ │ │ │ ├── generated_registration_token.go │ │ │ │ ├── generated_registry.go │ │ │ │ ├── generated_registry_credential.go │ │ │ │ ├── generated_resource_definition.go │ │ │ │ ├── generated_restart_policy.go │ │ │ │ ├── generated_restore_from_backup_input.go │ │ │ │ ├── generated_revert_to_snapshot_input.go │ │ │ │ ├── generated_rolling_restart_strategy.go │ │ │ │ ├── generated_scale_policy.go │ │ │ │ ├── generated_secondary_launch_config.go │ │ │ │ ├── generated_service.go │ │ │ │ ├── generated_service_consume_map.go │ │ │ │ ├── generated_service_event.go │ │ │ │ ├── generated_service_expose_map.go │ │ │ │ ├── generated_service_link.go │ │ │ │ ├── generated_service_proxy.go │ │ │ │ ├── generated_service_restart.go │ │ │ │ ├── generated_service_upgrade.go │ │ │ │ ├── generated_service_upgrade_strategy.go │ │ │ │ ├── generated_services_port_range.go │ │ │ │ ├── generated_set_labels_input.go │ │ │ │ ├── generated_set_load_balancer_service_links_input.go │ │ │ │ ├── generated_set_project_members_input.go │ │ │ │ ├── generated_set_service_links_input.go │ │ │ │ ├── generated_setting.go │ │ │ │ ├── generated_snapshot.go │ │ │ │ ├── generated_snapshot_backup_input.go │ │ │ │ ├── generated_state_transition.go │ │ │ │ ├── generated_stats_access.go │ │ │ │ ├── generated_storage_pool.go │ │ │ │ ├── generated_subscribe.go │ │ │ │ ├── generated_task.go │ │ │ │ ├── generated_task_instance.go │ │ │ │ ├── generated_to_service_upgrade_strategy.go │ │ │ │ ├── generated_type_documentation.go │ │ │ │ ├── generated_virtual_machine.go │ │ │ │ ├── generated_virtual_machine_disk.go │ │ │ │ ├── generated_volume.go │ │ │ │ ├── generated_volume_snapshot_input.go │ │ │ │ ├── schemas.go │ │ │ │ └── types.go │ │ │ ├── hostaccess │ │ │ │ └── instance.go │ │ │ ├── trash.conf │ │ │ └── v2 │ │ │ │ ├── client.go │ │ │ │ ├── common.go │ │ │ │ ├── generated_account.go │ │ │ │ ├── generated_active_setting.go │ │ │ │ ├── generated_add_outputs_input.go │ │ │ │ ├── generated_add_remove_service_link_input.go │ │ │ │ ├── generated_agent.go │ │ │ │ ├── generated_amazonec2config.go │ │ │ │ ├── generated_api_key.go │ │ │ │ ├── generated_audit_log.go │ │ │ │ ├── generated_azure_config.go │ │ │ │ ├── generated_azureadconfig.go │ │ │ │ ├── generated_backup.go │ │ │ │ ├── generated_backup_target.go │ │ │ │ ├── generated_base_machine_config.go │ │ │ │ ├── generated_binding.go │ │ │ │ ├── generated_blkio_device_option.go │ │ │ │ ├── generated_catalog_template.go │ │ │ │ ├── generated_certificate.go │ │ │ │ ├── generated_change_secret_input.go │ │ │ │ ├── generated_client.go │ │ │ │ ├── generated_compose_config.go │ │ │ │ ├── generated_compose_config_input.go │ │ │ │ ├── generated_compose_project.go │ │ │ │ ├── generated_compose_service.go │ │ │ │ ├── generated_config_item.go │ │ │ │ ├── generated_config_item_status.go │ │ │ │ ├── generated_container.go │ │ │ │ ├── generated_container_event.go │ │ │ │ ├── generated_container_exec.go │ │ │ │ ├── generated_container_logs.go │ │ │ │ ├── generated_container_proxy.go │ │ │ │ ├── generated_credential.go │ │ │ │ ├── generated_databasechangelog.go │ │ │ │ ├── generated_databasechangeloglock.go │ │ │ │ ├── generated_default_network.go │ │ │ │ ├── generated_digitalocean_config.go │ │ │ │ ├── generated_dns_service.go │ │ │ │ ├── generated_docker_build.go │ │ │ │ ├── generated_dynamic_schema.go │ │ │ │ ├── generated_extension_implementation.go │ │ │ │ ├── generated_extension_point.go │ │ │ │ ├── generated_external_dns_event.go │ │ │ │ ├── generated_external_event.go │ │ │ │ ├── generated_external_handler.go │ │ │ │ ├── generated_external_handler_external_handler_process_map.go │ │ │ │ ├── generated_external_handler_process.go │ │ │ │ ├── generated_external_handler_process_config.go │ │ │ │ ├── generated_external_host_event.go │ │ │ │ ├── generated_external_service.go │ │ │ │ ├── generated_external_service_event.go │ │ │ │ ├── generated_external_storage_pool_event.go │ │ │ │ ├── generated_external_volume_event.go │ │ │ │ ├── generated_field_documentation.go │ │ │ │ ├── generated_ha_config.go │ │ │ │ ├── generated_ha_config_input.go │ │ │ │ ├── generated_healthcheck_instance_host_map.go │ │ │ │ ├── generated_host.go │ │ │ │ ├── generated_host_access.go │ │ │ │ ├── generated_host_api_proxy_token.go │ │ │ │ ├── generated_identity.go │ │ │ │ ├── generated_image.go │ │ │ │ ├── generated_in_service_upgrade_strategy.go │ │ │ │ ├── generated_instance.go │ │ │ │ ├── generated_instance_console.go │ │ │ │ ├── generated_instance_console_input.go │ │ │ │ ├── generated_instance_health_check.go │ │ │ │ ├── generated_instance_link.go │ │ │ │ ├── generated_instance_stop.go │ │ │ │ ├── generated_ip_address.go │ │ │ │ ├── generated_ip_address_associate_input.go │ │ │ │ ├── generated_kubernetes_service.go │ │ │ │ ├── generated_kubernetes_stack.go │ │ │ │ ├── generated_kubernetes_stack_upgrade.go │ │ │ │ ├── generated_label.go │ │ │ │ ├── generated_launch_config.go │ │ │ │ ├── generated_lb_config.go │ │ │ │ ├── generated_lb_target_config.go │ │ │ │ ├── generated_ldapconfig.go │ │ │ │ ├── generated_load_balancer_cookie_stickiness_policy.go │ │ │ │ ├── generated_load_balancer_service.go │ │ │ │ ├── generated_local_auth_config.go │ │ │ │ ├── generated_log_config.go │ │ │ │ ├── generated_machine.go │ │ │ │ ├── generated_machine_driver.go │ │ │ │ ├── generated_mount.go │ │ │ │ ├── generated_network.go │ │ │ │ ├── generated_network_driver.go │ │ │ │ ├── generated_network_driver_service.go │ │ │ │ ├── generated_nfs_config.go │ │ │ │ ├── generated_openldapconfig.go │ │ │ │ ├── generated_packet_config.go │ │ │ │ ├── generated_password.go │ │ │ │ ├── generated_physical_host.go │ │ │ │ ├── generated_port.go │ │ │ │ ├── generated_port_rule.go │ │ │ │ ├── generated_process_definition.go │ │ │ │ ├── generated_process_execution.go │ │ │ │ ├── generated_process_instance.go │ │ │ │ ├── generated_project.go │ │ │ │ ├── generated_project_member.go │ │ │ │ ├── generated_project_template.go │ │ │ │ ├── generated_public_endpoint.go │ │ │ │ ├── generated_publish.go │ │ │ │ ├── generated_pull_task.go │ │ │ │ ├── generated_recreate_on_quorum_strategy_config.go │ │ │ │ ├── generated_register.go │ │ │ │ ├── generated_registration_token.go │ │ │ │ ├── generated_registry.go │ │ │ │ ├── generated_registry_credential.go │ │ │ │ ├── generated_resource_definition.go │ │ │ │ ├── generated_restart_policy.go │ │ │ │ ├── generated_restore_from_backup_input.go │ │ │ │ ├── generated_revert_to_snapshot_input.go │ │ │ │ ├── generated_rolling_restart_strategy.go │ │ │ │ ├── generated_scale_policy.go │ │ │ │ ├── generated_secondary_launch_config.go │ │ │ │ ├── generated_service.go │ │ │ │ ├── generated_service_binding.go │ │ │ │ ├── generated_service_consume_map.go │ │ │ │ ├── generated_service_event.go │ │ │ │ ├── generated_service_expose_map.go │ │ │ │ ├── generated_service_link.go │ │ │ │ ├── generated_service_log.go │ │ │ │ ├── generated_service_proxy.go │ │ │ │ ├── generated_service_restart.go │ │ │ │ ├── generated_service_upgrade.go │ │ │ │ ├── generated_service_upgrade_strategy.go │ │ │ │ ├── generated_services_port_range.go │ │ │ │ ├── generated_set_project_members_input.go │ │ │ │ ├── generated_set_service_links_input.go │ │ │ │ ├── generated_setting.go │ │ │ │ ├── generated_snapshot.go │ │ │ │ ├── generated_snapshot_backup_input.go │ │ │ │ ├── generated_stack.go │ │ │ │ ├── generated_stack_upgrade.go │ │ │ │ ├── generated_state_transition.go │ │ │ │ ├── generated_stats_access.go │ │ │ │ ├── generated_storage_driver.go │ │ │ │ ├── generated_storage_driver_service.go │ │ │ │ ├── generated_storage_pool.go │ │ │ │ ├── generated_subnet.go │ │ │ │ ├── generated_subscribe.go │ │ │ │ ├── generated_target_port_rule.go │ │ │ │ ├── generated_task.go │ │ │ │ ├── generated_task_instance.go │ │ │ │ ├── generated_to_service_upgrade_strategy.go │ │ │ │ ├── generated_type_documentation.go │ │ │ │ ├── generated_ulimit.go │ │ │ │ ├── generated_virtual_machine.go │ │ │ │ ├── generated_virtual_machine_disk.go │ │ │ │ ├── generated_volume.go │ │ │ │ ├── generated_volume_activate_input.go │ │ │ │ ├── generated_volume_snapshot_input.go │ │ │ │ ├── generated_volume_template.go │ │ │ │ ├── schemas.go │ │ │ │ └── types.go │ │ └── rancher-catalog-service │ │ │ ├── .dockerignore │ │ │ ├── .drone.yml │ │ │ ├── .gitignore │ │ │ ├── Dockerfile.dapper │ │ │ ├── README.md │ │ │ └── model │ │ │ ├── rancher_compose.go │ │ │ ├── template.go │ │ │ └── upgrade_info.go │ ├── spf13 │ │ └── pflag │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bool.go │ │ │ ├── count.go │ │ │ ├── duration.go │ │ │ ├── flag.go │ │ │ ├── float32.go │ │ │ ├── float64.go │ │ │ ├── golangflag.go │ │ │ ├── int.go │ │ │ ├── int32.go │ │ │ ├── int64.go │ │ │ ├── int8.go │ │ │ ├── int_slice.go │ │ │ ├── ip.go │ │ │ ├── ipmask.go │ │ │ ├── ipnet.go │ │ │ ├── string.go │ │ │ ├── string_slice.go │ │ │ ├── uint.go │ │ │ ├── uint16.go │ │ │ ├── uint32.go │ │ │ ├── uint64.go │ │ │ └── uint8.go │ ├── urfave │ │ └── cli │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── app.go │ │ │ ├── appveyor.yml │ │ │ ├── category.go │ │ │ ├── cli.go │ │ │ ├── command.go │ │ │ ├── context.go │ │ │ ├── errors.go │ │ │ ├── flag.go │ │ │ ├── funcs.go │ │ │ ├── help.go │ │ │ └── runtests │ ├── vaughan0 │ │ └── go-ini │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── ini.go │ │ │ └── test.ini │ ├── vbatts │ │ └── tar-split │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── archive │ │ │ └── tar │ │ │ │ ├── common.go │ │ │ │ ├── reader.go │ │ │ │ ├── stat_atim.go │ │ │ │ ├── stat_atimespec.go │ │ │ │ ├── stat_unix.go │ │ │ │ └── writer.go │ │ │ └── tar │ │ │ ├── asm │ │ │ ├── README.md │ │ │ ├── assemble.go │ │ │ ├── disassemble.go │ │ │ └── doc.go │ │ │ └── storage │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── getter.go │ │ │ └── packer.go │ └── xeipuuv │ │ ├── gojsonpointer │ │ ├── LICENSE-APACHE-2.0.txt │ │ ├── README.md │ │ └── pointer.go │ │ ├── gojsonreference │ │ ├── LICENSE-APACHE-2.0.txt │ │ ├── README.md │ │ └── reference.go │ │ └── gojsonschema │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE-APACHE-2.0.txt │ │ ├── README.md │ │ ├── errors.go │ │ ├── format_checkers.go │ │ ├── internalLog.go │ │ ├── jsonContext.go │ │ ├── jsonLoader.go │ │ ├── locales.go │ │ ├── result.go │ │ ├── schema.go │ │ ├── schemaPool.go │ │ ├── schemaReferencePool.go │ │ ├── schemaType.go │ │ ├── subSchema.go │ │ ├── types.go │ │ ├── utils.go │ │ └── validation.go ├── golang.org │ └── x │ │ ├── crypto │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── codereview.cfg │ │ └── ssh │ │ │ └── terminal │ │ │ ├── terminal.go │ │ │ ├── util.go │ │ │ ├── util_bsd.go │ │ │ ├── util_linux.go │ │ │ └── util_windows.go │ │ ├── net │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── codereview.cfg │ │ ├── context │ │ │ ├── context.go │ │ │ └── ctxhttp │ │ │ │ ├── cancelreq.go │ │ │ │ ├── cancelreq_go14.go │ │ │ │ └── ctxhttp.go │ │ └── proxy │ │ │ ├── direct.go │ │ │ ├── per_host.go │ │ │ ├── proxy.go │ │ │ └── socks5.go │ │ ├── sys │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── codereview.cfg │ │ ├── unix │ │ │ ├── .gitignore │ │ │ ├── asm.s │ │ │ ├── asm_darwin_386.s │ │ │ ├── asm_darwin_amd64.s │ │ │ ├── asm_darwin_arm.s │ │ │ ├── asm_darwin_arm64.s │ │ │ ├── asm_dragonfly_386.s │ │ │ ├── asm_dragonfly_amd64.s │ │ │ ├── asm_freebsd_386.s │ │ │ ├── asm_freebsd_amd64.s │ │ │ ├── asm_freebsd_arm.s │ │ │ ├── asm_linux_386.s │ │ │ ├── asm_linux_amd64.s │ │ │ ├── asm_linux_arm.s │ │ │ ├── asm_linux_arm64.s │ │ │ ├── asm_linux_ppc64x.s │ │ │ ├── asm_netbsd_386.s │ │ │ ├── asm_netbsd_amd64.s │ │ │ ├── asm_netbsd_arm.s │ │ │ ├── asm_openbsd_386.s │ │ │ ├── asm_openbsd_amd64.s │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── constants.go │ │ │ ├── env_unix.go │ │ │ ├── env_unset.go │ │ │ ├── flock.go │ │ │ ├── flock_linux_32bit.go │ │ │ ├── gccgo.go │ │ │ ├── gccgo_c.c │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── mkall.sh │ │ │ ├── mkerrors.sh │ │ │ ├── mksyscall.pl │ │ │ ├── mksyscall_solaris.pl │ │ │ ├── mksysctl_openbsd.pl │ │ │ ├── mksysnum_darwin.pl │ │ │ ├── mksysnum_dragonfly.pl │ │ │ ├── mksysnum_freebsd.pl │ │ │ ├── mksysnum_linux.pl │ │ │ ├── mksysnum_netbsd.pl │ │ │ ├── mksysnum_openbsd.pl │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── sockcmsg_linux.go │ │ │ ├── sockcmsg_unix.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_bsd.go │ │ │ ├── syscall_darwin.go │ │ │ ├── syscall_darwin_386.go │ │ │ ├── syscall_darwin_amd64.go │ │ │ ├── syscall_darwin_arm.go │ │ │ ├── syscall_darwin_arm64.go │ │ │ ├── syscall_dragonfly.go │ │ │ ├── syscall_dragonfly_386.go │ │ │ ├── syscall_dragonfly_amd64.go │ │ │ ├── syscall_freebsd.go │ │ │ ├── syscall_freebsd_386.go │ │ │ ├── syscall_freebsd_amd64.go │ │ │ ├── syscall_freebsd_arm.go │ │ │ ├── syscall_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_amd64.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── syscall_linux_arm64.go │ │ │ ├── syscall_linux_ppc64x.go │ │ │ ├── syscall_netbsd.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── syscall_no_getwd.go │ │ │ ├── syscall_openbsd.go │ │ │ ├── syscall_openbsd_386.go │ │ │ ├── syscall_openbsd_amd64.go │ │ │ ├── syscall_solaris.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── syscall_unix.go │ │ │ ├── types_darwin.go │ │ │ ├── types_dragonfly.go │ │ │ ├── types_freebsd.go │ │ │ ├── types_linux.go │ │ │ ├── types_netbsd.go │ │ │ ├── types_openbsd.go │ │ │ ├── types_solaris.go │ │ │ ├── zerrors_darwin_386.go │ │ │ ├── zerrors_darwin_amd64.go │ │ │ ├── zerrors_darwin_arm.go │ │ │ ├── zerrors_darwin_arm64.go │ │ │ ├── zerrors_dragonfly_386.go │ │ │ ├── zerrors_dragonfly_amd64.go │ │ │ ├── zerrors_freebsd_386.go │ │ │ ├── zerrors_freebsd_amd64.go │ │ │ ├── zerrors_freebsd_arm.go │ │ │ ├── zerrors_linux_386.go │ │ │ ├── zerrors_linux_amd64.go │ │ │ ├── zerrors_linux_arm.go │ │ │ ├── zerrors_linux_arm64.go │ │ │ ├── zerrors_linux_ppc64.go │ │ │ ├── zerrors_linux_ppc64le.go │ │ │ ├── zerrors_netbsd_386.go │ │ │ ├── zerrors_netbsd_amd64.go │ │ │ ├── zerrors_netbsd_arm.go │ │ │ ├── zerrors_openbsd_386.go │ │ │ ├── zerrors_openbsd_amd64.go │ │ │ ├── zerrors_solaris_amd64.go │ │ │ ├── zsyscall_darwin_386.go │ │ │ ├── zsyscall_darwin_amd64.go │ │ │ ├── zsyscall_darwin_arm.go │ │ │ ├── zsyscall_darwin_arm64.go │ │ │ ├── zsyscall_dragonfly_386.go │ │ │ ├── zsyscall_dragonfly_amd64.go │ │ │ ├── zsyscall_freebsd_386.go │ │ │ ├── zsyscall_freebsd_amd64.go │ │ │ ├── zsyscall_freebsd_arm.go │ │ │ ├── zsyscall_linux_386.go │ │ │ ├── zsyscall_linux_amd64.go │ │ │ ├── zsyscall_linux_arm.go │ │ │ ├── zsyscall_linux_arm64.go │ │ │ ├── zsyscall_linux_ppc64.go │ │ │ ├── zsyscall_linux_ppc64le.go │ │ │ ├── zsyscall_netbsd_386.go │ │ │ ├── zsyscall_netbsd_amd64.go │ │ │ ├── zsyscall_netbsd_arm.go │ │ │ ├── zsyscall_openbsd_386.go │ │ │ ├── zsyscall_openbsd_amd64.go │ │ │ ├── zsyscall_solaris_amd64.go │ │ │ ├── zsysctl_openbsd.go │ │ │ ├── zsysnum_darwin_386.go │ │ │ ├── zsysnum_darwin_amd64.go │ │ │ ├── zsysnum_darwin_arm.go │ │ │ ├── zsysnum_darwin_arm64.go │ │ │ ├── zsysnum_dragonfly_386.go │ │ │ ├── zsysnum_dragonfly_amd64.go │ │ │ ├── zsysnum_freebsd_386.go │ │ │ ├── zsysnum_freebsd_amd64.go │ │ │ ├── zsysnum_freebsd_arm.go │ │ │ ├── zsysnum_linux_386.go │ │ │ ├── zsysnum_linux_amd64.go │ │ │ ├── zsysnum_linux_arm.go │ │ │ ├── zsysnum_linux_arm64.go │ │ │ ├── zsysnum_linux_ppc64.go │ │ │ ├── zsysnum_linux_ppc64le.go │ │ │ ├── zsysnum_netbsd_386.go │ │ │ ├── zsysnum_netbsd_amd64.go │ │ │ ├── zsysnum_netbsd_arm.go │ │ │ ├── zsysnum_openbsd_386.go │ │ │ ├── zsysnum_openbsd_amd64.go │ │ │ ├── zsysnum_solaris_amd64.go │ │ │ ├── ztypes_darwin_386.go │ │ │ ├── ztypes_darwin_amd64.go │ │ │ ├── ztypes_darwin_arm.go │ │ │ ├── ztypes_darwin_arm64.go │ │ │ ├── ztypes_dragonfly_386.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_linux_386.go │ │ │ ├── ztypes_linux_amd64.go │ │ │ ├── ztypes_linux_arm.go │ │ │ ├── ztypes_linux_arm64.go │ │ │ ├── ztypes_linux_ppc64.go │ │ │ ├── ztypes_linux_ppc64le.go │ │ │ ├── ztypes_netbsd_386.go │ │ │ ├── ztypes_netbsd_amd64.go │ │ │ ├── ztypes_netbsd_arm.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ └── ztypes_solaris_amd64.go │ │ └── windows │ │ │ ├── asm.s │ │ │ ├── asm_windows_386.s │ │ │ ├── asm_windows_amd64.s │ │ │ ├── dll_windows.go │ │ │ ├── env_unset.go │ │ │ ├── env_windows.go │ │ │ ├── eventlog.go │ │ │ ├── exec_windows.go │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── security_windows.go │ │ │ ├── service.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_windows.go │ │ │ ├── zsyscall_windows.go │ │ │ ├── ztypes_windows.go │ │ │ ├── ztypes_windows_386.go │ │ │ └── ztypes_windows_amd64.go │ │ └── time │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ └── rate │ │ └── rate.go └── gopkg.in │ └── yaml.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go └── version └── version.go /.dockerignore: -------------------------------------------------------------------------------- 1 | ./bin 2 | ./.dapper 3 | ./dist 4 | ./.trash-cache 5 | ./.gpath 6 | -------------------------------------------------------------------------------- /.drone.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pipeline: 3 | build: 4 | privileged: true 5 | image: rancher/dapper:1.10.3 6 | volumes: 7 | - /var/run/docker.sock:/var/run/docker.sock 8 | commands: 9 | - dapper ci 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.swp 3 | 4 | .idea 5 | 6 | /.dapper 7 | /.gpath 8 | /.trash-cache 9 | /bin 10 | /build 11 | /dist 12 | /gopath 13 | /tests/integration/.tox 14 | /tests/integration/.venv 15 | /tests/integration/MANIFEST 16 | 17 | __pycache__ 18 | -------------------------------------------------------------------------------- /Dockerfile.dapper: -------------------------------------------------------------------------------- 1 | FROM golang:1.7.3 2 | RUN go get github.com/rancher/trash 3 | RUN go get github.com/golang/lint/golint 4 | RUN curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.9.1 > /usr/bin/docker && \ 5 | chmod +x /usr/bin/docker 6 | RUN apt-get update && \ 7 | apt-get install -y --no-install-recommends default-jre python-pip zip xz-utils rsync 8 | RUN pip install --upgrade pip==6.0.3 tox==1.8.1 virtualenv==12.0.4 9 | ENV PATH /go/bin:$PATH 10 | ENV DAPPER_SOURCE /go/src/github.com/rancher/rancher-compose 11 | ENV DAPPER_OUTPUT bin dist 12 | ENV DAPPER_DOCKER_SOCKET true 13 | ENV DAPPER_ENV TAG REPO CROSS 14 | ENV TRASH_CACHE ${DAPPER_SOURCE}/.trash-cache 15 | WORKDIR ${DAPPER_SOURCE} 16 | ENTRYPOINT ["./scripts/entry"] 17 | CMD ["ci"] 18 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | TARGETS := $(shell ls scripts) 2 | 3 | .dapper: 4 | @echo Downloading dapper 5 | @curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp 6 | @@chmod +x .dapper.tmp 7 | @./.dapper.tmp -v 8 | @mv .dapper.tmp .dapper 9 | 10 | $(TARGETS): .dapper 11 | ./.dapper $@ 12 | 13 | trash: .dapper 14 | ./.dapper -m bind trash 15 | 16 | trash-keep: .dapper 17 | ./.dapper -m bind trash -k 18 | 19 | deps: trash 20 | 21 | .DEFAULT_GOAL := ci 22 | 23 | .PHONY: $(TARGETS) 24 | -------------------------------------------------------------------------------- /executor/handlers/log.go: -------------------------------------------------------------------------------- 1 | package handlers 2 | 3 | import ( 4 | "bytes" 5 | 6 | "github.com/Sirupsen/logrus" 7 | "github.com/docker/libcompose/project" 8 | "github.com/docker/libcompose/project/events" 9 | ) 10 | 11 | func NewListenLogger(logger *logrus.Entry, p *project.Project) chan<- events.Event { 12 | listenChan := make(chan events.Event) 13 | go func() { 14 | for event := range listenChan { 15 | buffer := bytes.NewBuffer(nil) 16 | if event.Data != nil { 17 | for k, v := range event.Data { 18 | if buffer.Len() > 0 { 19 | buffer.WriteString(", ") 20 | } 21 | buffer.WriteString(k) 22 | buffer.WriteString("=") 23 | buffer.WriteString(v) 24 | } 25 | } 26 | 27 | logger.Infof("[%s:%s]: %s %s", p.Name, event.ServiceName, event.EventType, buffer.Bytes()) 28 | } 29 | }() 30 | return listenChan 31 | } 32 | -------------------------------------------------------------------------------- /generate.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | //go:generate go run scripts/inline_schema.go 4 | -------------------------------------------------------------------------------- /lookup/file.go: -------------------------------------------------------------------------------- 1 | package lookup 2 | 3 | import ( 4 | "path/filepath" 5 | "strings" 6 | 7 | log "github.com/Sirupsen/logrus" 8 | "github.com/docker/libcompose/lookup" 9 | ) 10 | 11 | type FileResourceLookup struct { 12 | lookup.FileResourceLookup 13 | } 14 | 15 | // Give a warning rather than resolve relative paths 16 | func (f *FileResourceLookup) ResolvePath(path, inFile string) string { 17 | vs := strings.SplitN(path, ":", 2) 18 | if len(vs) == 2 && !filepath.IsAbs(vs[0]) { 19 | log.Warnf("Rancher Compose will not resolve relative path %s", vs[0]) 20 | } 21 | return path 22 | } 23 | -------------------------------------------------------------------------------- /lookup/map_env.go: -------------------------------------------------------------------------------- 1 | package lookup 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/docker/libcompose/config" 7 | ) 8 | 9 | type MapEnvLookup struct { 10 | Env map[string]interface{} 11 | } 12 | 13 | func (m *MapEnvLookup) Lookup(key string, config *config.ServiceConfig) []string { 14 | if v, ok := m.Env[key]; ok { 15 | return []string{fmt.Sprintf("%s=%v", key, v)} 16 | } 17 | return []string{} 18 | } 19 | -------------------------------------------------------------------------------- /rancher/container.go: -------------------------------------------------------------------------------- 1 | package rancher 2 | 3 | import ( 4 | "github.com/docker/libcompose/project" 5 | "golang.org/x/net/context" 6 | ) 7 | 8 | type Container struct { 9 | id, name string 10 | } 11 | 12 | func NewContainer(id, name string) *Container { 13 | return &Container{ 14 | id: id, 15 | name: name, 16 | } 17 | } 18 | 19 | func (c *Container) ID() (string, error) { 20 | return c.id, nil 21 | } 22 | 23 | func (c *Container) Name() string { 24 | return c.name 25 | } 26 | 27 | // TODO implement 28 | func (c *Container) Port(ctx context.Context, port string) (string, error) { 29 | return "", project.ErrUnsupported 30 | } 31 | 32 | // TODO implement 33 | func (c *Container) IsRunning(ctx context.Context) (bool, error) { 34 | return false, project.ErrUnsupported 35 | } 36 | -------------------------------------------------------------------------------- /rancher/factory.go: -------------------------------------------------------------------------------- 1 | package rancher 2 | 3 | import "github.com/rancher/rancher-compose/digest" 4 | 5 | type Factory interface { 6 | Hash(service *RancherService) (digest.ServiceHash, error) 7 | Create(service *RancherService) error 8 | Upgrade(r *RancherService, force bool, selected []string) error 9 | Rollback(r *RancherService) error 10 | } 11 | 12 | func GetFactory(service *RancherService) (Factory, error) { 13 | return &NormalFactory{}, nil 14 | } 15 | -------------------------------------------------------------------------------- /rancher/service_factory.go: -------------------------------------------------------------------------------- 1 | package rancher 2 | 3 | import ( 4 | "github.com/docker/libcompose/config" 5 | "github.com/docker/libcompose/project" 6 | ) 7 | 8 | type RancherServiceFactory struct { 9 | Context *Context 10 | } 11 | 12 | func (r *RancherServiceFactory) Create(project *project.Project, name string, serviceConfig *config.ServiceConfig) (project.Service, error) { 13 | if len(r.Context.SidekickInfo.sidekickToPrimaries[name]) > 0 { 14 | return NewSidekick(name, serviceConfig, r.Context), nil 15 | } else { 16 | return NewService(name, serviceConfig, r.Context), nil 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [ ! $(command -v java) ]; then 5 | apt-get update 6 | apt-get install -y --no-install-recommends default-jre 7 | fi 8 | 9 | if [ ! $(command -v tox) ]; then 10 | apt-get install -y --no-install-recommends python-pip 11 | pip install --upgrade pip==6.0.3 tox==1.8.1 virtualenv==12.0.4 12 | fi 13 | 14 | if [ ! $(command -v zip) ]; then 15 | apt-get install -y --no-install-recommends zip xz-utils 16 | fi 17 | 18 | if [ ! $(command -v rsync) ]; then 19 | apt-get install -y --no-install-recommends rsync 20 | fi 21 | -------------------------------------------------------------------------------- /scripts/ci: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | cd $(dirname $0)/.. 5 | 6 | export PATH=$GOPATH/bin:$PATH 7 | 8 | ./scripts/clean 9 | CROSS=true ./scripts/build 10 | ./scripts/run-cattle 11 | ./scripts/test 12 | ./scripts/validate 13 | ./scripts/package 14 | -------------------------------------------------------------------------------- /scripts/clean: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd $(dirname $0)/.. 4 | 5 | rm -rf build dist bin gopath 6 | find tests -name "*.pyc" -exec rm {} \; 7 | rm -rf tests/integration/{.venv,.tox} 8 | -------------------------------------------------------------------------------- /scripts/copy-latest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | gsutil -m rsync -r dist/artifacts/latest/ gs://releases.rancher.com/compose/latest 3 | -------------------------------------------------------------------------------- /scripts/copy-release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | gsutil -m cp -r dist/artifacts/v* gs://releases.rancher.com/compose 3 | -------------------------------------------------------------------------------- /scripts/entry: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | trap "chown -R $DAPPER_UID:$DAPPER_GID ." exit 5 | 6 | mkdir -p bin dist 7 | if [ -e ./scripts/$1 ]; then 8 | ./scripts/"$@" 9 | else 10 | "$@" 11 | fi 12 | -------------------------------------------------------------------------------- /scripts/release: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | $(dirname $0)/clean 4 | $(dirname $0)/ci 5 | -------------------------------------------------------------------------------- /scripts/run-cattle: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | URL=https://github.com/rancher/cattle/releases/download/v0.175.10/cattle.jar 5 | 6 | cd $(dirname $0)/.. 7 | 8 | mkdir -p build 9 | 10 | cd build 11 | 12 | for i in success error; do 13 | rm -f run-${i} 14 | cat > run-${i}.sh << EOF 15 | #!/bin/bash 16 | touch run-${i} 17 | EOF 18 | chmod +x run-${i}.sh 19 | done 20 | 21 | if [ ! -e cattle.jar ]; then 22 | curl -L -O $URL 23 | fi 24 | 25 | java -Dcompose.executor.execute=true -Dcompose.executor.service.executable=$(pwd)/../bin/rancher-compose-executor -jar cattle.jar --notify $(pwd)/run-success.sh --notify-error $(pwd)/run-error.sh & 26 | 27 | while sleep .5; do 28 | if [ -f run-success ]; then 29 | break 30 | elif [ -f run-error ]; then 31 | exit 1 32 | fi 33 | done 34 | -------------------------------------------------------------------------------- /scripts/schema_template: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | var schemaDataV1 = `{{.schemaV1}}` 4 | 5 | var servicesSchemaDataV2 = `{{.schemaV2}}` 6 | -------------------------------------------------------------------------------- /scripts/validate: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | cd $(dirname $0)/.. 5 | 6 | echo Running validation 7 | 8 | PACKAGES=". $(find -name '*.go' | xargs -I{} dirname {} | cut -f2 -d/ | sort -u | grep -Ev '(^\.$|.git|.trash-cache|vendor|bin)' | sed -e 's!^!./!' -e 's!$!/...!')" 9 | 10 | echo Running: go vet 11 | go vet ${PACKAGES} 12 | #echo Running: golint 13 | #for i in ${PACKAGES}; do 14 | # if [ -z "$(golint $i | grep -v 'should have comment.*or be unexported' | tee /dev/stderr)" ]; then 15 | # failed=true 16 | # fi 17 | #done 18 | #test -n "$failed" 19 | echo Running: go fmt 20 | test -z "$(go fmt ${PACKAGES} | tee /dev/stderr)" 21 | -------------------------------------------------------------------------------- /scripts/version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$(git status --porcelain --untracked-files=no)" ]; then 4 | DIRTY="-dirty" 5 | fi 6 | 7 | COMMIT=$(git rev-parse --short HEAD) 8 | TAG=$(git tag -l --contains HEAD | head -n 1) 9 | 10 | if [[ -z "$DIRTY" && -n "$TAG" ]]; then 11 | VERSION=$TAG 12 | else 13 | VERSION="${COMMIT}${DIRTY}" 14 | fi 15 | -------------------------------------------------------------------------------- /tests/integration/README.txt: -------------------------------------------------------------------------------- 1 | Integration tests for rancher cli 2 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/base.yml: -------------------------------------------------------------------------------- 1 | base: 2 | extends: 3 | file: subdir/second.yml 4 | service: second 5 | 6 | local: 7 | environment: 8 | key: value 9 | ports: 10 | - 80:80 11 | image: local 12 | 13 | other-base: 14 | environment: 15 | key2: value2 16 | ports: 17 | - 81:81 18 | extends: 19 | service: local 20 | image: other 21 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/bindings.json: -------------------------------------------------------------------------------- 1 | { 2 | "services": { 3 | "prometheus": { 4 | "labels": { 5 | "labels_prom_binding": "value_prom_binding" 6 | }, 7 | "ports": ["8081"] 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/build/subdir/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM tianon/true 2 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/build/test.yml: -------------------------------------------------------------------------------- 1 | fromfile: 2 | build: . 3 | dockerfile: subdir/Dockerfile 4 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/cyclic-link-dependency/docker-compose.yml: -------------------------------------------------------------------------------- 1 | service1: 2 | image: ubuntu:14.04 3 | volumes_from: 4 | - data 5 | data: 6 | image: ubuntu:14.04 7 | service2: 8 | image: ubuntu:14.04 9 | links: 10 | - service1 11 | - data 12 | labels: 13 | io.rancher.sidekicks: service1, data 14 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/env-file/docker-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | labels: 3 | var: $A 4 | image: ${A} 5 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/env-file/env-file: -------------------------------------------------------------------------------- 1 | A=nginx 2 | C= 3 | D=E 4 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/env-file/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | metadata: 3 | var: $D 4 | var2: $B 5 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/extends/common.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: ubuntu:14.04 3 | 4 | db: 5 | image: ubuntu:14.04 6 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/extends/docker-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | extends: 3 | file: common.yml 4 | service: web 5 | 6 | db: 7 | extends: 8 | file: common.yml 9 | service: db 10 | links: 11 | - web:web 12 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/extends_2/common.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: ubuntu:14.04 3 | 4 | db: 5 | image: ubuntu:14.04 6 | links: 7 | - web:web 8 | 9 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/extends_2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | extends: 3 | file: common.yml 4 | service: web 5 | 6 | db: 7 | extends: 8 | file: common.yml 9 | service: db 10 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/externalip/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | external_ips: 3 | - 1.1.1.1 4 | - 2.2.2.2 5 | health_check: 6 | port: 80 7 | healthy_threshold: 2 8 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/externalip/test.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/hash-no-rancher/test.yml: -------------------------------------------------------------------------------- 1 | web1: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/hash-with-rancher/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web1: 2 | metadata: 3 | foo: 4 | bar: 5 | - 1 6 | - elephant 7 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/hash-with-rancher/test.yml: -------------------------------------------------------------------------------- 1 | web1: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/health/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | health_check: 3 | port: 80 4 | interval: 2000 5 | unhealthy_threshold: 3 6 | request_line: "OPTIONS /ping HTTP/1.1\r\nHost:\\ www.example.com" 7 | healthy_threshold: 2 8 | response_timeout: 2000 9 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/health/test.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/hostname/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | hostname: example.com 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/hostname/test.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/lb-legacy/docker-compose.yml: -------------------------------------------------------------------------------- 1 | lb: 2 | image: rancher/load-balancer-service 3 | ports: 4 | - "80:80" 5 | links: 6 | - web 7 | labels: 8 | io.rancher.loadbalancer.proxy-protocol.ports: 80 9 | web: 10 | image: nginx 11 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/lb-legacy/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | scale: 2 3 | lb: 4 | scale: 1 5 | load_balancer_config: 6 | haproxy_config: 7 | global: | 8 | foo bar 9 | defaults: | 10 | def 1 11 | lb_cookie_stickiness_policy: null 12 | description: null 13 | name: lb config 14 | health_check: 15 | port: null 16 | interval: 2000 17 | unhealthy_threshold: 3 18 | request_line: "OPTIONS /ping HTTP/1.1\r\nHost:\\ www.example.com" 19 | healthy_threshold: 2 20 | response_timeout: 2000 21 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/lb/docker-compose.yml: -------------------------------------------------------------------------------- 1 | lb: 2 | image: rancher/lb-service-haproxy 3 | ports: 4 | - 80 5 | web: 6 | image: nginx 7 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/lb/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | scale: 2 3 | lb: 4 | scale: 1 5 | lb_config: 6 | port_rules: 7 | - source_port: 80 8 | target_port: 80 9 | service: web 10 | protocol: https 11 | hostname: hostname 12 | path: /path 13 | config: | 14 | global 15 | foo bar 16 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/metadata/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | scale: 1 3 | metadata: 4 | test1: 5 | - one 6 | - two 7 | test2: 8 | name: t2name 9 | value: t2value 10 | test3: true 11 | test4: 12 | - test5: 13 | name: t5name 14 | - test6: 15 | name: t6name 16 | value: t6value 17 | test7: 18 | test7nest: 19 | test7nestofnest: 20 | - test7dot1: 21 | name: test7dot1name 22 | - test7dot2: 23 | name: test7dot2name 24 | test8: 25 | - test8a: 26 | - name: test8a 27 | value: test8avalue 28 | - name: test8ab 29 | value: test8abvalue 30 | - test8b: 31 | - name: test8ba 32 | value: test8bavalue 33 | 34 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/metadata/test.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/retain-ip/docker-compose.yml: -------------------------------------------------------------------------------- 1 | retain: 2 | image: nginx 3 | retain_ip: true 4 | 5 | not-retain: 6 | image: nginx 7 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/service-schema/docker-compose.yml: -------------------------------------------------------------------------------- 1 | api-server: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/service-schema/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | api-server: 2 | service_schemas: 3 | kubernetesReplicationController: 4 | resource_fields: 5 | template: 6 | type: json 7 | create: true 8 | kubernetesService: 9 | resource_fields: 10 | template: 11 | type: json 12 | create: true 13 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/sidekick-health/docker-compose.yml: -------------------------------------------------------------------------------- 1 | parent: 2 | labels: 3 | io.rancher.sidekicks: child 4 | image: tianon/true 5 | 6 | child: 7 | image: tianon/true 8 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/sidekick-health/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | parent: 2 | health_check: 3 | port: 80 4 | child: 5 | health_check: 6 | port: 81 7 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/something-with-dashes-v0.2.6/docker-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/ssl/docker-compose.yml: -------------------------------------------------------------------------------- 1 | lb: 2 | image: rancher/load-balancer-service 3 | ports: 4 | - "80:80" 5 | links: 6 | - web 7 | web: 8 | image: nginx 9 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/ssl/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | scale: 2 3 | lb: 4 | scale: 1 5 | default_cert: cert1 6 | certs: 7 | - cert1 8 | - cert2 9 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/subdir/env.file: -------------------------------------------------------------------------------- 1 | bar=baz 2 | a=c 3 | env=1 -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/subdir/env2.file: -------------------------------------------------------------------------------- 1 | d=e 2 | env=2 -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/subdir/second.yml: -------------------------------------------------------------------------------- 1 | second: 2 | environment: 3 | foo: bar 4 | a: b 5 | env_file: 6 | - env.file 7 | - env2.file 8 | image: second 9 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/upgrade-ignore-scale/docker-compose-source.yml: -------------------------------------------------------------------------------- 1 | from: 2 | image: nginx 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/upgrade-ignore-scale/docker-compose.yml: -------------------------------------------------------------------------------- 1 | from: 2 | image: nginx 3 | to: 4 | image: nginx 5 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/upgrade-ignore-scale/rancher-compose.yml: -------------------------------------------------------------------------------- 1 | to: 2 | scale: 100 3 | -------------------------------------------------------------------------------- /tests/integration/cattletest/core/assets/yaml-corner-cases/docker-compose.yml: -------------------------------------------------------------------------------- 1 | service: 2 | image: nginx 3 | environment: 4 | A: :A 5 | B: ":B" 6 | C: "contains: colon" 7 | D: 'contains: colon' 8 | E: œ∑˙ß®∫ƒ˜†∂˜老版本没问题 9 | -------------------------------------------------------------------------------- /tests/integration/requirements.txt: -------------------------------------------------------------------------------- 1 | cattle==0.5.1 2 | 3 | flake8==2.6.0 4 | pytest==2.3.5 5 | -------------------------------------------------------------------------------- /tests/integration/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | 3 | setup( 4 | name='RancherCliIntegrationTests', 5 | version='0.1', 6 | packages=[ 7 | 'cattletest', 8 | 'cattletest.core', 9 | ], 10 | license='ASL 2.0', 11 | long_description=open('README.txt').read(), 12 | ) 13 | -------------------------------------------------------------------------------- /tests/integration/toenv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo export RANCHER_URL=http://localhost:8080 4 | echo export RANCHER_ACCESS_KEY=$(grep 'access-key=' tox.ini | cut -f2 -d'=') 5 | echo export RANCHER_SECRET_KEY=$(grep 'secret-key=' tox.ini | cut -f2 -d'=') 6 | -------------------------------------------------------------------------------- /tests/integration/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist=flake8, py27 3 | 4 | [testenv] 5 | deps=-rrequirements.txt 6 | changedir=cattletest 7 | commands=py.test --durations=20 {posargs} 8 | 9 | [testenv:flake8] 10 | deps=-rrequirements.txt 11 | changedir={toxinidir} 12 | commands=flake8 cattletest 13 | 14 | [rancher] 15 | url=http://localhost:8080/v1/schemas 16 | # access-key=FC77A71698410CDFEFD2 17 | # secret-key=8uzZ2dJFeFodK1QWFWS2XwQh8RsRfquwaxsH9DRW 18 | 19 | [flake8] 20 | ignore = F405 21 | -------------------------------------------------------------------------------- /vendor/github.com/Azure/go-ansiterm/context.go: -------------------------------------------------------------------------------- 1 | package ansiterm 2 | 3 | type ansiContext struct { 4 | currentChar byte 5 | paramBuffer []byte 6 | interBuffer []byte 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/Azure/go-ansiterm/ground_state.go: -------------------------------------------------------------------------------- 1 | package ansiterm 2 | 3 | type groundState struct { 4 | baseState 5 | } 6 | 7 | func (gs groundState) Handle(b byte) (s state, e error) { 8 | gs.parser.context.currentChar = b 9 | 10 | nextState, err := gs.baseState.Handle(b) 11 | if nextState != nil || err != nil { 12 | return nextState, err 13 | } 14 | 15 | switch { 16 | case sliceContains(printables, b): 17 | return gs, gs.parser.print() 18 | 19 | case sliceContains(executors, b): 20 | return gs, gs.parser.execute() 21 | } 22 | 23 | return gs, nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/Azure/go-ansiterm/osc_string_state.go: -------------------------------------------------------------------------------- 1 | package ansiterm 2 | 3 | type oscStringState struct { 4 | baseState 5 | } 6 | 7 | func (oscState oscStringState) Handle(b byte) (s state, e error) { 8 | logger.Infof("OscString::Handle %#x", b) 9 | nextState, err := oscState.baseState.Handle(b) 10 | if nextState != nil || err != nil { 11 | return nextState, err 12 | } 13 | 14 | switch { 15 | case isOscStringTerminator(b): 16 | return oscState.parser.ground, nil 17 | } 18 | 19 | return oscState, nil 20 | } 21 | 22 | // See below for OSC string terminators for linux 23 | // http://man7.org/linux/man-pages/man4/console_codes.4.html 24 | func isOscStringTerminator(b byte) bool { 25 | 26 | if b == ANSI_BEL || b == 0x5C { 27 | return true 28 | } 29 | 30 | return false 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/Azure/go-ansiterm/utilities.go: -------------------------------------------------------------------------------- 1 | package ansiterm 2 | 3 | import ( 4 | "strconv" 5 | ) 6 | 7 | func sliceContains(bytes []byte, b byte) bool { 8 | for _, v := range bytes { 9 | if v == b { 10 | return true 11 | } 12 | } 13 | 14 | return false 15 | } 16 | 17 | func convertBytesToInteger(bytes []byte) int { 18 | s := string(bytes) 19 | i, _ := strconv.Atoi(s) 20 | return i 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/Azure/go-ansiterm/winterm/utilities.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package winterm 4 | 5 | // AddInRange increments a value by the passed quantity while ensuring the values 6 | // always remain within the supplied min / max range. 7 | func addInRange(n int16, increment int16, min int16, max int16) int16 { 8 | return ensureInRange(n+increment, min, max) 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/README.md: -------------------------------------------------------------------------------- 1 | # go-winio 2 | 3 | This repository contains utilities for efficiently performing Win32 IO operations in 4 | Go. Currently, this is focused on accessing named pipes and other file handles, and 5 | for using named pipes as a net transport. 6 | 7 | This code relies on IO completion ports to avoid blocking IO on system threads, allowing Go 8 | to reuse the thread to schedule another goroutine. This limits support to Windows Vista and 9 | newer operating systems. This is similar to the implementation of network sockets in Go's net 10 | package. 11 | 12 | Please see the LICENSE file for licensing information. 13 | 14 | Thanks to natefinch for the inspiration for this library. See https://github.com/natefinch/npipe 15 | for another named pipe implementation. 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/syscall.go: -------------------------------------------------------------------------------- 1 | package winio 2 | 3 | //go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall.go file.go pipe.go sd.go fileinfo.go privilege.go backup.go 4 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.2 4 | - 1.3 5 | - 1.4 6 | - tip 7 | install: 8 | - go get -t ./... 9 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.7.3 2 | 3 | formatter/\*: allow configuration of timestamp layout 4 | 5 | # 0.7.2 6 | 7 | formatter/text: Add configuration option for time format (#158) 8 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_darwin.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_freebsd.go: -------------------------------------------------------------------------------- 1 | /* 2 | Go 1.2 doesn't include Termios for FreeBSD. This should be added in 1.3 and this could be merged with terminal_darwin. 3 | */ 4 | package logrus 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios struct { 13 | Iflag uint32 14 | Oflag uint32 15 | Cflag uint32 16 | Lflag uint32 17 | Cc [20]uint8 18 | Ispeed uint32 19 | Ospeed uint32 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux darwin freebsd openbsd 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if the given file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stdout 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_openbsd.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import "syscall" 4 | 5 | const ioctlReadTermios = syscall.TIOCGETA 6 | 7 | type Termios syscall.Termios 8 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if the given file descriptor is a terminal. 22 | func IsTerminal() bool { 23 | fd := syscall.Stdout 24 | var st uint32 25 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) 26 | return r != 0 && e == 0 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/writer.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "bufio" 5 | "io" 6 | "runtime" 7 | ) 8 | 9 | func (logger *Logger) Writer() *io.PipeWriter { 10 | reader, writer := io.Pipe() 11 | 12 | go logger.writerScanner(reader) 13 | runtime.SetFinalizer(writer, writerFinalizer) 14 | 15 | return writer 16 | } 17 | 18 | func (logger *Logger) writerScanner(reader *io.PipeReader) { 19 | scanner := bufio.NewScanner(reader) 20 | for scanner.Scan() { 21 | logger.Print(scanner.Text()) 22 | } 23 | if err := scanner.Err(); err != nil { 24 | logger.Errorf("Error while reading from Writer: %s", err) 25 | } 26 | reader.Close() 27 | } 28 | 29 | func writerFinalizer(writer *io.PipeWriter) { 30 | writer.Close() 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/awslabs/aws-sdk-go/.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | doc 3 | -------------------------------------------------------------------------------- /vendor/github.com/awslabs/aws-sdk-go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | go: 6 | - 1.4 7 | 8 | install: "go get -v -t ./... && go get -u github.com/golang/lint/golint" 9 | script: make unit 10 | -------------------------------------------------------------------------------- /vendor/github.com/awslabs/aws-sdk-go/NOTICE.txt: -------------------------------------------------------------------------------- 1 | AWS SDK for Go 2 | Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | Copyright 2014-2015 Stripe, Inc. 4 | -------------------------------------------------------------------------------- /vendor/github.com/awslabs/aws-sdk-go/aws/credentials/example.ini: -------------------------------------------------------------------------------- 1 | [default] 2 | aws_access_key_id = accessKey 3 | aws_secret_access_key = secret 4 | aws_session_token = token 5 | 6 | [no_token] 7 | aws_access_key_id = accessKey 8 | aws_secret_access_key = secret 9 | -------------------------------------------------------------------------------- /vendor/github.com/awslabs/aws-sdk-go/aws/version.go: -------------------------------------------------------------------------------- 1 | // Package aws provides core functionality for making requests to AWS services. 2 | package aws 3 | 4 | // SDKName is the name of this AWS SDK 5 | const SDKName = "aws-sdk-go" 6 | 7 | // SDKVersion is the version of this SDK 8 | const SDKVersion = "0.5.0" 9 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | # never checkin from the bin file (for now) 27 | bin/* 28 | 29 | # Test key files 30 | *.pem 31 | 32 | # Cover profiles 33 | *.out 34 | 35 | # Editor/IDE specific files. 36 | *.sublime-project 37 | *.sublime-workspace 38 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.6-alpine 2 | 3 | ENV DISTRIBUTION_DIR /go/src/github.com/docker/distribution 4 | ENV DOCKER_BUILDTAGS include_oss include_gcs 5 | 6 | RUN set -ex \ 7 | && apk add --no-cache make git 8 | 9 | WORKDIR $DISTRIBUTION_DIR 10 | COPY . $DISTRIBUTION_DIR 11 | COPY cmd/registry/config-dev.yml /etc/docker/registry/config.yml 12 | 13 | RUN make PREFIX=/go clean binaries 14 | 15 | VOLUME ["/var/lib/registry"] 16 | EXPOSE 5000 17 | ENTRYPOINT ["registry"] 18 | CMD ["serve", "/etc/docker/registry/config.yml"] 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/context/util.go: -------------------------------------------------------------------------------- 1 | package context 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | // Since looks up key, which should be a time.Time, and returns the duration 8 | // since that time. If the key is not found, the value returned will be zero. 9 | // This is helpful when inferring metrics related to context execution times. 10 | func Since(ctx Context, key interface{}) time.Duration { 11 | if startedAt, ok := ctx.Value(key).(time.Time); ok { 12 | return time.Since(startedAt) 13 | } 14 | return 0 15 | } 16 | 17 | // GetStringValue returns a string value from the context. The empty string 18 | // will be returned if not found. 19 | func GetStringValue(ctx Context, key interface{}) (value string) { 20 | if valuev, ok := ctx.Value(key).(string); ok { 21 | value = valuev 22 | } 23 | return value 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/context/version.go: -------------------------------------------------------------------------------- 1 | package context 2 | 3 | // WithVersion stores the application version in the context. The new context 4 | // gets a logger to ensure log messages are marked with the application 5 | // version. 6 | func WithVersion(ctx Context, version string) Context { 7 | ctx = WithValue(ctx, "version", version) 8 | // push a new logger onto the stack 9 | return WithLogger(ctx, GetLogger(ctx, "version")) 10 | } 11 | 12 | // GetVersion returns the application version from the context. An empty 13 | // string may returned if the version was not set on the context. 14 | func GetVersion(ctx Context) string { 15 | return GetStringValue(ctx, "version") 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/coverpkg.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Given a subpackage and the containing package, figures out which packages 3 | # need to be passed to `go test -coverpkg`: this includes all of the 4 | # subpackage's dependencies within the containing package, as well as the 5 | # subpackage itself. 6 | DEPENDENCIES="$(go list -f $'{{range $f := .Deps}}{{$f}}\n{{end}}' ${1} | grep ${2} | grep -v github.com/docker/distribution/vendor)" 7 | echo "${1} ${DEPENDENCIES}" | xargs echo -n | tr ' ' ',' 8 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/doc.go: -------------------------------------------------------------------------------- 1 | // Package distribution will define the interfaces for the components of 2 | // docker distribution. The goal is to allow users to reliably package, ship 3 | // and store content related to docker images. 4 | // 5 | // This is currently a work in progress. More details are available in the 6 | // README.md. 7 | package distribution 8 | -------------------------------------------------------------------------------- /vendor/github.com/docker/distribution/registry/api/v2/doc.go: -------------------------------------------------------------------------------- 1 | // Package v2 describes routes, urls and the error codes used in the Docker 2 | // Registry JSON HTTP API V2. In addition to declarations, descriptors are 3 | // provided for routes and error codes that can be used for implementation and 4 | // automatically generating documentation. 5 | // 6 | // Definitions here are considered to be locked down for the V2 registry api. 7 | // Any changes must be considered carefully and should not proceed without a 8 | // change proposal in docker core. 9 | package v2 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/.dockerignore: -------------------------------------------------------------------------------- 1 | bundles 2 | .gopath 3 | vendor/pkg 4 | .go-pkg-cache 5 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/.gitignore: -------------------------------------------------------------------------------- 1 | # Docker project generated files to ignore 2 | # if you want to ignore files created by your editor/tools, 3 | # please consider a global .gitignore https://help.github.com/articles/ignoring-files 4 | *.exe 5 | *.exe~ 6 | *.orig 7 | *.test 8 | .*.swp 9 | .DS_Store 10 | # a .bashrc may be added to customize the build environment 11 | .bashrc 12 | .gopath/ 13 | .go-pkg-cache/ 14 | autogen/ 15 | bundles/ 16 | cmd/dockerd/dockerd 17 | cmd/docker/docker 18 | dockerversion/version_autogen.go 19 | docs/AWS_S3_BUCKET 20 | docs/GITCOMMIT 21 | docs/GIT_BRANCH 22 | docs/VERSION 23 | docs/_build 24 | docs/_static 25 | docs/_templates 26 | docs/changed-files 27 | # generated by man/md2man-all.sh 28 | man/man1 29 | man/man5 30 | man/man8 31 | vendor/pkg/ 32 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/NOTICE: -------------------------------------------------------------------------------- 1 | Docker 2 | Copyright 2012-2016 Docker, Inc. 3 | 4 | This product includes software developed at Docker, Inc. (https://www.docker.com). 5 | 6 | This product contains software (https://github.com/kr/pty) developed 7 | by Keith Rarick, licensed under the MIT License. 8 | 9 | The following is courtesy of our legal counsel: 10 | 11 | 12 | Use and transfer of Docker may be subject to certain restrictions by the 13 | United States and other governments. 14 | It is your responsibility to ensure that your use and/or transfer does not 15 | violate applicable laws. 16 | 17 | For more information, please see https://www.bis.doc.gov 18 | 19 | See also https://www.apache.org/dev/crypto.html and/or seek legal counsel. 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/VERSION: -------------------------------------------------------------------------------- 1 | 1.13.0-dev 2 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/api/README.md: -------------------------------------------------------------------------------- 1 | This directory contains code pertaining to the Docker API: 2 | 3 | - Used by the docker client when communicating with the docker daemon 4 | 5 | - Used by third party tools wishing to interface with the docker daemon 6 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/api/types/blkiodev/blkio.go: -------------------------------------------------------------------------------- 1 | package blkiodev 2 | 3 | import "fmt" 4 | 5 | // WeightDevice is a structure that holds device:weight pair 6 | type WeightDevice struct { 7 | Path string 8 | Weight uint16 9 | } 10 | 11 | func (w *WeightDevice) String() string { 12 | return fmt.Sprintf("%s:%d", w.Path, w.Weight) 13 | } 14 | 15 | // ThrottleDevice is a structure that holds device:rate_per_second pair 16 | type ThrottleDevice struct { 17 | Path string 18 | Rate uint64 19 | } 20 | 21 | func (t *ThrottleDevice) String() string { 22 | return fmt.Sprintf("%s:%d", t.Path, t.Rate) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/api/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | // ErrorResponse is the response body of API errors. 4 | type ErrorResponse struct { 5 | Message string `json:"message"` 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/api/types/swarm/common.go: -------------------------------------------------------------------------------- 1 | package swarm 2 | 3 | import "time" 4 | 5 | // Version represents the internal object version. 6 | type Version struct { 7 | Index uint64 `json:",omitempty"` 8 | } 9 | 10 | // Meta is a base object inherited by most of the other once. 11 | type Meta struct { 12 | Version Version `json:",omitempty"` 13 | CreatedAt time.Time `json:",omitempty"` 14 | UpdatedAt time.Time `json:",omitempty"` 15 | } 16 | 17 | // Annotations represents how to describe an object. 18 | type Annotations struct { 19 | Name string `json:",omitempty"` 20 | Labels map[string]string `json:",omitempty"` 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/api/types/time/duration_convert.go: -------------------------------------------------------------------------------- 1 | package time 2 | 3 | import ( 4 | "strconv" 5 | "time" 6 | ) 7 | 8 | // DurationToSecondsString converts the specified duration to the number 9 | // seconds it represents, formatted as a string. 10 | func DurationToSecondsString(duration time.Duration) string { 11 | return strconv.FormatFloat(duration.Seconds(), 'f', 0, 64) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/builder/context_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package builder 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func getContextRoot(srcPath string) (string, error) { 10 | return filepath.Join(srcPath, "."), nil 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/builder/context_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package builder 4 | 5 | import ( 6 | "path/filepath" 7 | 8 | "github.com/docker/docker/pkg/longpath" 9 | ) 10 | 11 | func getContextRoot(srcPath string) (string, error) { 12 | cr, err := filepath.Abs(srcPath) 13 | if err != nil { 14 | return "", err 15 | } 16 | return longpath.AddPrefix(cr), nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/builder/git.go: -------------------------------------------------------------------------------- 1 | package builder 2 | 3 | import ( 4 | "os" 5 | 6 | "github.com/docker/docker/pkg/archive" 7 | "github.com/docker/docker/pkg/gitutils" 8 | ) 9 | 10 | // MakeGitContext returns a Context from gitURL that is cloned in a temporary directory. 11 | func MakeGitContext(gitURL string) (ModifiableContext, error) { 12 | root, err := gitutils.Clone(gitURL) 13 | if err != nil { 14 | return nil, err 15 | } 16 | 17 | c, err := archive.Tar(root, archive.Uncompressed) 18 | if err != nil { 19 | return nil, err 20 | } 21 | 22 | defer func() { 23 | // TODO: print errors? 24 | c.Close() 25 | os.RemoveAll(root) 26 | }() 27 | return MakeTarSumContext(c) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/checkpoint_create.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "github.com/docker/docker/api/types" 5 | "golang.org/x/net/context" 6 | ) 7 | 8 | // CheckpointCreate creates a checkpoint from the given container with the given name 9 | func (cli *Client) CheckpointCreate(ctx context.Context, container string, options types.CheckpointCreateOptions) error { 10 | resp, err := cli.post(ctx, "/containers/"+container+"/checkpoints", nil, options, nil) 11 | ensureReaderClosed(resp) 12 | return err 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/checkpoint_delete.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | ) 6 | 7 | // CheckpointDelete deletes the checkpoint with the given name from the given container 8 | func (cli *Client) CheckpointDelete(ctx context.Context, containerID string, checkpointID string) error { 9 | resp, err := cli.delete(ctx, "/containers/"+containerID+"/checkpoints/"+checkpointID, nil, nil) 10 | ensureReaderClosed(resp) 11 | return err 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/checkpoint_list.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // CheckpointList returns the volumes configured in the docker host. 11 | func (cli *Client) CheckpointList(ctx context.Context, container string) ([]types.Checkpoint, error) { 12 | var checkpoints []types.Checkpoint 13 | 14 | resp, err := cli.get(ctx, "/containers/"+container+"/checkpoints", nil, nil) 15 | if err != nil { 16 | return checkpoints, err 17 | } 18 | 19 | err = json.NewDecoder(resp.body).Decode(&checkpoints) 20 | ensureReaderClosed(resp) 21 | return checkpoints, err 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/client_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd solaris openbsd darwin 2 | 3 | package client 4 | 5 | // DefaultDockerHost defines os specific default if DOCKER_HOST is unset 6 | const DefaultDockerHost = "unix:///var/run/docker.sock" 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/client_windows.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | // DefaultDockerHost defines os specific default if DOCKER_HOST is unset 4 | const DefaultDockerHost = "npipe:////./pipe/docker_engine" 5 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_diff.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "net/url" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ContainerDiff shows differences in a container filesystem since it was started. 12 | func (cli *Client) ContainerDiff(ctx context.Context, containerID string) ([]types.ContainerChange, error) { 13 | var changes []types.ContainerChange 14 | 15 | serverResp, err := cli.get(ctx, "/containers/"+containerID+"/changes", url.Values{}, nil) 16 | if err != nil { 17 | return changes, err 18 | } 19 | 20 | err = json.NewDecoder(serverResp.body).Decode(&changes) 21 | ensureReaderClosed(serverResp) 22 | return changes, err 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_export.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "io" 5 | "net/url" 6 | 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // ContainerExport retrieves the raw contents of a container 11 | // and returns them as an io.ReadCloser. It's up to the caller 12 | // to close the stream. 13 | func (cli *Client) ContainerExport(ctx context.Context, containerID string) (io.ReadCloser, error) { 14 | serverResp, err := cli.get(ctx, "/containers/"+containerID+"/export", url.Values{}, nil) 15 | if err != nil { 16 | return nil, err 17 | } 18 | 19 | return serverResp.body, nil 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_kill.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // ContainerKill terminates the container process but does not remove the container from the docker host. 10 | func (cli *Client) ContainerKill(ctx context.Context, containerID, signal string) error { 11 | query := url.Values{} 12 | query.Set("signal", signal) 13 | 14 | resp, err := cli.post(ctx, "/containers/"+containerID+"/kill", query, nil, nil) 15 | ensureReaderClosed(resp) 16 | return err 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_pause.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import "golang.org/x/net/context" 4 | 5 | // ContainerPause pauses the main process of a given container without terminating it. 6 | func (cli *Client) ContainerPause(ctx context.Context, containerID string) error { 7 | resp, err := cli.post(ctx, "/containers/"+containerID+"/pause", nil, nil, nil) 8 | ensureReaderClosed(resp) 9 | return err 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_prune.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ContainersPrune requests the daemon to delete unused data 12 | func (cli *Client) ContainersPrune(ctx context.Context, cfg types.ContainersPruneConfig) (types.ContainersPruneReport, error) { 13 | var report types.ContainersPruneReport 14 | 15 | serverResp, err := cli.post(ctx, "/containers/prune", nil, cfg, nil) 16 | if err != nil { 17 | return report, err 18 | } 19 | defer ensureReaderClosed(serverResp) 20 | 21 | if err := json.NewDecoder(serverResp.body).Decode(&report); err != nil { 22 | return report, fmt.Errorf("Error retrieving disk usage: %v", err) 23 | } 24 | 25 | return report, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "github.com/docker/docker/api/types" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // ContainerRemove kills and removes a container from the docker host. 11 | func (cli *Client) ContainerRemove(ctx context.Context, containerID string, options types.ContainerRemoveOptions) error { 12 | query := url.Values{} 13 | if options.RemoveVolumes { 14 | query.Set("v", "1") 15 | } 16 | if options.RemoveLinks { 17 | query.Set("link", "1") 18 | } 19 | 20 | if options.Force { 21 | query.Set("force", "1") 22 | } 23 | 24 | resp, err := cli.delete(ctx, "/containers/"+containerID, query, nil) 25 | ensureReaderClosed(resp) 26 | return err 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_rename.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // ContainerRename changes the name of a given container. 10 | func (cli *Client) ContainerRename(ctx context.Context, containerID, newContainerName string) error { 11 | query := url.Values{} 12 | query.Set("name", newContainerName) 13 | resp, err := cli.post(ctx, "/containers/"+containerID+"/rename", query, nil, nil) 14 | ensureReaderClosed(resp) 15 | return err 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_restart.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | "time" 6 | 7 | timetypes "github.com/docker/docker/api/types/time" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ContainerRestart stops and starts a container again. 12 | // It makes the daemon to wait for the container to be up again for 13 | // a specific amount of time, given the timeout. 14 | func (cli *Client) ContainerRestart(ctx context.Context, containerID string, timeout *time.Duration) error { 15 | query := url.Values{} 16 | if timeout != nil { 17 | query.Set("t", timetypes.DurationToSecondsString(*timeout)) 18 | } 19 | resp, err := cli.post(ctx, "/containers/"+containerID+"/restart", query, nil, nil) 20 | ensureReaderClosed(resp) 21 | return err 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_start.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "golang.org/x/net/context" 7 | 8 | "github.com/docker/docker/api/types" 9 | ) 10 | 11 | // ContainerStart sends a request to the docker daemon to start a container. 12 | func (cli *Client) ContainerStart(ctx context.Context, containerID string, options types.ContainerStartOptions) error { 13 | query := url.Values{} 14 | if len(options.CheckpointID) != 0 { 15 | query.Set("checkpoint", options.CheckpointID) 16 | } 17 | 18 | resp, err := cli.post(ctx, "/containers/"+containerID+"/start", query, nil, nil) 19 | ensureReaderClosed(resp) 20 | return err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_stop.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | "time" 6 | 7 | timetypes "github.com/docker/docker/api/types/time" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ContainerStop stops a container without terminating the process. 12 | // The process is blocked until the container stops or the timeout expires. 13 | func (cli *Client) ContainerStop(ctx context.Context, containerID string, timeout *time.Duration) error { 14 | query := url.Values{} 15 | if timeout != nil { 16 | query.Set("t", timetypes.DurationToSecondsString(*timeout)) 17 | } 18 | resp, err := cli.post(ctx, "/containers/"+containerID+"/stop", query, nil, nil) 19 | ensureReaderClosed(resp) 20 | return err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_unpause.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import "golang.org/x/net/context" 4 | 5 | // ContainerUnpause resumes the process execution within a container 6 | func (cli *Client) ContainerUnpause(ctx context.Context, containerID string) error { 7 | resp, err := cli.post(ctx, "/containers/"+containerID+"/unpause", nil, nil, nil) 8 | ensureReaderClosed(resp) 9 | return err 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_update.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types" 7 | "github.com/docker/docker/api/types/container" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ContainerUpdate updates resources of a container 12 | func (cli *Client) ContainerUpdate(ctx context.Context, containerID string, updateConfig container.UpdateConfig) (types.ContainerUpdateResponse, error) { 13 | var response types.ContainerUpdateResponse 14 | serverResp, err := cli.post(ctx, "/containers/"+containerID+"/update", nil, updateConfig, nil) 15 | if err != nil { 16 | return response, err 17 | } 18 | 19 | err = json.NewDecoder(serverResp.body).Decode(&response) 20 | 21 | ensureReaderClosed(serverResp) 22 | return response, err 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/container_wait.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "golang.org/x/net/context" 7 | 8 | "github.com/docker/docker/api/types" 9 | ) 10 | 11 | // ContainerWait pauses execution until a container exits. 12 | // It returns the API status code as response of its readiness. 13 | func (cli *Client) ContainerWait(ctx context.Context, containerID string) (int, error) { 14 | resp, err := cli.post(ctx, "/containers/"+containerID+"/wait", nil, nil, nil) 15 | if err != nil { 16 | return -1, err 17 | } 18 | defer ensureReaderClosed(resp) 19 | 20 | var res types.ContainerWaitResponse 21 | if err := json.NewDecoder(resp.body).Decode(&res); err != nil { 22 | return -1, err 23 | } 24 | 25 | return res.StatusCode, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/disk_usage.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // DiskUsage requests the current data usage from the daemon 12 | func (cli *Client) DiskUsage(ctx context.Context) (types.DiskUsage, error) { 13 | var du types.DiskUsage 14 | 15 | serverResp, err := cli.get(ctx, "/system/df", nil, nil) 16 | if err != nil { 17 | return du, err 18 | } 19 | defer ensureReaderClosed(serverResp) 20 | 21 | if err := json.NewDecoder(serverResp.body).Decode(&du); err != nil { 22 | return du, fmt.Errorf("Error retrieving disk usage: %v", err) 23 | } 24 | 25 | return du, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/image_history.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "net/url" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ImageHistory returns the changes in an image in history format. 12 | func (cli *Client) ImageHistory(ctx context.Context, imageID string) ([]types.ImageHistory, error) { 13 | var history []types.ImageHistory 14 | serverResp, err := cli.get(ctx, "/images/"+imageID+"/history", url.Values{}, nil) 15 | if err != nil { 16 | return history, err 17 | } 18 | 19 | err = json.NewDecoder(serverResp.body).Decode(&history) 20 | ensureReaderClosed(serverResp) 21 | return history, err 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/image_prune.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ImagesPrune requests the daemon to delete unused data 12 | func (cli *Client) ImagesPrune(ctx context.Context, cfg types.ImagesPruneConfig) (types.ImagesPruneReport, error) { 13 | var report types.ImagesPruneReport 14 | 15 | serverResp, err := cli.post(ctx, "/images/prune", nil, cfg, nil) 16 | if err != nil { 17 | return report, err 18 | } 19 | defer ensureReaderClosed(serverResp) 20 | 21 | if err := json.NewDecoder(serverResp.body).Decode(&report); err != nil { 22 | return report, fmt.Errorf("Error retrieving disk usage: %v", err) 23 | } 24 | 25 | return report, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/image_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "net/url" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // ImageRemove removes an image from the docker host. 12 | func (cli *Client) ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDelete, error) { 13 | query := url.Values{} 14 | 15 | if options.Force { 16 | query.Set("force", "1") 17 | } 18 | if !options.PruneChildren { 19 | query.Set("noprune", "1") 20 | } 21 | 22 | resp, err := cli.delete(ctx, "/images/"+imageID, query, nil) 23 | if err != nil { 24 | return nil, err 25 | } 26 | 27 | var dels []types.ImageDelete 28 | err = json.NewDecoder(resp.body).Decode(&dels) 29 | ensureReaderClosed(resp) 30 | return dels, err 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/image_save.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "io" 5 | "net/url" 6 | 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // ImageSave retrieves one or more images from the docker host as an io.ReadCloser. 11 | // It's up to the caller to store the images and close the stream. 12 | func (cli *Client) ImageSave(ctx context.Context, imageIDs []string) (io.ReadCloser, error) { 13 | query := url.Values{ 14 | "names": imageIDs, 15 | } 16 | 17 | resp, err := cli.get(ctx, "/images/get", query, nil) 18 | if err != nil { 19 | return nil, err 20 | } 21 | return resp.body, nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/info.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "net/url" 7 | 8 | "github.com/docker/docker/api/types" 9 | "golang.org/x/net/context" 10 | ) 11 | 12 | // Info returns information about the docker server. 13 | func (cli *Client) Info(ctx context.Context) (types.Info, error) { 14 | var info types.Info 15 | serverResp, err := cli.get(ctx, "/info", url.Values{}, nil) 16 | if err != nil { 17 | return info, err 18 | } 19 | defer ensureReaderClosed(serverResp) 20 | 21 | if err := json.NewDecoder(serverResp.body).Decode(&info); err != nil { 22 | return info, fmt.Errorf("Error reading remote info: %v", err) 23 | } 24 | 25 | return info, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/interface_stable.go: -------------------------------------------------------------------------------- 1 | // +build !experimental 2 | 3 | package client 4 | 5 | // APIClient is an interface that clients that talk with a docker server must implement. 6 | type APIClient interface { 7 | CommonAPIClient 8 | } 9 | 10 | // Ensure that Client always implements APIClient. 11 | var _ APIClient = &Client{} 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/network_connect.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "github.com/docker/docker/api/types" 5 | "github.com/docker/docker/api/types/network" 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // NetworkConnect connects a container to an existent network in the docker host. 10 | func (cli *Client) NetworkConnect(ctx context.Context, networkID, containerID string, config *network.EndpointSettings) error { 11 | nc := types.NetworkConnect{ 12 | Container: containerID, 13 | EndpointConfig: config, 14 | } 15 | resp, err := cli.post(ctx, "/networks/"+networkID+"/connect", nil, nc, nil) 16 | ensureReaderClosed(resp) 17 | return err 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/network_create.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // NetworkCreate creates a new network in the docker host. 11 | func (cli *Client) NetworkCreate(ctx context.Context, name string, options types.NetworkCreate) (types.NetworkCreateResponse, error) { 12 | networkCreateRequest := types.NetworkCreateRequest{ 13 | NetworkCreate: options, 14 | Name: name, 15 | } 16 | var response types.NetworkCreateResponse 17 | serverResp, err := cli.post(ctx, "/networks/create", nil, networkCreateRequest, nil) 18 | if err != nil { 19 | return response, err 20 | } 21 | 22 | json.NewDecoder(serverResp.body).Decode(&response) 23 | ensureReaderClosed(serverResp) 24 | return response, err 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/network_disconnect.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "github.com/docker/docker/api/types" 5 | "golang.org/x/net/context" 6 | ) 7 | 8 | // NetworkDisconnect disconnects a container from an existent network in the docker host. 9 | func (cli *Client) NetworkDisconnect(ctx context.Context, networkID, containerID string, force bool) error { 10 | nd := types.NetworkDisconnect{Container: containerID, Force: force} 11 | resp, err := cli.post(ctx, "/networks/"+networkID+"/disconnect", nil, nd, nil) 12 | ensureReaderClosed(resp) 13 | return err 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/network_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import "golang.org/x/net/context" 4 | 5 | // NetworkRemove removes an existent network from the docker host. 6 | func (cli *Client) NetworkRemove(ctx context.Context, networkID string) error { 7 | resp, err := cli.delete(ctx, "/networks/"+networkID, nil, nil) 8 | ensureReaderClosed(resp) 9 | return err 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/node_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "github.com/docker/docker/api/types" 7 | 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // NodeRemove removes a Node. 12 | func (cli *Client) NodeRemove(ctx context.Context, nodeID string, options types.NodeRemoveOptions) error { 13 | query := url.Values{} 14 | if options.Force { 15 | query.Set("force", "1") 16 | } 17 | 18 | resp, err := cli.delete(ctx, "/nodes/"+nodeID, query, nil) 19 | ensureReaderClosed(resp) 20 | return err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/node_update.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | "strconv" 6 | 7 | "github.com/docker/docker/api/types/swarm" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // NodeUpdate updates a Node. 12 | func (cli *Client) NodeUpdate(ctx context.Context, nodeID string, version swarm.Version, node swarm.NodeSpec) error { 13 | query := url.Values{} 14 | query.Set("version", strconv.FormatUint(version.Index, 10)) 15 | resp, err := cli.post(ctx, "/nodes/"+nodeID+"/update", query, node, nil) 16 | ensureReaderClosed(resp) 17 | return err 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_disable.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // PluginDisable disables a plugin 10 | func (cli *Client) PluginDisable(ctx context.Context, name string) error { 11 | resp, err := cli.post(ctx, "/plugins/"+name+"/disable", nil, nil, nil) 12 | ensureReaderClosed(resp) 13 | return err 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_enable.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // PluginEnable enables a plugin 10 | func (cli *Client) PluginEnable(ctx context.Context, name string) error { 11 | resp, err := cli.post(ctx, "/plugins/"+name+"/enable", nil, nil, nil) 12 | ensureReaderClosed(resp) 13 | return err 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_inspect.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "bytes" 7 | "encoding/json" 8 | "io/ioutil" 9 | 10 | "github.com/docker/docker/api/types" 11 | "golang.org/x/net/context" 12 | ) 13 | 14 | // PluginInspectWithRaw inspects an existing plugin 15 | func (cli *Client) PluginInspectWithRaw(ctx context.Context, name string) (*types.Plugin, []byte, error) { 16 | resp, err := cli.get(ctx, "/plugins/"+name, nil, nil) 17 | if err != nil { 18 | return nil, nil, err 19 | } 20 | 21 | defer ensureReaderClosed(resp) 22 | body, err := ioutil.ReadAll(resp.body) 23 | if err != nil { 24 | return nil, nil, err 25 | } 26 | var p types.Plugin 27 | rdr := bytes.NewReader(body) 28 | err = json.NewDecoder(rdr).Decode(&p) 29 | return &p, body, err 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_list.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "encoding/json" 7 | 8 | "github.com/docker/docker/api/types" 9 | "golang.org/x/net/context" 10 | ) 11 | 12 | // PluginList returns the installed plugins 13 | func (cli *Client) PluginList(ctx context.Context) (types.PluginsListResponse, error) { 14 | var plugins types.PluginsListResponse 15 | resp, err := cli.get(ctx, "/plugins", nil, nil) 16 | if err != nil { 17 | return plugins, err 18 | } 19 | 20 | err = json.NewDecoder(resp.body).Decode(&plugins) 21 | ensureReaderClosed(resp) 22 | return plugins, err 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_push.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // PluginPush pushes a plugin to a registry 10 | func (cli *Client) PluginPush(ctx context.Context, name string, registryAuth string) error { 11 | headers := map[string][]string{"X-Registry-Auth": {registryAuth}} 12 | resp, err := cli.post(ctx, "/plugins/"+name+"/push", nil, nil, headers) 13 | ensureReaderClosed(resp) 14 | return err 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_remove.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "net/url" 7 | 8 | "github.com/docker/docker/api/types" 9 | "golang.org/x/net/context" 10 | ) 11 | 12 | // PluginRemove removes a plugin 13 | func (cli *Client) PluginRemove(ctx context.Context, name string, options types.PluginRemoveOptions) error { 14 | query := url.Values{} 15 | if options.Force { 16 | query.Set("force", "1") 17 | } 18 | 19 | resp, err := cli.delete(ctx, "/plugins/"+name, query, nil) 20 | ensureReaderClosed(resp) 21 | return err 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/plugin_set.go: -------------------------------------------------------------------------------- 1 | // +build experimental 2 | 3 | package client 4 | 5 | import ( 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // PluginSet modifies settings for an existing plugin 10 | func (cli *Client) PluginSet(ctx context.Context, name string, args []string) error { 11 | resp, err := cli.post(ctx, "/plugins/"+name+"/set", nil, args, nil) 12 | ensureReaderClosed(resp) 13 | return err 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/service_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import "golang.org/x/net/context" 4 | 5 | // ServiceRemove kills and removes a service. 6 | func (cli *Client) ServiceRemove(ctx context.Context, serviceID string) error { 7 | resp, err := cli.delete(ctx, "/services/"+serviceID, nil, nil) 8 | ensureReaderClosed(resp) 9 | return err 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/swarm_init.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types/swarm" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // SwarmInit initializes the Swarm. 11 | func (cli *Client) SwarmInit(ctx context.Context, req swarm.InitRequest) (string, error) { 12 | serverResp, err := cli.post(ctx, "/swarm/init", nil, req, nil) 13 | if err != nil { 14 | return "", err 15 | } 16 | 17 | var response string 18 | err = json.NewDecoder(serverResp.body).Decode(&response) 19 | ensureReaderClosed(serverResp) 20 | return response, err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/swarm_inspect.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types/swarm" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // SwarmInspect inspects the Swarm. 11 | func (cli *Client) SwarmInspect(ctx context.Context) (swarm.Swarm, error) { 12 | serverResp, err := cli.get(ctx, "/swarm", nil, nil) 13 | if err != nil { 14 | return swarm.Swarm{}, err 15 | } 16 | 17 | var response swarm.Swarm 18 | err = json.NewDecoder(serverResp.body).Decode(&response) 19 | ensureReaderClosed(serverResp) 20 | return response, err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/swarm_join.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "github.com/docker/docker/api/types/swarm" 5 | "golang.org/x/net/context" 6 | ) 7 | 8 | // SwarmJoin joins the Swarm. 9 | func (cli *Client) SwarmJoin(ctx context.Context, req swarm.JoinRequest) error { 10 | resp, err := cli.post(ctx, "/swarm/join", nil, req, nil) 11 | ensureReaderClosed(resp) 12 | return err 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/swarm_leave.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // SwarmLeave leaves the Swarm. 10 | func (cli *Client) SwarmLeave(ctx context.Context, force bool) error { 11 | query := url.Values{} 12 | if force { 13 | query.Set("force", "1") 14 | } 15 | resp, err := cli.post(ctx, "/swarm/leave", query, nil, nil) 16 | ensureReaderClosed(resp) 17 | return err 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/swarm_update.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "fmt" 5 | "net/url" 6 | "strconv" 7 | 8 | "github.com/docker/docker/api/types/swarm" 9 | "golang.org/x/net/context" 10 | ) 11 | 12 | // SwarmUpdate updates the Swarm. 13 | func (cli *Client) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error { 14 | query := url.Values{} 15 | query.Set("version", strconv.FormatUint(version.Index, 10)) 16 | query.Set("rotateWorkerToken", fmt.Sprintf("%v", flags.RotateWorkerToken)) 17 | query.Set("rotateManagerToken", fmt.Sprintf("%v", flags.RotateManagerToken)) 18 | resp, err := cli.post(ctx, "/swarm/update", query, swarm, nil) 19 | ensureReaderClosed(resp) 20 | return err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/version.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // ServerVersion returns information of the docker client and server host. 11 | func (cli *Client) ServerVersion(ctx context.Context) (types.Version, error) { 12 | resp, err := cli.get(ctx, "/version", nil, nil) 13 | if err != nil { 14 | return types.Version{}, err 15 | } 16 | 17 | var server types.Version 18 | err = json.NewDecoder(resp.body).Decode(&server) 19 | ensureReaderClosed(resp) 20 | return server, err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/volume_create.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "github.com/docker/docker/api/types" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | // VolumeCreate creates a volume in the docker host. 11 | func (cli *Client) VolumeCreate(ctx context.Context, options types.VolumeCreateRequest) (types.Volume, error) { 12 | var volume types.Volume 13 | resp, err := cli.post(ctx, "/volumes/create", nil, options, nil) 14 | if err != nil { 15 | return volume, err 16 | } 17 | err = json.NewDecoder(resp.body).Decode(&volume) 18 | ensureReaderClosed(resp) 19 | return volume, err 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/volume_prune.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/docker/docker/api/types" 8 | "golang.org/x/net/context" 9 | ) 10 | 11 | // VolumesPrune requests the daemon to delete unused data 12 | func (cli *Client) VolumesPrune(ctx context.Context, cfg types.VolumesPruneConfig) (types.VolumesPruneReport, error) { 13 | var report types.VolumesPruneReport 14 | 15 | serverResp, err := cli.post(ctx, "/volumes/prune", nil, cfg, nil) 16 | if err != nil { 17 | return report, err 18 | } 19 | defer ensureReaderClosed(serverResp) 20 | 21 | if err := json.NewDecoder(serverResp.body).Decode(&report); err != nil { 22 | return report, fmt.Errorf("Error retrieving disk usage: %v", err) 23 | } 24 | 25 | return report, nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/client/volume_remove.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "net/url" 5 | 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // VolumeRemove removes a volume from the docker host. 10 | func (cli *Client) VolumeRemove(ctx context.Context, volumeID string, force bool) error { 11 | query := url.Values{} 12 | if force { 13 | query.Set("force", "1") 14 | } 15 | resp, err := cli.delete(ctx, "/volumes/"+volumeID, query, nil) 16 | ensureReaderClosed(resp) 17 | return err 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/daemon/graphdriver/driver_freebsd.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | import "syscall" 4 | 5 | var ( 6 | // Slice of drivers that should be used in an order 7 | priority = []string{ 8 | "zfs", 9 | } 10 | ) 11 | 12 | // Mounted checks if the given path is mounted as the fs type 13 | func Mounted(fsType FsMagic, mountPath string) (bool, error) { 14 | var buf syscall.Statfs_t 15 | if err := syscall.Statfs(mountPath, &buf); err != nil { 16 | return false, err 17 | } 18 | return FsMagic(buf.Type) == fsType, nil 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/daemon/graphdriver/driver_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!solaris 2 | 3 | package graphdriver 4 | 5 | var ( 6 | // Slice of drivers that should be used in an order 7 | priority = []string{ 8 | "unsupported", 9 | } 10 | ) 11 | 12 | // GetFSMagic returns the filesystem id given the path. 13 | func GetFSMagic(rootpath string) (FsMagic, error) { 14 | return FsMagicUnsupported, nil 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/daemon/graphdriver/driver_windows.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | var ( 4 | // Slice of drivers that should be used in order 5 | priority = []string{ 6 | "windowsfilter", 7 | } 8 | ) 9 | 10 | // GetFSMagic returns the filesystem id given the path. 11 | func GetFSMagic(rootpath string) (FsMagic, error) { 12 | // Note it is OK to return FsMagicUnsupported on Windows. 13 | return FsMagicUnsupported, nil 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/daemon/graphdriver/plugin_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !experimental 2 | 3 | package graphdriver 4 | 5 | import "github.com/docker/docker/pkg/plugingetter" 6 | 7 | func lookupPlugin(name, home string, opts []string, pg plugingetter.PluginGetter) (Driver, error) { 8 | return nil, ErrNotSupported 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/layer/layer_store_windows.go: -------------------------------------------------------------------------------- 1 | package layer 2 | 3 | import ( 4 | "io" 5 | 6 | "github.com/docker/distribution" 7 | ) 8 | 9 | func (ls *layerStore) RegisterWithDescriptor(ts io.Reader, parent ChainID, descriptor distribution.Descriptor) (Layer, error) { 10 | return ls.registerWithDescriptor(ts, parent, descriptor) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/layer/layer_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd darwin openbsd solaris 2 | 3 | package layer 4 | 5 | import "github.com/docker/docker/pkg/stringid" 6 | 7 | func (ls *layerStore) mountID(name string) string { 8 | return stringid.GenerateRandomID() 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/layer/ro_layer_windows.go: -------------------------------------------------------------------------------- 1 | package layer 2 | 3 | import "github.com/docker/distribution" 4 | 5 | var _ distribution.Describable = &roLayer{} 6 | 7 | func (rl *roLayer) Descriptor() distribution.Descriptor { 8 | return rl.descriptor 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/opts/hosts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | import "fmt" 6 | 7 | // DefaultHost constant defines the default host string used by docker on other hosts than Windows 8 | var DefaultHost = fmt.Sprintf("unix://%s", DefaultUnixSocket) 9 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/opts/hosts_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package opts 4 | 5 | // DefaultHost constant defines the default host string used by docker on Windows 6 | var DefaultHost = "npipe://" + DefaultNamedPipe 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/opts/opts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | // DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. docker daemon -H tcp://:8080 6 | const DefaultHTTPHost = "localhost" 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/README.md: -------------------------------------------------------------------------------- 1 | This code provides helper functions for dealing with archive files. 2 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/archive_other.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package archive 4 | 5 | func getWhiteoutConverter(format WhiteoutFormat) tarWhiteoutConverter { 6 | return nil 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/changes_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "os" 5 | 6 | "github.com/docker/docker/pkg/system" 7 | ) 8 | 9 | func statDifferent(oldStat *system.StatT, newStat *system.StatT) bool { 10 | 11 | // Don't look at size for dirs, its not a good measure of change 12 | if oldStat.ModTime() != newStat.ModTime() || 13 | oldStat.Mode() != newStat.Mode() || 14 | oldStat.Size() != newStat.Size() && !oldStat.IsDir() { 15 | return true 16 | } 17 | return false 18 | } 19 | 20 | func (info *FileInfo) isDir() bool { 21 | return info.parent == nil || info.stat.IsDir() 22 | } 23 | 24 | func getIno(fi os.FileInfo) (inode uint64) { 25 | return 26 | } 27 | 28 | func hasHardlinks(fi os.FileInfo) bool { 29 | return false 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/copy_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package archive 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func normalizePath(path string) string { 10 | return filepath.ToSlash(path) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/copy_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "path/filepath" 5 | ) 6 | 7 | func normalizePath(path string) string { 8 | return filepath.FromSlash(path) 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/time_linux.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "syscall" 5 | "time" 6 | ) 7 | 8 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 9 | if time.IsZero() { 10 | // Return UTIME_OMIT special value 11 | ts.Sec = 0 12 | ts.Nsec = ((1 << 30) - 2) 13 | return 14 | } 15 | return syscall.NsecToTimespec(time.UnixNano()) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/archive/time_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package archive 4 | 5 | import ( 6 | "syscall" 7 | "time" 8 | ) 9 | 10 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 11 | nsec := int64(0) 12 | if !time.IsZero() { 13 | nsec = time.UnixNano() 14 | } 15 | return syscall.NsecToTimespec(nsec) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/chrootarchive/archive_windows.go: -------------------------------------------------------------------------------- 1 | package chrootarchive 2 | 3 | import ( 4 | "io" 5 | 6 | "github.com/docker/docker/pkg/archive" 7 | "github.com/docker/docker/pkg/longpath" 8 | ) 9 | 10 | // chroot is not supported by Windows 11 | func chroot(path string) error { 12 | return nil 13 | } 14 | 15 | func invokeUnpack(decompressedArchive io.ReadCloser, 16 | dest string, 17 | options *archive.TarOptions) error { 18 | // Windows is different to Linux here because Windows does not support 19 | // chroot. Hence there is no point sandboxing a chrooted process to 20 | // do the unpack. We call inline instead within the daemon process. 21 | return archive.Unpack(decompressedArchive, longpath.AddPrefix(dest), options) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/chrootarchive/chroot_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!linux 2 | 3 | package chrootarchive 4 | 5 | import "syscall" 6 | 7 | func chroot(path string) error { 8 | if err := syscall.Chroot(path); err != nil { 9 | return err 10 | } 11 | return syscall.Chdir("/") 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/chrootarchive/init_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package chrootarchive 4 | 5 | import ( 6 | "fmt" 7 | "io" 8 | "io/ioutil" 9 | "os" 10 | 11 | "github.com/docker/docker/pkg/reexec" 12 | ) 13 | 14 | func init() { 15 | reexec.Register("docker-applyLayer", applyLayer) 16 | reexec.Register("docker-untar", untar) 17 | } 18 | 19 | func fatal(err error) { 20 | fmt.Fprint(os.Stderr, err) 21 | os.Exit(1) 22 | } 23 | 24 | // flush consumes all the bytes from the reader discarding 25 | // any errors 26 | func flush(r io.Reader) (bytes int64, err error) { 27 | return io.Copy(ioutil.Discard, r) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/chrootarchive/init_windows.go: -------------------------------------------------------------------------------- 1 | package chrootarchive 2 | 3 | func init() { 4 | } 5 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/fileutils/fileutils_darwin.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | import ( 4 | "os" 5 | "os/exec" 6 | "strconv" 7 | "strings" 8 | ) 9 | 10 | // GetTotalUsedFds returns the number of used File Descriptors by 11 | // executing `lsof -p PID` 12 | func GetTotalUsedFds() int { 13 | pid := os.Getpid() 14 | 15 | cmd := exec.Command("lsof", "-p", strconv.Itoa(pid)) 16 | 17 | output, err := cmd.CombinedOutput() 18 | if err != nil { 19 | return -1 20 | } 21 | 22 | outputStr := strings.TrimSpace(string(output)) 23 | 24 | fds := strings.Split(outputStr, "\n") 25 | 26 | return len(fds) - 1 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/fileutils/fileutils_solaris.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. 4 | // On Solaris these limits are per process and not systemwide 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/fileutils/fileutils_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd 2 | 3 | package fileutils 4 | 5 | import ( 6 | "fmt" 7 | "io/ioutil" 8 | "os" 9 | 10 | "github.com/Sirupsen/logrus" 11 | ) 12 | 13 | // GetTotalUsedFds Returns the number of used File Descriptors by 14 | // reading it via /proc filesystem. 15 | func GetTotalUsedFds() int { 16 | if fds, err := ioutil.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil { 17 | logrus.Errorf("Error opening /proc/%d/fd: %s", os.Getpid(), err) 18 | } else { 19 | return len(fds) 20 | } 21 | return -1 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/fileutils/fileutils_windows.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. Not supported 4 | // on Windows. 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/idtools/usergroupadd_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package idtools 4 | 5 | import "fmt" 6 | 7 | // AddNamespaceRangesUser takes a name and finds an unused uid, gid pair 8 | // and calls the appropriate helper function to add the group and then 9 | // the user to the group in /etc/group and /etc/passwd respectively. 10 | func AddNamespaceRangesUser(name string) (int, int, error) { 11 | return -1, -1, fmt.Errorf("No support for adding users or groups on this OS") 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/ioutils/fmt.go: -------------------------------------------------------------------------------- 1 | package ioutils 2 | 3 | import ( 4 | "fmt" 5 | "io" 6 | ) 7 | 8 | // FprintfIfNotEmpty prints the string value if it's not empty 9 | func FprintfIfNotEmpty(w io.Writer, format, value string) (int, error) { 10 | if value != "" { 11 | return fmt.Fprintf(w, format, value) 12 | } 13 | return 0, nil 14 | } 15 | 16 | // FprintfIfTrue prints the boolean value if it's true 17 | func FprintfIfTrue(w io.Writer, format string, ok bool) (int, error) { 18 | if ok { 19 | return fmt.Fprintf(w, format, ok) 20 | } 21 | return 0, nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/ioutils/temp_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package ioutils 4 | 5 | import "io/ioutil" 6 | 7 | // TempDir on Unix systems is equivalent to ioutil.TempDir. 8 | func TempDir(dir, prefix string) (string, error) { 9 | return ioutil.TempDir(dir, prefix) 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/ioutils/temp_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package ioutils 4 | 5 | import ( 6 | "io/ioutil" 7 | 8 | "github.com/docker/docker/pkg/longpath" 9 | ) 10 | 11 | // TempDir is the equivalent of ioutil.TempDir, except that the result is in Windows longpath format. 12 | func TempDir(dir, prefix string) (string, error) { 13 | tempDir, err := ioutil.TempDir(dir, prefix) 14 | if err != nil { 15 | return "", err 16 | } 17 | return longpath.AddPrefix(tempDir), nil 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/flags_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | // These flags are unsupported. 6 | const ( 7 | BIND = 0 8 | DIRSYNC = 0 9 | MANDLOCK = 0 10 | NOATIME = 0 11 | NODEV = 0 12 | NODIRATIME = 0 13 | NOEXEC = 0 14 | NOSUID = 0 15 | UNBINDABLE = 0 16 | RUNBINDABLE = 0 17 | PRIVATE = 0 18 | RPRIVATE = 0 19 | SHARED = 0 20 | RSHARED = 0 21 | SLAVE = 0 22 | RSLAVE = 0 23 | RBIND = 0 24 | RELATIME = 0 25 | RELATIVE = 0 26 | REMOUNT = 0 27 | STRICTATIME = 0 28 | SYNCHRONOUS = 0 29 | RDONLY = 0 30 | ) 31 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mounter_linux.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | func mount(device, target, mType string, flag uintptr, data string) error { 8 | if err := syscall.Mount(device, target, mType, flag, data); err != nil { 9 | return err 10 | } 11 | 12 | // If we have a bind mount or remount, remount... 13 | if flag&syscall.MS_BIND == syscall.MS_BIND && flag&syscall.MS_RDONLY == syscall.MS_RDONLY { 14 | return syscall.Mount(device, target, mType, flag|syscall.MS_REMOUNT, data) 15 | } 16 | return nil 17 | } 18 | 19 | func unmount(target string, flag int) error { 20 | return syscall.Unmount(target, flag) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mounter_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd,!solaris freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | func mount(device, target, mType string, flag uintptr, data string) error { 6 | panic("Not implemented") 7 | } 8 | 9 | func unmount(target string, flag int) error { 10 | panic("Not implemented") 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mountinfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!linux,!freebsd,!solaris freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | import ( 6 | "fmt" 7 | "runtime" 8 | ) 9 | 10 | func parseMountTable() ([]*Info, error) { 11 | return nil, fmt.Errorf("mount.parseMountTable is not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mountinfo_windows.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | func parseMountTable() ([]*Info, error) { 4 | // Do NOT return an error! 5 | return nil, nil 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/plugingetter/getter.go: -------------------------------------------------------------------------------- 1 | package plugingetter 2 | 3 | import "github.com/docker/docker/pkg/plugins" 4 | 5 | const ( 6 | // LOOKUP doesn't update RefCount 7 | LOOKUP = 0 8 | // CREATE increments RefCount 9 | CREATE = 1 10 | // REMOVE decrements RefCount 11 | REMOVE = -1 12 | ) 13 | 14 | // CompatPlugin is a abstraction to handle both v2(new) and v1(legacy) plugins. 15 | type CompatPlugin interface { 16 | Client() *plugins.Client 17 | Name() string 18 | IsV1() bool 19 | } 20 | 21 | // PluginGetter is the interface implemented by Store 22 | type PluginGetter interface { 23 | Get(name, capability string, mode int) (CompatPlugin, error) 24 | GetAllByCap(capability string) ([]CompatPlugin, error) 25 | Handle(capability string, callback func(string, *plugins.Client)) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/plugins/discovery_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package plugins 4 | 5 | var specsPaths = []string{"/etc/docker/plugins", "/usr/lib/docker/plugins"} 6 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/plugins/discovery_windows.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "os" 5 | "path/filepath" 6 | ) 7 | 8 | var specsPaths = []string{filepath.Join(os.Getenv("programdata"), "docker", "plugins")} 9 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/plugins/errors.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | ) 7 | 8 | type statusError struct { 9 | status int 10 | method string 11 | err string 12 | } 13 | 14 | // Error returns a formatted string for this error type 15 | func (e *statusError) Error() string { 16 | return fmt.Sprintf("%s: %v", e.method, e.err) 17 | } 18 | 19 | // IsNotFound indicates if the passed in error is from an http.StatusNotFound from the plugin 20 | func IsNotFound(err error) bool { 21 | return isStatusError(err, http.StatusNotFound) 22 | } 23 | 24 | func isStatusError(err error, status int) bool { 25 | if err == nil { 26 | return false 27 | } 28 | e, ok := err.(*statusError) 29 | if !ok { 30 | return false 31 | } 32 | return e.status == status 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/promise/promise.go: -------------------------------------------------------------------------------- 1 | package promise 2 | 3 | // Go is a basic promise implementation: it wraps calls a function in a goroutine, 4 | // and returns a channel which will later return the function's return value. 5 | func Go(f func() error) chan error { 6 | ch := make(chan error, 1) 7 | go func() { 8 | ch <- f() 9 | }() 10 | return ch 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/reexec/README.md: -------------------------------------------------------------------------------- 1 | ## reexec 2 | 3 | The `reexec` package facilitates the busybox style reexec of the docker binary that we require because 4 | of the forking limitations of using Go. Handlers can be registered with a name and the argv 0 of 5 | the exec of the binary will be used to find and execute custom init paths. 6 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/reexec/command_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | "syscall" 8 | ) 9 | 10 | // Self returns the path to the current process's binary. 11 | // Returns "/proc/self/exe". 12 | func Self() string { 13 | return "/proc/self/exe" 14 | } 15 | 16 | // Command returns *exec.Cmd which has Path as current binary. Also it setting 17 | // SysProcAttr.Pdeathsig to SIGTERM. 18 | // This will use the in-memory version (/proc/self/exe) of the current binary, 19 | // it is thus safe to delete or replace the on-disk binary (os.Args[0]). 20 | func Command(args ...string) *exec.Cmd { 21 | return &exec.Cmd{ 22 | Path: Self(), 23 | Args: args, 24 | SysProcAttr: &syscall.SysProcAttr{ 25 | Pdeathsig: syscall.SIGTERM, 26 | }, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/reexec/command_unix.go: -------------------------------------------------------------------------------- 1 | // +build freebsd solaris darwin 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Self returns the path to the current process's binary. 10 | // Uses os.Args[0]. 11 | func Self() string { 12 | return naiveSelf() 13 | } 14 | 15 | // Command returns *exec.Cmd which has Path as current binary. 16 | // For example if current binary is "docker" at "/usr/bin/", then cmd.Path will 17 | // be set to "/usr/bin/docker". 18 | func Command(args ...string) *exec.Cmd { 19 | return &exec.Cmd{ 20 | Path: Self(), 21 | Args: args, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/reexec/command_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!solaris,!darwin 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Command is unsupported on operating systems apart from Linux, Windows, Solaris and Darwin. 10 | func Command(args ...string) *exec.Cmd { 11 | return nil 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/reexec/command_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Self returns the path to the current process's binary. 10 | // Uses os.Args[0]. 11 | func Self() string { 12 | return naiveSelf() 13 | } 14 | 15 | // Command returns *exec.Cmd which has Path as current binary. 16 | // For example if current binary is "docker.exe" at "C:\", then cmd.Path will 17 | // be set to "C:\docker.exe". 18 | func Command(args ...string) *exec.Cmd { 19 | return &exec.Cmd{ 20 | Path: Self(), 21 | Args: args, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/signal/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with signals across various operating systems -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/signal/signal_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package signal 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Signals used in cli/command (no windows equivalent, use 10 | // invalid signals so they don't get handled) 11 | 12 | const ( 13 | // SIGCHLD is a signal sent to a process when a child process terminates, is interrupted, or resumes after being interrupted. 14 | SIGCHLD = syscall.SIGCHLD 15 | // SIGWINCH is a signal sent to a process when its controlling terminal changes its size 16 | SIGWINCH = syscall.SIGWINCH 17 | // SIGPIPE is a signal sent to a process when a pipe is written to before the other end is open for reading 18 | SIGPIPE = syscall.SIGPIPE 19 | // DefaultStopSignal is the syscall signal used to stop a container in unix systems. 20 | DefaultStopSignal = "SIGTERM" 21 | ) 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/signal/signal_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!darwin,!freebsd,!windows,!solaris 2 | 3 | package signal 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // SignalMap is an empty map of signals for unsupported platform. 10 | var SignalMap = map[string]syscall.Signal{} 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/stringid/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with string identifiers 2 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/symlink/README.md: -------------------------------------------------------------------------------- 1 | Package symlink implements EvalSymlinksInScope which is an extension of filepath.EvalSymlinks, 2 | as well as a Windows long-path aware version of filepath.EvalSymlinks 3 | from the [Go standard library](https://golang.org/pkg/path/filepath). 4 | 5 | The code from filepath.EvalSymlinks has been adapted in fs.go. 6 | Please read the LICENSE.BSD file that governs fs.go and LICENSE.APACHE for fs_test.go. 7 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/symlink/fs_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package symlink 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func evalSymlinks(path string) (string, error) { 10 | return filepath.EvalSymlinks(path) 11 | } 12 | 13 | func isDriveOrRoot(p string) bool { 14 | return p == string(filepath.Separator) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/chtimes_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "time" 7 | ) 8 | 9 | //setCTime will set the create time on a file. On Unix, the create 10 | //time is updated as a side effect of setting the modified time, so 11 | //no action is required. 12 | func setCTime(path string, ctime time.Time) error { 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/errors.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | var ( 8 | // ErrNotSupportedPlatform means the platform is not supported. 9 | ErrNotSupportedPlatform = errors.New("platform and architecture is not supported") 10 | ) 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/filesys.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "path/filepath" 8 | ) 9 | 10 | // MkdirAll creates a directory named path along with any necessary parents, 11 | // with permission specified by attribute perm for all dir created. 12 | func MkdirAll(path string, perm os.FileMode) error { 13 | return os.MkdirAll(path, perm) 14 | } 15 | 16 | // IsAbs is a platform-specific wrapper for filepath.IsAbs. 17 | func IsAbs(path string) bool { 18 | return filepath.IsAbs(path) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/lstat.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Lstat takes a path to a file and returns 10 | // a system.StatT type pertaining to that file. 11 | // 12 | // Throws an error if the file does not exist 13 | func Lstat(path string) (*StatT, error) { 14 | s := &syscall.Stat_t{} 15 | if err := syscall.Lstat(path, s); err != nil { 16 | return nil, err 17 | } 18 | return fromStatT(s) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/lstat_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | // Lstat calls os.Lstat to get a fileinfo interface back. 10 | // This is then copied into our own locally defined structure. 11 | // Note the Linux version uses fromStatT to do the copy back, 12 | // but that not strictly necessary when already in an OS specific module. 13 | func Lstat(path string) (*StatT, error) { 14 | fi, err := os.Lstat(path) 15 | if err != nil { 16 | return nil, err 17 | } 18 | 19 | return &StatT{ 20 | name: fi.Name(), 21 | size: fi.Size(), 22 | mode: fi.Mode(), 23 | modTime: fi.ModTime(), 24 | isDir: fi.IsDir()}, nil 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/meminfo.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | // MemInfo contains memory statistics of the host system. 4 | type MemInfo struct { 5 | // Total usable RAM (i.e. physical RAM minus a few reserved bits and the 6 | // kernel binary code). 7 | MemTotal int64 8 | 9 | // Amount of free memory. 10 | MemFree int64 11 | 12 | // Total amount of swap space available. 13 | SwapTotal int64 14 | 15 | // Amount of swap space that is currently unused. 16 | SwapFree int64 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/meminfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!solaris 2 | 3 | package system 4 | 5 | // ReadMemInfo is not supported on platforms other than linux and windows. 6 | func ReadMemInfo() (*MemInfo, error) { 7 | return nil, ErrNotSupportedPlatform 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/mknod_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | // Mknod is not implemented on Windows. 6 | func Mknod(path string, mode uint32, dev int) error { 7 | return ErrNotSupportedPlatform 8 | } 9 | 10 | // Mkdev is not implemented on Windows. 11 | func Mkdev(major int64, minor int64) uint32 { 12 | panic("Mkdev not implemented on Windows.") 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/path_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | // DefaultPathEnv is unix style list of directories to search for 6 | // executables. Each directory is separated from the next by a colon 7 | // ':' character . 8 | const DefaultPathEnv = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 9 | 10 | // CheckSystemDriveAndRemoveDriveLetter verifies that a path, if it includes a drive letter, 11 | // is the system drive. This is a no-op on Linux. 12 | func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error) { 13 | return path, nil 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/stat_freebsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 8 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 9 | return &StatT{size: s.Size, 10 | mode: uint32(s.Mode), 11 | uid: s.Uid, 12 | gid: s.Gid, 13 | rdev: uint64(s.Rdev), 14 | mtim: s.Mtimespec}, nil 15 | } 16 | 17 | // Stat takes a path to a file and returns 18 | // a system.Stat_t type pertaining to that file. 19 | // 20 | // Throws an error if the file does not exist 21 | func Stat(path string) (*StatT, error) { 22 | s := &syscall.Stat_t{} 23 | if err := syscall.Stat(path, s); err != nil { 24 | return nil, err 25 | } 26 | return fromStatT(s) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/stat_openbsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // fromStatT creates a system.StatT type from a syscall.Stat_t type 8 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 9 | return &StatT{size: s.Size, 10 | mode: uint32(s.Mode), 11 | uid: s.Uid, 12 | gid: s.Gid, 13 | rdev: uint64(s.Rdev), 14 | mtim: s.Mtim}, nil 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/stat_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!solaris,!openbsd,!darwin 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // fromStatT creates a system.StatT type from a syscall.Stat_t type 10 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 11 | return &StatT{size: s.Size, 12 | mode: uint32(s.Mode), 13 | uid: s.Uid, 14 | gid: s.Gid, 15 | rdev: uint64(s.Rdev), 16 | mtim: s.Mtimespec}, nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/syscall_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // Unmount is a platform-specific helper function to call 8 | // the unmount syscall. 9 | func Unmount(dest string) error { 10 | return syscall.Unmount(dest, 0) 11 | } 12 | 13 | // CommandLineToArgv should not be used on Unix. 14 | // It simply returns commandLine in the only element in the returned array. 15 | func CommandLineToArgv(commandLine string) ([]string, error) { 16 | return []string{commandLine}, nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/umask.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Umask sets current process's file mode creation mask to newmask 10 | // and returns oldmask. 11 | func Umask(newmask int) (oldmask int, err error) { 12 | return syscall.Umask(newmask), nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/umask_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | // Umask is not supported on the windows platform. 6 | func Umask(newmask int) (oldmask int, err error) { 7 | // should not be called on cli code path 8 | return 0, ErrNotSupportedPlatform 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/utimes_freebsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | "unsafe" 6 | ) 7 | 8 | // LUtimesNano is used to change access and modification time of the specified path. 9 | // It's used for symbol link file because syscall.UtimesNano doesn't support a NOFOLLOW flag atm. 10 | func LUtimesNano(path string, ts []syscall.Timespec) error { 11 | var _path *byte 12 | _path, err := syscall.BytePtrFromString(path) 13 | if err != nil { 14 | return err 15 | } 16 | 17 | if _, _, err := syscall.Syscall(syscall.SYS_LUTIMES, uintptr(unsafe.Pointer(_path)), uintptr(unsafe.Pointer(&ts[0])), 0); err != 0 && err != syscall.ENOSYS { 18 | return err 19 | } 20 | 21 | return nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/utimes_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // LUtimesNano is only supported on linux and freebsd. 8 | func LUtimesNano(path string, ts []syscall.Timespec) error { 9 | return ErrNotSupportedPlatform 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/system/xattrs_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package system 4 | 5 | // Lgetxattr is not supported on platforms other than linux. 6 | func Lgetxattr(path string, attr string) ([]byte, error) { 7 | return nil, ErrNotSupportedPlatform 8 | } 9 | 10 | // Lsetxattr is not supported on platforms other than linux. 11 | func Lsetxattr(path string, attr string, data []byte, flags int) error { 12 | return ErrNotSupportedPlatform 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/tarsum/builder_context.go: -------------------------------------------------------------------------------- 1 | package tarsum 2 | 3 | // BuilderContext is an interface extending TarSum by adding the Remove method. 4 | // In general there was concern about adding this method to TarSum itself 5 | // so instead it is being added just to "BuilderContext" which will then 6 | // only be used during the .dockerignore file processing 7 | // - see builder/evaluator.go 8 | type BuilderContext interface { 9 | TarSum 10 | Remove(string) 11 | } 12 | 13 | func (bc *tarSum) Remove(filename string) { 14 | for i, fis := range bc.sums { 15 | if fis.Name() == filename { 16 | bc.sums = append(bc.sums[:i], bc.sums[i+1:]...) 17 | // Note, we don't just return because there could be 18 | // more than one with this name 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/tarsum/writercloser.go: -------------------------------------------------------------------------------- 1 | package tarsum 2 | 3 | import ( 4 | "io" 5 | ) 6 | 7 | type writeCloseFlusher interface { 8 | io.WriteCloser 9 | Flush() error 10 | } 11 | 12 | type nopCloseFlusher struct { 13 | io.Writer 14 | } 15 | 16 | func (n *nopCloseFlusher) Close() error { 17 | return nil 18 | } 19 | 20 | func (n *nopCloseFlusher) Flush() error { 21 | return nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/term/tc_other.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !linux !cgo 3 | // +build !solaris !cgo 4 | 5 | package term 6 | 7 | import ( 8 | "syscall" 9 | "unsafe" 10 | ) 11 | 12 | func tcget(fd uintptr, p *Termios) syscall.Errno { 13 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(getTermios), uintptr(unsafe.Pointer(p))) 14 | return err 15 | } 16 | 17 | func tcset(fd uintptr, p *Termios) syscall.Errno { 18 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, setTermios, uintptr(unsafe.Pointer(p))) 19 | return err 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/tlsconfig/tlsconfig_clone.go: -------------------------------------------------------------------------------- 1 | // +build go1.8 2 | 3 | package tlsconfig 4 | 5 | import "crypto/tls" 6 | 7 | // Clone returns a clone of tls.Config. This function is provided for 8 | // compatibility for go1.7 that doesn't include this method in stdlib. 9 | func Clone(c *tls.Config) *tls.Config { 10 | return c.Clone() 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-connections?status.svg)](https://godoc.org/github.com/docker/go-connections) 2 | 3 | # Introduction 4 | 5 | go-connections provides common package to work with network connections. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-connections) for examples and documentation. 10 | 11 | ## License 12 | 13 | go-connections is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text. 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | pre: 3 | # setup ipv6 4 | - sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0 net.ipv6.conf.all.disable_ipv6=0 5 | post: 6 | # install golint 7 | - go get github.com/golang/lint/golint 8 | 9 | test: 10 | pre: 11 | # run analysis before tests 12 | - go vet ./... 13 | - test -z "$(golint ./... | tee /dev/stderr)" 14 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 15 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/sockets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rancher/rancher-compose/88b67b0c10b69c6f0da66d208a3eea7351864dca/vendor/github.com/docker/go-connections/sockets/README.md -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/sockets/sockets_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package sockets 4 | 5 | import ( 6 | "net" 7 | "syscall" 8 | "time" 9 | ) 10 | 11 | // DialPipe connects to a Windows named pipe. 12 | // This is not supported on other OSes. 13 | func DialPipe(_ string, _ time.Duration) (net.Conn, error) { 14 | return nil, syscall.EAFNOSUPPORT 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/sockets/sockets_windows.go: -------------------------------------------------------------------------------- 1 | package sockets 2 | 3 | import ( 4 | "net" 5 | "time" 6 | 7 | "github.com/Microsoft/go-winio" 8 | ) 9 | 10 | // DialPipe connects to a Windows named pipe. 11 | func DialPipe(addr string, timeout time.Duration) (net.Conn, error) { 12 | return winio.DialPipe(addr, &timeout) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/sockets/tcp_socket.go: -------------------------------------------------------------------------------- 1 | // Package sockets provides helper functions to create and configure Unix or TCP sockets. 2 | package sockets 3 | 4 | import ( 5 | "crypto/tls" 6 | "net" 7 | ) 8 | 9 | // NewTCPSocket creates a TCP socket listener with the specified address and 10 | // and the specified tls configuration. If TLSConfig is set, will encapsulate the 11 | // TCP listener inside a TLS one. 12 | func NewTCPSocket(addr string, tlsConfig *tls.Config) (net.Listener, error) { 13 | l, err := net.Listen("tcp", addr) 14 | if err != nil { 15 | return nil, err 16 | } 17 | if tlsConfig != nil { 18 | tlsConfig.NextProtos = []string{"http/1.1"} 19 | l = tls.NewListener(l, tlsConfig) 20 | } 21 | return l, nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go: -------------------------------------------------------------------------------- 1 | // +build go1.5 2 | 3 | // Package tlsconfig provides primitives to retrieve secure-enough TLS configurations for both clients and servers. 4 | // 5 | package tlsconfig 6 | 7 | import ( 8 | "crypto/tls" 9 | ) 10 | 11 | // Client TLS cipher suites (dropping CBC ciphers for client preferred suite set) 12 | var clientCipherSuites = []uint16{ 13 | tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 14 | tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 15 | tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 16 | tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-connections/tlsconfig/config_legacy_client_ciphers.go: -------------------------------------------------------------------------------- 1 | // +build !go1.5 2 | 3 | // Package tlsconfig provides primitives to retrieve secure-enough TLS configurations for both clients and servers. 4 | // 5 | package tlsconfig 6 | 7 | import ( 8 | "crypto/tls" 9 | ) 10 | 11 | // Client TLS cipher suites (dropping CBC ciphers for client preferred suite set) 12 | var clientCipherSuites = []uint16{ 13 | tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 14 | tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units) 2 | 3 | # Introduction 4 | 5 | go-units is a library to transform human friendly measurements into machine friendly values. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation. 10 | 11 | ## Copyright and license 12 | 13 | Copyright © 2015 Docker, Inc. 14 | 15 | go-units is licensed under the Apache License, Version 2.0. 16 | See [LICENSE](LICENSE) for the full text of the license. 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | post: 3 | # install golint 4 | - go get github.com/golang/lint/golint 5 | 6 | test: 7 | pre: 8 | # run analysis before tests 9 | - go vet ./... 10 | - test -z "$(golint ./... | tee /dev/stderr)" 11 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 12 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/.dockerignore: -------------------------------------------------------------------------------- 1 | bundles/ 2 | **/*.test 3 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /main/main 3 | /docker-compose* 4 | /libcompose-cli* 5 | *.log 6 | *.swp 7 | bundles 8 | .gopath 9 | .idea 10 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Changelog 2 | ========== 3 | 4 | # 0.0.0 (2015-07-09) 5 | 6 | ## Features 7 | - We started 8 | - No where to go but up from here 9 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to libcompose 2 | 3 | Want to hack on Libcompose? Awesome! Here are instructions to get you 4 | started. 5 | 6 | Libcompose is part of the [Docker](https://www.docker.com) project, and 7 | follows the same rules and principles. If you're already familiar with 8 | the way Docker does things, you'll feel right at home. 9 | 10 | Otherwise, go read Docker's 11 | [contributions guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), 12 | [issue triaging](https://github.com/docker/docker/blob/master/project/ISSUE-TRIAGE.md), 13 | [review process](https://github.com/docker/docker/blob/master/project/REVIEWING.md) and 14 | [branches and tags](https://github.com/docker/docker/blob/master/project/BRANCHES-AND-TAGS.md). 15 | 16 | Happy hacking! 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/cli/app/types.go: -------------------------------------------------------------------------------- 1 | package app 2 | 3 | import ( 4 | "github.com/docker/libcompose/project" 5 | "github.com/urfave/cli" 6 | ) 7 | 8 | // ProjectFactory is an interface that helps creating libcompose project. 9 | type ProjectFactory interface { 10 | // Create creates a libcompose project from the command line options (urfave cli context). 11 | Create(c *cli.Context) (project.APIProject, error) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/cli/logger/colors.go: -------------------------------------------------------------------------------- 1 | package logger 2 | 3 | import "fmt" 4 | 5 | var ( 6 | colorPrefix = make(chan string) 7 | ) 8 | 9 | func generateColors() { 10 | i := 0 11 | colorOrder := []string{ 12 | "36", // cyan 13 | "33", // yellow 14 | "32", // green 15 | "35", // magenta 16 | "31", // red 17 | "34", // blue 18 | "36;1", // intense cyan 19 | "33;1", // intense yellow 20 | "32;1", // intense green 21 | "35;1", // intense magenta 22 | "31;1", // intense red 23 | "34;1", // intense blue 24 | } 25 | 26 | for { 27 | colorPrefix <- fmt.Sprintf("\033[%sm%%s |\033[0m", colorOrder[i]) 28 | i = (i + 1) % len(colorOrder) 29 | } 30 | } 31 | 32 | func init() { 33 | go generateColors() 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/container.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | ) 6 | 7 | // Container defines what a libcompose container provides. 8 | type Container interface { 9 | ID() (string, error) 10 | Name() string 11 | Port(ctx context.Context, port string) (string, error) 12 | IsRunning(ctx context.Context) (bool, error) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/network.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/config" 7 | ) 8 | 9 | // Networks defines the methods a libcompose network aggregate should define. 10 | type Networks interface { 11 | Initialize(ctx context.Context) error 12 | Remove(ctx context.Context) error 13 | } 14 | 15 | // NetworksFactory is an interface factory to create Networks object for the specified 16 | // configurations (service, networks, …) 17 | type NetworksFactory interface { 18 | Create(projectName string, networkConfigs map[string]*config.NetworkConfig, serviceConfigs *config.ServiceConfigs, networkEnabled bool) (Networks, error) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_build.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | "github.com/docker/libcompose/project/options" 8 | ) 9 | 10 | // Build builds the specified services (like docker build). 11 | func (p *Project) Build(ctx context.Context, buildOptions options.Build, services ...string) error { 12 | return p.perform(events.ProjectBuildStart, events.ProjectBuildDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 13 | wrapper.Do(wrappers, events.ServiceBuildStart, events.ServiceBuild, func(service Service) error { 14 | return service.Build(ctx, buildOptions) 15 | }) 16 | }), nil) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_delete.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | "github.com/docker/libcompose/project/options" 8 | ) 9 | 10 | // Delete removes the specified services (like docker rm). 11 | func (p *Project) Delete(ctx context.Context, options options.Delete, services ...string) error { 12 | return p.perform(events.ProjectDeleteStart, events.ProjectDeleteDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 13 | wrapper.Do(nil, events.ServiceDeleteStart, events.ServiceDelete, func(service Service) error { 14 | return service.Delete(ctx, options) 15 | }) 16 | }), nil) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_events.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Events listen for real time events from containers (of the project). 10 | func (p *Project) Events(ctx context.Context, services ...string) (chan events.ContainerEvent, error) { 11 | events := make(chan events.ContainerEvent) 12 | if len(services) == 0 { 13 | services = p.ServiceConfigs.Keys() 14 | } 15 | // FIXME(vdemeester) handle errors (chan) here 16 | for _, service := range services { 17 | s, err := p.CreateService(service) 18 | if err != nil { 19 | return nil, err 20 | } 21 | go s.Events(ctx, events) 22 | } 23 | return events, nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_kill.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Kill kills the specified services (like docker kill). 10 | func (p *Project) Kill(ctx context.Context, signal string, services ...string) error { 11 | return p.perform(events.ProjectKillStart, events.ProjectKillDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.ServiceKillStart, events.ServiceKill, func(service Service) error { 13 | return service.Kill(ctx, signal) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_log.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Log aggregates and prints out the logs for the specified services. 10 | func (p *Project) Log(ctx context.Context, follow bool, services ...string) error { 11 | return p.forEach(services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.NoEvent, events.NoEvent, func(service Service) error { 13 | return service.Log(ctx, follow) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_pause.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Pause pauses the specified services containers (like docker pause). 10 | func (p *Project) Pause(ctx context.Context, services ...string) error { 11 | return p.perform(events.ProjectPauseStart, events.ProjectPauseDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.ServicePauseStart, events.ServicePause, func(service Service) error { 13 | return service.Pause(ctx) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_port.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "fmt" 5 | 6 | "golang.org/x/net/context" 7 | ) 8 | 9 | // Port returns the public port for a port binding of the specified service. 10 | func (p *Project) Port(ctx context.Context, index int, protocol, serviceName, privatePort string) (string, error) { 11 | service, err := p.CreateService(serviceName) 12 | if err != nil { 13 | return "", err 14 | } 15 | 16 | containers, err := service.Containers(ctx) 17 | if err != nil { 18 | return "", err 19 | } 20 | 21 | if index < 1 || index > len(containers) { 22 | return "", fmt.Errorf("Invalid index %d", index) 23 | } 24 | 25 | return containers[index-1].Port(ctx, fmt.Sprintf("%s/%s", privatePort, protocol)) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_ps.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | ) 6 | 7 | // Ps list containers for the specified services. 8 | func (p *Project) Ps(ctx context.Context, services ...string) (InfoSet, error) { 9 | allInfo := InfoSet{} 10 | for _, name := range p.ServiceConfigs.Keys() { 11 | service, err := p.CreateService(name) 12 | if err != nil { 13 | return nil, err 14 | } 15 | 16 | info, err := service.Info(ctx) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | allInfo = append(allInfo, info...) 22 | } 23 | return allInfo, nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_pull.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Pull pulls the specified services (like docker pull). 10 | func (p *Project) Pull(ctx context.Context, services ...string) error { 11 | return p.forEach(services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.ServicePullStart, events.ServicePull, func(service Service) error { 13 | return service.Pull(ctx) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_restart.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Restart restarts the specified services (like docker restart). 10 | func (p *Project) Restart(ctx context.Context, timeout int, services ...string) error { 11 | return p.perform(events.ProjectRestartStart, events.ProjectRestartDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(wrappers, events.ServiceRestartStart, events.ServiceRestart, func(service Service) error { 13 | return service.Restart(ctx, timeout) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_start.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Start starts the specified services (like docker start). 10 | func (p *Project) Start(ctx context.Context, services ...string) error { 11 | return p.perform(events.ProjectStartStart, events.ProjectStartDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(wrappers, events.ServiceStartStart, events.ServiceStart, func(service Service) error { 13 | return service.Start(ctx) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_stop.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Stop stops the specified services (like docker stop). 10 | func (p *Project) Stop(ctx context.Context, timeout int, services ...string) error { 11 | return p.perform(events.ProjectStopStart, events.ProjectStopDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.ServiceStopStart, events.ServiceStop, func(service Service) error { 13 | return service.Stop(ctx, timeout) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/project_unpause.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/project/events" 7 | ) 8 | 9 | // Unpause pauses the specified services containers (like docker pause). 10 | func (p *Project) Unpause(ctx context.Context, services ...string) error { 11 | return p.perform(events.ProjectUnpauseStart, events.ProjectUnpauseDone, services, wrapperAction(func(wrapper *serviceWrapper, wrappers map[string]*serviceWrapper) { 12 | wrapper.Do(nil, events.ServiceUnpauseStart, events.ServiceUnpause, func(service Service) error { 13 | return service.Unpause(ctx) 14 | }) 15 | }), nil) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/project/volume.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "golang.org/x/net/context" 5 | 6 | "github.com/docker/libcompose/config" 7 | ) 8 | 9 | // Volumes defines the methods a libcompose volume aggregate should define. 10 | type Volumes interface { 11 | Initialize(ctx context.Context) error 12 | Remove(ctx context.Context) error 13 | } 14 | 15 | // VolumesFactory is an interface factory to create Volumes object for the specified 16 | // configurations (service, volumes, …) 17 | type VolumesFactory interface { 18 | Create(projectName string, volumeConfigs map[string]*config.VolumeConfig, serviceConfigs *config.ServiceConfigs, volumeEnabled bool) (Volumes, error) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/libcompose/version/version.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | var ( 4 | // VERSION should be updated by hand at each release 5 | VERSION = "0.4.0-dev" 6 | 7 | // GITCOMMIT will be overwritten automatically by the build system 8 | GITCOMMIT = "HEAD" 9 | 10 | // BUILDTIME will be overwritten automatically by the build system 11 | BUILDTIME = "" 12 | 13 | // SHOWWARNING might be overwritten by the build system to not show the warning 14 | SHOWWARNING = "true" 15 | ) 16 | 17 | // ShowWarning returns wether the warning should be printed or not 18 | func ShowWarning() bool { 19 | return SHOWWARNING != "false" 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/fatih/structs/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | -------------------------------------------------------------------------------- /vendor/github.com/fatih/structs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.6 4 | - tip 5 | sudo: false 6 | before_install: 7 | - go get github.com/axw/gocov/gocov 8 | - go get github.com/mattn/goveralls 9 | - if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi 10 | script: 11 | - $HOME/gopath/bin/goveralls -service=travis-ci 12 | -------------------------------------------------------------------------------- /vendor/github.com/flynn/go-shlex/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright 2011 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | include $(GOROOT)/src/Make.inc 16 | 17 | TARG=shlex 18 | GOFILES=\ 19 | shlex.go\ 20 | 21 | include $(GOROOT)/src/Make.pkg 22 | -------------------------------------------------------------------------------- /vendor/github.com/flynn/go-shlex/README.md: -------------------------------------------------------------------------------- 1 | go-shlex is a simple lexer for go that supports shell-style quoting, 2 | commenting, and escaping. 3 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/context/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - tip 8 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/context/README.md: -------------------------------------------------------------------------------- 1 | context 2 | ======= 3 | [![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) 4 | 5 | gorilla/context is a general purpose registry for global request variables. 6 | 7 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/context 8 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - tip 8 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/README.md: -------------------------------------------------------------------------------- 1 | mux 2 | === 3 | [![Build Status](https://travis-ci.org/gorilla/mux.png?branch=master)](https://travis-ci.org/gorilla/mux) 4 | 5 | gorilla/mux is a powerful URL router and dispatcher. 6 | 7 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/mux 8 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.1 5 | - 1.2 6 | - tip 7 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Gorilla WebSocket authors for copyright 2 | # purposes. 3 | # 4 | # Please keep the list sorted. 5 | 6 | Gary Burd 7 | Joachim Bauch 8 | 9 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-version/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - 1.3 8 | - 1.4 9 | 10 | script: 11 | - go test 12 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-version/version_collection.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | // Collection is a type that implements the sort.Interface interface 4 | // so that versions can be sorted. 5 | type Collection []*Version 6 | 7 | func (v Collection) Len() int { 8 | return len(v) 9 | } 10 | 11 | func (v Collection) Less(i, j int) bool { 12 | return v[i].LessThan(v[j]) 13 | } 14 | 15 | func (v Collection) Swap(i, j int) { 16 | v[i], v[j] = v[j], v[i] 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/pkg 2 | /runc 3 | Godeps/_workspace/src/github.com/opencontainers/runc 4 | man/man8 5 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/.pullapprove.yml: -------------------------------------------------------------------------------- 1 | approve_by_comment: true 2 | approve_regex: ^LGTM 3 | reject_regex: ^Rejected 4 | reset_on_push: true 5 | author_approval: ignored 6 | reviewers: 7 | teams: 8 | - runc-maintainers 9 | name: default 10 | required: 2 11 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM runc_test 2 | ADD . /go/src/github.com/opencontainers/runc 3 | RUN make 4 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Michael Crosby (@crosbymichael) 2 | Rohit Jnagal (@rjnagal) 3 | Victor Marmol (@vmarmol) 4 | Mrunal Patel (@mrunalp) 5 | Alexander Morozov (@LK4D4) 6 | Daniel, Dao Quang Minh (@dqminh) 7 | Andrey Vagin (@avagin) 8 | Qiang Huang (@hqhq) 9 | Aleksa Sarai (@cyphar) 10 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/NOTICE: -------------------------------------------------------------------------------- 1 | runc 2 | 3 | Copyright 2012-2015 Docker, Inc. 4 | 5 | This product includes software developed at Docker, Inc. (http://www.docker.com). 6 | 7 | The following is courtesy of our legal counsel: 8 | 9 | 10 | Use and transfer of Docker may be subject to certain restrictions by the 11 | United States and other governments. 12 | It is your responsibility to ensure that your use and/or transfer does not 13 | violate applicable laws. 14 | 15 | For more information, please see http://www.bis.doc.gov 16 | 17 | See also http://www.apache.org/dev/crypto.html and/or seek legal counsel. 18 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/VERSION: -------------------------------------------------------------------------------- 1 | 1.0.0-rc1 2 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_386.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID32, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_arm.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID32, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID32, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/sysconfig.go: -------------------------------------------------------------------------------- 1 | // +build cgo,linux cgo,freebsd 2 | 3 | package system 4 | 5 | /* 6 | #include 7 | #include 8 | 9 | int GetLongBit() { 10 | #ifdef _SC_LONG_BIT 11 | int longbits; 12 | 13 | longbits = sysconf(_SC_LONG_BIT); 14 | if (longbits < 0) { 15 | longbits = (CHAR_BIT * sizeof(long)); 16 | } 17 | return longbits; 18 | #else 19 | return (CHAR_BIT * sizeof(long)); 20 | #endif 21 | } 22 | */ 23 | import "C" 24 | 25 | func GetClockTicks() int { 26 | return int(C.sysconf(C._SC_CLK_TCK)) 27 | } 28 | 29 | func GetLongBit() int { 30 | return int(C.GetLongBit()) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/sysconfig_notcgo.go: -------------------------------------------------------------------------------- 1 | // +build !cgo windows 2 | 3 | package system 4 | 5 | func GetClockTicks() int { 6 | // TODO figure out a better alternative for platforms where we're missing cgo 7 | // 8 | // TODO Windows. This could be implemented using Win32 QueryPerformanceFrequency(). 9 | // https://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx 10 | // 11 | // An example of its usage can be found here. 12 | // https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408(v=vs.85).aspx 13 | 14 | return 100 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package system 4 | 5 | // RunningInUserNS is a stub for non-Linux systems 6 | // Always returns false 7 | func RunningInUserNS() bool { 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/user/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Tianon Gravi (@tianon) 2 | Aleksa Sarai (@cyphar) 3 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 2 | 3 | package user 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | // Unix-specific path to the passwd and group formatted files. 11 | const ( 12 | unixPasswdPath = "/etc/passwd" 13 | unixGroupPath = "/etc/group" 14 | ) 15 | 16 | func GetPasswdPath() (string, error) { 17 | return unixPasswdPath, nil 18 | } 19 | 20 | func GetPasswd() (io.ReadCloser, error) { 21 | return os.Open(unixPasswdPath) 22 | } 23 | 24 | func GetGroupPath() (string, error) { 25 | return unixGroupPath, nil 26 | } 27 | 28 | func GetGroup() (io.ReadCloser, error) { 29 | return os.Open(unixGroupPath) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris 2 | 3 | package user 4 | 5 | import "io" 6 | 7 | func GetPasswdPath() (string, error) { 8 | return "", ErrUnsupported 9 | } 10 | 11 | func GetPasswd() (io.ReadCloser, error) { 12 | return nil, ErrUnsupported 13 | } 14 | 15 | func GetGroupPath() (string, error) { 16 | return "", ErrUnsupported 17 | } 18 | 19 | func GetGroup() (io.ReadCloser, error) { 20 | return nil, ErrUnsupported 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.4.3 5 | - 1.5.4 6 | - 1.6.2 7 | - tip 8 | 9 | script: 10 | - go test -v ./... 11 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: build-{build}.{branch} 2 | 3 | clone_folder: C:\gopath\src\github.com\pkg\errors 4 | shallow_clone: true # for startup speed 5 | 6 | environment: 7 | GOPATH: C:\gopath 8 | 9 | platform: 10 | - x64 11 | 12 | # http://www.appveyor.com/docs/installed-software 13 | install: 14 | # some helpful output for debugging builds 15 | - go version 16 | - go env 17 | # pre-installed MinGW at C:\MinGW is 32bit only 18 | # but MSYS2 at C:\msys64 has mingw64 19 | - set PATH=C:\msys64\mingw64\bin;%PATH% 20 | - gcc --version 21 | - g++ --version 22 | 23 | build_script: 24 | - go install -v ./... 25 | 26 | test_script: 27 | - set PATH=C:\gopath\bin;%PATH% 28 | - go test -v ./... 29 | 30 | #artifacts: 31 | # - path: '%GOPATH%\bin\*.exe' 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/.dockerignore: -------------------------------------------------------------------------------- 1 | ./bin 2 | ./.dapper 3 | ./dist 4 | ./.trash-cache 5 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/.drone.yml: -------------------------------------------------------------------------------- 1 | pipeline: 2 | build: 3 | image: rancher/dapper:1.10.3 4 | volumes: 5 | - /var/run/docker.sock:/var/run/docker.sock 6 | commands: 7 | - dapper ci 8 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/.gitignore: -------------------------------------------------------------------------------- 1 | /.dapper 2 | /bin 3 | *.swp 4 | /.trash-cache 5 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/Makefile: -------------------------------------------------------------------------------- 1 | TARGETS := $(shell ls scripts) 2 | 3 | .dapper: 4 | @echo Downloading dapper 5 | @curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp 6 | @@chmod +x .dapper.tmp 7 | @./.dapper.tmp -v 8 | @mv .dapper.tmp .dapper 9 | 10 | $(TARGETS): .dapper 11 | ./.dapper $@ 12 | 13 | trash: .dapper 14 | ./.dapper -m bind trash 15 | 16 | trash-keep: .dapper 17 | ./.dapper -m bind trash -k 18 | 19 | deps: trash 20 | 21 | .DEFAULT_GOAL := ci 22 | 23 | .PHONY: $(TARGETS) 24 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/events/util.go: -------------------------------------------------------------------------------- 1 | package events 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | type doneTranitioningFunc func() (bool, error) 9 | 10 | func waitForTransition(waitFunc doneTranitioningFunc) error { 11 | timeoutAt := time.Now().Add(MaxWait) 12 | ticker := time.NewTicker(time.Millisecond * 250) 13 | defer ticker.Stop() 14 | for tick := range ticker.C { 15 | done, err := waitFunc() 16 | if err != nil { 17 | return err 18 | } 19 | if done { 20 | return nil 21 | } 22 | if tick.After(timeoutAt) { 23 | return fmt.Errorf("Timed out waiting for transtion.") 24 | } 25 | } 26 | return fmt.Errorf("Timed out waiting for transtion.") 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/event-subscriber/trash.conf: -------------------------------------------------------------------------------- 1 | github.com/pkg/errors 1d2e60385a13aaa66134984235061c2f9302520e 2 | github.com/Sirupsen/logrus 446d1c146faa8ed3f4218f056fcd165f6bcfda81 3 | github.com/rancher/go-rancher aa54788606950f0e4683e52177821fa5e006d39f 4 | github.com/gorilla/websocket 3986be78bf859e01f01af631ad76da5b269d270c 5 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/.dockerignore: -------------------------------------------------------------------------------- 1 | ./bin 2 | ./.dapper 3 | ./dist 4 | ./.trash-cache 5 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/.drone.yml: -------------------------------------------------------------------------------- 1 | pipeline: 2 | build: 3 | image: rancher/dapper:1.10.3 4 | volumes: 5 | - /var/run/docker.sock:/var/run/docker.sock 6 | commands: 7 | - dapper ci 8 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/.gitignore: -------------------------------------------------------------------------------- 1 | /.dapper 2 | /bin 3 | /dist 4 | *.swp 5 | /.trash-cache 6 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/Makefile: -------------------------------------------------------------------------------- 1 | TARGETS := $(shell ls scripts) 2 | 3 | .dapper: 4 | @echo Downloading dapper 5 | @curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp 6 | @@chmod +x .dapper.tmp 7 | @./.dapper.tmp -v 8 | @mv .dapper.tmp .dapper 9 | 10 | $(TARGETS): .dapper 11 | ./.dapper $@ 12 | 13 | trash: .dapper 14 | ./.dapper -m bind trash 15 | 16 | trash-keep: .dapper 17 | ./.dapper -m bind trash -k 18 | 19 | deps: trash 20 | 21 | .DEFAULT_GOAL := ci 22 | 23 | .PHONY: $(TARGETS) 24 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/hostaccess/instance.go: -------------------------------------------------------------------------------- 1 | package hostaccess 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/gorilla/websocket" 7 | "github.com/rancher/go-rancher/v2" 8 | ) 9 | 10 | type RancherWebsocketClient client.RancherClient 11 | 12 | func (c *RancherWebsocketClient) GetHostAccess(resource client.Resource, action string, input interface{}) (*websocket.Conn, error) { 13 | var resp client.HostAccess 14 | url := resource.Actions[action] 15 | if url == "" { 16 | return nil, fmt.Errorf("Failed to find action: %s", action) 17 | } 18 | 19 | err := c.Post(url, input, &resp) 20 | if err != nil { 21 | return nil, err 22 | } 23 | 24 | url = fmt.Sprintf("%s?token=%s", resp.Url, resp.Token) 25 | 26 | conn, _, err := c.Websocket(url, nil) 27 | 28 | return conn, err 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/go-rancher/trash.conf: -------------------------------------------------------------------------------- 1 | github.com/pkg/errors 1d2e60385a13aaa66134984235061c2f9302520e 2 | github.com/gorilla/context 215affda49addc4c8ef7e2534915df2c8c35c6cd 3 | github.com/gorilla/mux f15e0c49460fd49eebe2bcc8486b05d1bef68d3a 4 | github.com/gorilla/websocket 1551221275a7bd42978745a376b2531f791d88f3 5 | github.com/Sirupsen/logrus 26709e2714106fb8ad40b773b711ebce25b78914 6 | gopkg.in/yaml.v2 a83829b6f1293c91addabc89d0571c246397bbf4 7 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/rancher-catalog-service/.dockerignore: -------------------------------------------------------------------------------- 1 | bin 2 | dist 3 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/rancher-catalog-service/.drone.yml: -------------------------------------------------------------------------------- 1 | image: rancher/dind:v0.6.0 2 | script: 3 | - ./scripts/ci 4 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/rancher-catalog-service/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /dist 3 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/rancher-catalog-service/Dockerfile.dapper: -------------------------------------------------------------------------------- 1 | FROM golang:1.5 2 | RUN go get github.com/tools/godep 3 | RUN go get github.com/golang/lint/golint 4 | ENV DAPPER_SOURCE /go/src/github.com/rancher/rancher-catalog-service 5 | ENV DAPPER_OUTPUT bin dist 6 | RUN apt-get update && apt-get install -y xz-utils 7 | WORKDIR ${DAPPER_SOURCE} 8 | ENTRYPOINT ["./scripts/entry"] 9 | CMD ["build"] 10 | -------------------------------------------------------------------------------- /vendor/github.com/rancher/rancher-catalog-service/model/upgrade_info.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | import "github.com/rancher/go-rancher/client" 4 | 5 | //UpgradeInfo structure contains the new version info 6 | type UpgradeInfo struct { 7 | client.Resource 8 | CurrentVersion string `json:"currentVersion"` 9 | NewVersionLinks map[string]string `json:"newVersionLinks"` 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.5 7 | - 1.6 8 | - tip 9 | 10 | install: 11 | - go get github.com/golang/lint/golint 12 | - export PATH=$GOPATH/bin:$PATH 13 | - go install ./... 14 | 15 | script: 16 | - verify/all.sh -v 17 | - go test ./... 18 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/.gitignore: -------------------------------------------------------------------------------- 1 | *.coverprofile 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | cache: 6 | directories: 7 | - node_modules 8 | 9 | go: 10 | - 1.2.2 11 | - 1.3.3 12 | - 1.4 13 | - 1.5.4 14 | - 1.6.2 15 | - master 16 | 17 | matrix: 18 | allow_failures: 19 | - go: master 20 | include: 21 | - go: 1.6.2 22 | os: osx 23 | - go: 1.1.2 24 | install: go get -v . 25 | before_script: echo skipping gfmxr on $TRAVIS_GO_VERSION 26 | script: 27 | - ./runtests vet 28 | - ./runtests test 29 | 30 | before_script: 31 | - go get github.com/urfave/gfmxr/... 32 | - if [ ! -f node_modules/.bin/markdown-toc ] ; then 33 | npm install markdown-toc ; 34 | fi 35 | 36 | script: 37 | - ./runtests vet 38 | - ./runtests test 39 | - ./runtests gfmxr 40 | - ./runtests toc 41 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | 3 | os: Windows Server 2012 R2 4 | 5 | clone_folder: c:\gopath\src\github.com\urfave\cli 6 | 7 | environment: 8 | GOPATH: C:\gopath 9 | GOVERSION: 1.6 10 | PYTHON: C:\Python27-x64 11 | PYTHON_VERSION: 2.7.x 12 | PYTHON_ARCH: 64 13 | GFMXR_DEBUG: 1 14 | 15 | install: 16 | - set PATH=%GOPATH%\bin;C:\go\bin;%PATH% 17 | - go version 18 | - go env 19 | - go get github.com/urfave/gfmxr/... 20 | - go get -v -t ./... 21 | 22 | build_script: 23 | - python runtests vet 24 | - python runtests test 25 | - python runtests gfmxr 26 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/cli.go: -------------------------------------------------------------------------------- 1 | // Package cli provides a minimal framework for creating and organizing command line 2 | // Go applications. cli is designed to be easy to understand and write, the most simple 3 | // cli application can be written as follows: 4 | // func main() { 5 | // cli.NewApp().Run(os.Args) 6 | // } 7 | // 8 | // Of course this application does not do much, so let's make this an actual application: 9 | // func main() { 10 | // app := cli.NewApp() 11 | // app.Name = "greet" 12 | // app.Usage = "say a greeting" 13 | // app.Action = func(c *cli.Context) error { 14 | // println("Greetings") 15 | // } 16 | // 17 | // app.Run(os.Args) 18 | // } 19 | package cli 20 | -------------------------------------------------------------------------------- /vendor/github.com/vaughan0/go-ini/test.ini: -------------------------------------------------------------------------------- 1 | [default] 2 | stuff = things 3 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | - 1.5.1 5 | - 1.4.3 6 | - 1.3.3 7 | 8 | # let us have pretty, fast Docker-based Travis workers! 9 | sudo: false 10 | 11 | install: 12 | - go get -d ./... 13 | - go get golang.org/x/tools/cmd/vet 14 | 15 | script: 16 | - go test -v ./... 17 | - go vet ./... 18 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/archive/tar/stat_atim.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux dragonfly openbsd solaris 6 | 7 | package tar 8 | 9 | import ( 10 | "syscall" 11 | "time" 12 | ) 13 | 14 | func statAtime(st *syscall.Stat_t) time.Time { 15 | return time.Unix(st.Atim.Unix()) 16 | } 17 | 18 | func statCtime(st *syscall.Stat_t) time.Time { 19 | return time.Unix(st.Ctim.Unix()) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/archive/tar/stat_atimespec.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin freebsd netbsd 6 | 7 | package tar 8 | 9 | import ( 10 | "syscall" 11 | "time" 12 | ) 13 | 14 | func statAtime(st *syscall.Stat_t) time.Time { 15 | return time.Unix(st.Atimespec.Unix()) 16 | } 17 | 18 | func statCtime(st *syscall.Stat_t) time.Time { 19 | return time.Unix(st.Ctimespec.Unix()) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/tar/asm/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package asm provides the API for streaming assembly and disassembly of tar 3 | archives. 4 | 5 | Using the `github.com/vbatts/tar-split/tar/storage` for Packing/Unpacking the 6 | metadata for a stream, as well as an implementation of Getting/Putting the file 7 | entries' payload. 8 | */ 9 | package asm 10 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/tar/storage/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package storage is for metadata of a tar archive. 3 | 4 | Packing and unpacking the Entries of the stream. The types of streams are 5 | either segments of raw bytes (for the raw headers and various padding) and for 6 | an entry marking a file payload. 7 | 8 | The raw bytes are stored precisely in the packed (marshalled) Entry, whereas 9 | the file payload marker include the name of the file, size, and crc64 checksum 10 | (for basic file integrity). 11 | */ 12 | package storage 13 | -------------------------------------------------------------------------------- /vendor/github.com/xeipuuv/gojsonpointer/README.md: -------------------------------------------------------------------------------- 1 | # gojsonpointer 2 | An implementation of JSON Pointer - Go language 3 | 4 | ## References 5 | http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 6 | 7 | ### Note 8 | The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. 9 | -------------------------------------------------------------------------------- /vendor/github.com/xeipuuv/gojsonreference/README.md: -------------------------------------------------------------------------------- 1 | # gojsonreference 2 | An implementation of JSON Reference - Go language 3 | 4 | ## Dependencies 5 | https://github.com/xeipuuv/gojsonpointer 6 | 7 | ## References 8 | http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 9 | 10 | http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 11 | -------------------------------------------------------------------------------- /vendor/github.com/xeipuuv/gojsonschema/.gitignore: -------------------------------------------------------------------------------- 1 | *.sw[nop] 2 | -------------------------------------------------------------------------------- /vendor/github.com/xeipuuv/gojsonschema/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.3 4 | before_install: 5 | - go get github.com/sigu-399/gojsonreference 6 | - go get github.com/sigu-399/gojsonpointer 7 | - go get github.com/stretchr/testify/assert 8 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/README: -------------------------------------------------------------------------------- 1 | This repository holds supplementary Go cryptography libraries. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd netbsd openbsd 6 | 7 | package terminal 8 | 9 | import "syscall" 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | const ioctlWriteTermios = syscall.TIOCSETA 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/terminal/util_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package terminal 6 | 7 | // These constants are declared here, rather than importing 8 | // them from the syscall package as some syscall packages, even 9 | // on linux, for example gccgo, do not declare them. 10 | const ioctlReadTermios = 0x5401 // syscall.TCGETS 11 | const ioctlWriteTermios = 0x5402 // syscall.TCSETS 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/README: -------------------------------------------------------------------------------- 1 | This repository holds supplementary Go networking libraries. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/context/ctxhttp/cancelreq.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.5 6 | 7 | package ctxhttp 8 | 9 | import "net/http" 10 | 11 | func canceler(client *http.Client, req *http.Request) func() { 12 | // TODO(djd): Respect any existing value of req.Cancel. 13 | ch := make(chan struct{}) 14 | req.Cancel = ch 15 | 16 | return func() { 17 | close(ch) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/context/ctxhttp/cancelreq_go14.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.5 6 | 7 | package ctxhttp 8 | 9 | import "net/http" 10 | 11 | type requestCanceler interface { 12 | CancelRequest(*http.Request) 13 | } 14 | 15 | func canceler(client *http.Client, req *http.Request) func() { 16 | rc, ok := client.Transport.(requestCanceler) 17 | if !ok { 18 | return func() {} 19 | } 20 | return func() { 21 | rc.CancelRequest(req) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/proxy/direct.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package proxy 6 | 7 | import ( 8 | "net" 9 | ) 10 | 11 | type direct struct{} 12 | 13 | // Direct is a direct proxy: one that makes network connections directly. 14 | var Direct = direct{} 15 | 16 | func (direct) Dial(network, addr string) (net.Conn, error) { 17 | return net.Dial(network, addr) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/README: -------------------------------------------------------------------------------- 1 | This repository holds supplemental Go packages for low-level interactions with the operating system. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | TEXT ·use(SB),NOSPLIT,$0 10 | RET 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | // +build arm,darwin 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for ARM, Darwin 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-28 18 | B syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 21 | B syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 24 | B syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 27 | B syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 30 | B syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | // +build arm64,darwin 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for AMD64, Darwin 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-56 18 | B syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 21 | B syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 24 | B syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 27 | B syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 30 | B syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_dragonfly_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-32 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-44 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-56 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-32 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-44 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, DragonFly 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-64 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-88 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-112 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-64 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for AMD64, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 23 | JMP syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 26 | JMP syscall·RawSyscall6(SB) 27 | 28 | TEXT ·gettimeofday(SB),NOSPLIT,$0-16 29 | JMP syscall·gettimeofday(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for arm, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 23 | B syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 26 | B syscall·RawSyscall6(SB) 27 | 28 | TEXT ·seek(SB),NOSPLIT,$0-32 29 | B syscall·seek(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build arm64 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 21 | B syscall·RawSyscall(SB) 22 | 23 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 24 | B syscall·RawSyscall6(SB) 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build ppc64 ppc64le 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for ppc64, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | BR syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | BR syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | BR syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | BR syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-64 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Unsetenv(key string) error { 12 | // This was added in Go 1.4. 13 | return syscall.Unsetenv(key) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/flock_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 linux,arm 2 | 3 | // Copyright 2014 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build gccgo,linux,amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin,race linux,race freebsd,race 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | package unix 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + uitoa(uint(-val)) 12 | } 13 | return uitoa(uint(val)) 14 | } 15 | 16 | func uitoa(val uint) string { 17 | var buf [32]byte // big enough for int64 18 | i := len(buf) - 1 19 | for val >= 10 { 20 | buf[i] = byte(val%10 + '0') 21 | i-- 22 | val /= 10 23 | } 24 | buf[i] = byte(val + '0') 25 | return string(buf[i:]) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_no_getwd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build dragonfly freebsd netbsd openbsd 6 | 7 | package unix 8 | 9 | const ImplementsGetwd = false 10 | 11 | func Getwd() (string, error) { return "", ENOTSUP } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,solaris 6 | 7 | package unix 8 | 9 | // TODO(aram): remove these before Go 1.3. 10 | const ( 11 | SYS_EXECVE = 59 12 | SYS_FCNTL = 62 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/asm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·use(SB),NOSPLIT,$0 8 | RET 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/asm_windows_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // 6 | // System calls for 386, Windows are implemented in runtime/syscall_windows.goc 7 | // 8 | 9 | TEXT ·getprocaddress(SB), 7, $0-8 10 | JMP syscall·getprocaddress(SB) 11 | 12 | TEXT ·loadlibrary(SB), 7, $0-4 13 | JMP syscall·loadlibrary(SB) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/asm_windows_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // 6 | // System calls for amd64, Windows are implemented in runtime/syscall_windows.goc 7 | // 8 | 9 | TEXT ·getprocaddress(SB), 7, $0-32 10 | JMP syscall·getprocaddress(SB) 11 | 12 | TEXT ·loadlibrary(SB), 7, $0-8 13 | JMP syscall·loadlibrary(SB) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/env_unset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | func Unsetenv(key string) error { 12 | // This was added in Go 1.4. 13 | return syscall.Unsetenv(key) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/env_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Windows environment variables. 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | func Getenv(key string) (value string, found bool) { 12 | return syscall.Getenv(key) 13 | } 14 | 15 | func Setenv(key, value string) error { 16 | return syscall.Setenv(key, value) 17 | } 18 | 19 | func Clearenv() { 20 | syscall.Clearenv() 21 | } 22 | 23 | func Environ() []string { 24 | return syscall.Environ() 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build windows,race 6 | 7 | package windows 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build windows,!race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/ztypes_windows_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/time/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/time/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/time/README: -------------------------------------------------------------------------------- 1 | This repository provides supplementary Go time packages. 2 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4 5 | - 1.5 6 | - 1.6 7 | - tip 8 | 9 | go_import_path: gopkg.in/yaml.v2 10 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /version/version.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | var VERSION = "" 4 | --------------------------------------------------------------------------------