├── .boxignore
├── .gitignore
├── CHANGELOG.md
├── LICENSE.txt
├── Makefile
├── README.md
├── box.rb
├── builder
├── builder.go
├── builder_test.go
├── command
│ ├── commands.go
│ ├── copy.go
│ ├── flatten.go
│ ├── from.go
│ ├── funcs.go
│ ├── run.go
│ └── verbs.go
├── config
│ └── config.go
├── evaluator
│ ├── evaluator.go
│ └── mruby
│ │ ├── copy.go
│ │ ├── funcs.go
│ │ ├── mruby.go
│ │ ├── util.go
│ │ └── verbs.go
├── executor
│ ├── docker
│ │ ├── docker.go
│ │ ├── docker_run_test.go
│ │ ├── docker_test.go
│ │ └── run.go
│ └── executor.go
├── testdata
│ └── dockerfiles
│ │ ├── Dockerfile.volumes
│ │ └── test1.rb
└── util_test.go
├── checks.sh
├── cli-tests
├── basic_test.go
├── init_test.go
├── run_test.go
├── test.rb
└── vars_test.go
├── copy
└── copy.go
├── dind
├── docker-test.sh
├── docs-theme
├── 404.html
├── __init__.py
├── base.html
├── container-header.html
├── content.html
├── css
│ ├── base.css
│ ├── bootstrap-custom.min.css
│ ├── extra.css
│ ├── font-awesome-4.5.0.css
│ └── highlight.css
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ ├── fontawesome-webfont.woff2
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ ├── glyphicons-halflings-regular.woff
│ └── glyphicons-halflings-regular.woff2
├── img
│ ├── box-logo.gif
│ ├── box-logo.png
│ ├── favicon.ico
│ ├── grid.png
│ └── header_bg.jpg
├── js
│ ├── base.js
│ ├── bootstrap-3.0.3.min.js
│ ├── highlight.pack.js
│ ├── jquery-1.10.2.min.js
│ └── jquery-3.2.0.min.js
├── license
│ └── highlight.js
│ │ └── LICENSE
├── main.html
├── nav-sub.html
├── nav.html
├── search-modal.html
└── toc.html
├── docs
├── download.md
├── index.md
├── usage.md
└── user-guide
│ ├── cli.md
│ ├── functions.md
│ └── verbs.md
├── fetcher
└── fetcher.go
├── image
├── config.go
├── image.go
└── unpack.go
├── install.sh
├── install.sh.tmpl
├── layers
├── docker.go
├── docker_image.go
├── docker_test.go
├── makeimage.go
└── types.go
├── logger
└── logger.go
├── main.go
├── mkdocs.yml
├── mruby_config.rb
├── multi
├── multi.go
└── multi_test.go
├── portable.sh.tmpl
├── pull
└── pull.go
├── release
├── RELEASE.md
└── release.sh
├── repl
└── repl.go
├── signal
└── signal.go
├── tar
├── archive.go
├── sum.go
├── tar_test.go
└── unarchive.go
├── types
└── types.go
├── util
└── 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
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── backup.go
│ │ ├── file.go
│ │ ├── fileinfo.go
│ │ ├── pipe.go
│ │ ├── privilege.go
│ │ ├── reparse.go
│ │ ├── sd.go
│ │ ├── syscall.go
│ │ └── zsyscall.go
├── Sirupsen
│ └── logrus
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── alt_exit.go
│ │ ├── doc.go
│ │ ├── entry.go
│ │ ├── exported.go
│ │ ├── formatter.go
│ │ ├── hooks.go
│ │ ├── json_formatter.go
│ │ ├── logger.go
│ │ ├── logrus.go
│ │ ├── terminal_appengine.go
│ │ ├── terminal_bsd.go
│ │ ├── terminal_linux.go
│ │ ├── terminal_notwindows.go
│ │ ├── terminal_solaris.go
│ │ ├── terminal_windows.go
│ │ ├── text_formatter.go
│ │ └── writer.go
├── box-builder
│ ├── overmount
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── asset.go
│ │ ├── config.go
│ │ ├── configmap
│ │ │ └── configmap.go
│ │ ├── image.go
│ │ ├── imgio
│ │ │ ├── docker.go
│ │ │ ├── docker_export.go
│ │ │ ├── docker_import.go
│ │ │ ├── oci.go
│ │ │ ├── oci_export.go
│ │ │ └── util.go
│ │ ├── layer.go
│ │ ├── mount.go
│ │ ├── overmount.go
│ │ ├── repository.go
│ │ ├── tags.go
│ │ ├── util.go
│ │ └── vendor.conf
│ └── progress
│ │ ├── README.md
│ │ ├── progress.go
│ │ └── vendor.conf
├── chzyer
│ └── readline
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ansi_windows.go
│ │ ├── complete.go
│ │ ├── complete_helper.go
│ │ ├── complete_segment.go
│ │ ├── history.go
│ │ ├── operation.go
│ │ ├── password.go
│ │ ├── rawreader_windows.go
│ │ ├── readline.go
│ │ ├── remote.go
│ │ ├── runebuf.go
│ │ ├── runes.go
│ │ ├── search.go
│ │ ├── std.go
│ │ ├── std_windows.go
│ │ ├── term.go
│ │ ├── term_bsd.go
│ │ ├── term_linux.go
│ │ ├── term_windows.go
│ │ ├── terminal.go
│ │ ├── utils.go
│ │ ├── utils_unix.go
│ │ ├── utils_windows.go
│ │ ├── vim.go
│ │ └── windows_api.go
├── docker
│ ├── distribution
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── blobs.go
│ │ ├── context
│ │ │ ├── context.go
│ │ │ ├── doc.go
│ │ │ ├── http.go
│ │ │ ├── logger.go
│ │ │ ├── trace.go
│ │ │ ├── util.go
│ │ │ └── version.go
│ │ ├── digestset
│ │ │ └── set.go
│ │ ├── doc.go
│ │ ├── errors.go
│ │ ├── manifests.go
│ │ ├── reference
│ │ │ ├── helpers.go
│ │ │ ├── normalize.go
│ │ │ ├── reference.go
│ │ │ └── regexp.go
│ │ ├── registry.go
│ │ ├── tags.go
│ │ ├── uuid
│ │ │ └── uuid.go
│ │ └── vendor.conf
│ ├── docker
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── api
│ │ │ ├── README.md
│ │ │ ├── common.go
│ │ │ ├── common_unix.go
│ │ │ ├── common_windows.go
│ │ │ ├── names.go
│ │ │ └── types
│ │ │ │ ├── auth.go
│ │ │ │ ├── blkiodev
│ │ │ │ └── blkio.go
│ │ │ │ ├── client.go
│ │ │ │ ├── configs.go
│ │ │ │ ├── container
│ │ │ │ ├── config.go
│ │ │ │ ├── container_changes.go
│ │ │ │ ├── container_create.go
│ │ │ │ ├── container_top.go
│ │ │ │ ├── container_update.go
│ │ │ │ ├── container_wait.go
│ │ │ │ ├── host_config.go
│ │ │ │ ├── hostconfig_unix.go
│ │ │ │ └── hostconfig_windows.go
│ │ │ │ ├── error_response.go
│ │ │ │ ├── events
│ │ │ │ └── events.go
│ │ │ │ ├── filters
│ │ │ │ └── parse.go
│ │ │ │ ├── graph_driver_data.go
│ │ │ │ ├── id_response.go
│ │ │ │ ├── image
│ │ │ │ └── image_history.go
│ │ │ │ ├── image_delete_response_item.go
│ │ │ │ ├── image_summary.go
│ │ │ │ ├── mount
│ │ │ │ └── mount.go
│ │ │ │ ├── network
│ │ │ │ └── network.go
│ │ │ │ ├── plugin.go
│ │ │ │ ├── plugin_device.go
│ │ │ │ ├── plugin_env.go
│ │ │ │ ├── plugin_interface_type.go
│ │ │ │ ├── plugin_mount.go
│ │ │ │ ├── plugin_responses.go
│ │ │ │ ├── port.go
│ │ │ │ ├── registry
│ │ │ │ ├── authenticate.go
│ │ │ │ └── registry.go
│ │ │ │ ├── seccomp.go
│ │ │ │ ├── service_update_response.go
│ │ │ │ ├── stats.go
│ │ │ │ ├── strslice
│ │ │ │ └── strslice.go
│ │ │ │ ├── swarm
│ │ │ │ ├── common.go
│ │ │ │ ├── container.go
│ │ │ │ ├── network.go
│ │ │ │ ├── node.go
│ │ │ │ ├── secret.go
│ │ │ │ ├── service.go
│ │ │ │ ├── swarm.go
│ │ │ │ └── task.go
│ │ │ │ ├── time
│ │ │ │ ├── duration_convert.go
│ │ │ │ └── timestamp.go
│ │ │ │ ├── types.go
│ │ │ │ ├── versions
│ │ │ │ ├── README.md
│ │ │ │ └── compare.go
│ │ │ │ ├── volume.go
│ │ │ │ └── volume
│ │ │ │ ├── volumes_create.go
│ │ │ │ └── volumes_list.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_prune.go
│ │ │ ├── network_remove.go
│ │ │ ├── node_inspect.go
│ │ │ ├── node_list.go
│ │ │ ├── node_remove.go
│ │ │ ├── node_update.go
│ │ │ ├── ping.go
│ │ │ ├── plugin_create.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
│ │ │ ├── plugin_upgrade.go
│ │ │ ├── request.go
│ │ │ ├── secret_create.go
│ │ │ ├── secret_inspect.go
│ │ │ ├── secret_list.go
│ │ │ ├── secret_remove.go
│ │ │ ├── secret_update.go
│ │ │ ├── service_create.go
│ │ │ ├── service_inspect.go
│ │ │ ├── service_list.go
│ │ │ ├── service_logs.go
│ │ │ ├── service_remove.go
│ │ │ ├── service_update.go
│ │ │ ├── swarm_get_unlock_key.go
│ │ │ ├── swarm_init.go
│ │ │ ├── swarm_inspect.go
│ │ │ ├── swarm_join.go
│ │ │ ├── swarm_leave.go
│ │ │ ├── swarm_unlock.go
│ │ │ ├── swarm_update.go
│ │ │ ├── task_inspect.go
│ │ │ ├── task_list.go
│ │ │ ├── transport.go
│ │ │ ├── utils.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
│ │ │ │ └── proxy.go
│ │ ├── hack
│ │ │ └── integration-cli-on-swarm
│ │ │ │ ├── README.md
│ │ │ │ └── agent
│ │ │ │ └── vendor.conf
│ │ ├── image
│ │ │ ├── fs.go
│ │ │ ├── image.go
│ │ │ ├── rootfs.go
│ │ │ └── store.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
│ │ ├── oci
│ │ │ ├── defaults_linux.go
│ │ │ ├── defaults_solaris.go
│ │ │ ├── defaults_windows.go
│ │ │ ├── devices_linux.go
│ │ │ ├── devices_unsupported.go
│ │ │ └── namespaces.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
│ │ │ ├── idtools
│ │ │ │ ├── idtools.go
│ │ │ │ ├── idtools_unix.go
│ │ │ │ ├── idtools_windows.go
│ │ │ │ ├── usergroupadd_linux.go
│ │ │ │ ├── usergroupadd_unsupported.go
│ │ │ │ └── utils_unix.go
│ │ │ ├── ioutils
│ │ │ │ ├── buffer.go
│ │ │ │ ├── bytespipe.go
│ │ │ │ ├── fmt.go
│ │ │ │ ├── fswriters.go
│ │ │ │ ├── multireader.go
│ │ │ │ ├── readers.go
│ │ │ │ ├── temp_unix.go
│ │ │ │ ├── temp_windows.go
│ │ │ │ ├── writeflusher.go
│ │ │ │ └── writers.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
│ │ │ │ └── sharedsubtree_solaris.go
│ │ │ ├── plugingetter
│ │ │ │ └── getter.go
│ │ │ ├── plugins
│ │ │ │ ├── client.go
│ │ │ │ ├── discovery.go
│ │ │ │ ├── discovery_unix.go
│ │ │ │ ├── discovery_windows.go
│ │ │ │ ├── errors.go
│ │ │ │ ├── plugins.go
│ │ │ │ ├── plugins_linux.go
│ │ │ │ ├── plugins_windows.go
│ │ │ │ └── transport
│ │ │ │ │ ├── http.go
│ │ │ │ │ └── transport.go
│ │ │ ├── pools
│ │ │ │ └── pools.go
│ │ │ ├── promise
│ │ │ │ └── promise.go
│ │ │ ├── random
│ │ │ │ └── random.go
│ │ │ ├── reexec
│ │ │ │ ├── README.md
│ │ │ │ ├── command_linux.go
│ │ │ │ ├── command_unix.go
│ │ │ │ ├── command_unsupported.go
│ │ │ │ ├── command_windows.go
│ │ │ │ └── reexec.go
│ │ │ ├── stdcopy
│ │ │ │ └── stdcopy.go
│ │ │ ├── stringid
│ │ │ │ ├── README.md
│ │ │ │ └── stringid.go
│ │ │ ├── system
│ │ │ │ ├── chtimes.go
│ │ │ │ ├── chtimes_unix.go
│ │ │ │ ├── chtimes_windows.go
│ │ │ │ ├── errors.go
│ │ │ │ ├── events_windows.go
│ │ │ │ ├── exitcode.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
│ │ │ │ ├── process_unix.go
│ │ │ │ ├── process_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
│ │ │ ├── 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
│ │ │ │ ├── tlsconfig_clone.go
│ │ │ │ ├── tlsconfig_clone_go16.go
│ │ │ │ └── tlsconfig_clone_go17.go
│ │ ├── plugin
│ │ │ └── v2
│ │ │ │ ├── plugin.go
│ │ │ │ ├── plugin_linux.go
│ │ │ │ ├── plugin_unsupported.go
│ │ │ │ └── settable.go
│ │ └── vendor.conf
│ ├── go-connections
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── 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
│ │ │ ├── certpool_go17.go
│ │ │ ├── certpool_other.go
│ │ │ ├── config.go
│ │ │ ├── config_client_ciphers.go
│ │ │ └── config_legacy_client_ciphers.go
│ ├── go-units
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── duration.go
│ │ ├── size.go
│ │ └── ulimit.go
│ └── libtrust
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── certificates.go
│ │ ├── doc.go
│ │ ├── ec_key.go
│ │ ├── filter.go
│ │ ├── hash.go
│ │ ├── jsonsign.go
│ │ ├── key.go
│ │ ├── key_files.go
│ │ ├── key_manager.go
│ │ ├── rsa_key.go
│ │ └── util.go
├── fatih
│ └── color
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── color.go
│ │ └── doc.go
├── gorilla
│ ├── context
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── context.go
│ │ └── doc.go
│ └── mux
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── context_gorilla.go
│ │ ├── context_native.go
│ │ ├── doc.go
│ │ ├── mux.go
│ │ ├── regexp.go
│ │ └── route.go
├── mattn
│ ├── go-colorable
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── colorable_others.go
│ │ ├── colorable_windows.go
│ │ └── noncolorable.go
│ └── go-isatty
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── doc.go
│ │ ├── isatty_appengine.go
│ │ ├── isatty_bsd.go
│ │ ├── isatty_linux.go
│ │ ├── isatty_solaris.go
│ │ └── isatty_windows.go
├── mitchellh
│ └── go-mruby
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── args.go
│ │ ├── array.go
│ │ ├── array_test.go
│ │ ├── class.go
│ │ ├── class_test.go
│ │ ├── context.go
│ │ ├── context_test.go
│ │ ├── decode.go
│ │ ├── decode_test.go
│ │ ├── examples_test.go
│ │ ├── func.go
│ │ ├── func_test.go
│ │ ├── gc_test.go
│ │ ├── golint.sh
│ │ ├── gomruby.h
│ │ ├── hash.go
│ │ ├── hash_test.go
│ │ ├── mruby.go
│ │ ├── mruby_test.go
│ │ ├── parser.go
│ │ ├── parser_test.go
│ │ ├── value.go
│ │ ├── value_test.go
│ │ └── value_type.go
├── opencontainers
│ ├── go-digest
│ │ ├── LICENSE.code
│ │ ├── LICENSE.docs
│ │ ├── README.md
│ │ ├── algorithm.go
│ │ ├── digest.go
│ │ ├── digester.go
│ │ ├── doc.go
│ │ └── verifiers.go
│ ├── image-spec
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── specs-go
│ │ │ ├── v1
│ │ │ ├── config.go
│ │ │ ├── descriptor.go
│ │ │ ├── index.go
│ │ │ ├── layout.go
│ │ │ ├── manifest.go
│ │ │ └── mediatype.go
│ │ │ ├── version.go
│ │ │ └── versioned.go
│ ├── runc
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ └── libcontainer
│ │ │ ├── README.md
│ │ │ ├── configs
│ │ │ ├── blkio_device.go
│ │ │ ├── cgroup_unix.go
│ │ │ ├── cgroup_unsupported.go
│ │ │ ├── cgroup_windows.go
│ │ │ ├── config.go
│ │ │ ├── config_unix.go
│ │ │ ├── device.go
│ │ │ ├── device_defaults.go
│ │ │ ├── hugepage_limit.go
│ │ │ ├── interface_priority_map.go
│ │ │ ├── mount.go
│ │ │ ├── namespaces.go
│ │ │ ├── namespaces_syscall.go
│ │ │ ├── namespaces_syscall_unsupported.go
│ │ │ ├── namespaces_unix.go
│ │ │ ├── namespaces_unsupported.go
│ │ │ └── network.go
│ │ │ ├── devices
│ │ │ ├── devices_unix.go
│ │ │ ├── devices_unsupported.go
│ │ │ └── number.go
│ │ │ ├── nsenter
│ │ │ ├── README.md
│ │ │ ├── namespace.h
│ │ │ ├── nsenter.go
│ │ │ ├── nsenter_gccgo.go
│ │ │ ├── nsenter_unsupported.go
│ │ │ └── nsexec.c
│ │ │ ├── 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
│ │ │ ├── lookup.go
│ │ │ ├── lookup_unix.go
│ │ │ ├── lookup_unsupported.go
│ │ │ └── user.go
│ └── runtime-spec
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── specs-go
│ │ ├── config.go
│ │ ├── state.go
│ │ └── version.go
├── pkg
│ └── errors
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── errors.go
│ │ └── stack.go
├── rendon
│ └── testcli
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── main.go
├── urfave
│ └── cli
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── app.go
│ │ ├── category.go
│ │ ├── cli.go
│ │ ├── command.go
│ │ ├── context.go
│ │ ├── errors.go
│ │ ├── flag.go
│ │ ├── flag_generated.go
│ │ ├── funcs.go
│ │ └── help.go
└── vbatts
│ └── tar-split
│ ├── 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
├── golang.org
└── x
│ ├── net
│ ├── LICENSE
│ ├── PATENTS
│ ├── README
│ ├── context
│ │ ├── context.go
│ │ ├── ctxhttp
│ │ │ ├── ctxhttp.go
│ │ │ └── ctxhttp_pre17.go
│ │ ├── go17.go
│ │ └── pre_go17.go
│ └── proxy
│ │ ├── direct.go
│ │ ├── per_host.go
│ │ ├── proxy.go
│ │ └── socks5.go
│ └── sys
│ ├── LICENSE
│ ├── PATENTS
│ ├── README
│ ├── unix
│ ├── asm_darwin_386.s
│ ├── asm_darwin_amd64.s
│ ├── asm_darwin_arm.s
│ ├── asm_darwin_arm64.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_mips64x.s
│ ├── asm_linux_mipsx.s
│ ├── asm_linux_ppc64x.s
│ ├── asm_linux_s390x.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
│ ├── bluetooth_linux.go
│ ├── constants.go
│ ├── env_unix.go
│ ├── env_unset.go
│ ├── flock.go
│ ├── flock_linux_32bit.go
│ ├── gccgo.go
│ ├── gccgo_c.c
│ ├── gccgo_linux_amd64.go
│ ├── gccgo_linux_sparc64.go
│ ├── mkpost.go
│ ├── 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_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_amd64_gc.go
│ ├── syscall_linux_arm.go
│ ├── syscall_linux_arm64.go
│ ├── syscall_linux_mips64x.go
│ ├── syscall_linux_mipsx.go
│ ├── syscall_linux_ppc64x.go
│ ├── syscall_linux_s390x.go
│ ├── syscall_linux_sparc64.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
│ ├── syscall_unix_gc.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_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_mips.go
│ ├── zerrors_linux_mips64.go
│ ├── zerrors_linux_mips64le.go
│ ├── zerrors_linux_mipsle.go
│ ├── zerrors_linux_ppc64.go
│ ├── zerrors_linux_ppc64le.go
│ ├── zerrors_linux_s390x.go
│ ├── zerrors_linux_sparc64.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_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_mips.go
│ ├── zsyscall_linux_mips64.go
│ ├── zsyscall_linux_mips64le.go
│ ├── zsyscall_linux_mipsle.go
│ ├── zsyscall_linux_ppc64.go
│ ├── zsyscall_linux_ppc64le.go
│ ├── zsyscall_linux_s390x.go
│ ├── zsyscall_linux_sparc64.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_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_mips.go
│ ├── zsysnum_linux_mips64.go
│ ├── zsysnum_linux_mips64le.go
│ ├── zsysnum_linux_mipsle.go
│ ├── zsysnum_linux_ppc64.go
│ ├── zsysnum_linux_ppc64le.go
│ ├── zsysnum_linux_s390x.go
│ ├── zsysnum_linux_sparc64.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_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_mips.go
│ ├── ztypes_linux_mips64.go
│ ├── ztypes_linux_mips64le.go
│ ├── ztypes_linux_mipsle.go
│ ├── ztypes_linux_ppc64.go
│ ├── ztypes_linux_ppc64le.go
│ ├── ztypes_linux_s390x.go
│ ├── ztypes_linux_sparc64.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_windows_386.s
│ ├── asm_windows_amd64.s
│ ├── dll_windows.go
│ ├── env_unset.go
│ ├── env_windows.go
│ ├── eventlog.go
│ ├── exec_windows.go
│ ├── mksyscall.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
└── gopkg.in
└── check.v1
├── LICENSE
├── README.md
├── benchmark.go
├── check.go
├── checkers.go
├── helpers.go
├── printer.go
├── reporter.go
└── run.go
/.boxignore:
--------------------------------------------------------------------------------
1 | box-builder.oci.tar
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | box-builder.oci.tar
2 | ./box[_-]*
3 | ./box
4 | libmruby.a
5 | dev.rb
6 | site
7 | release-notes.txt
8 | *.tmp.md
9 | *.bak
10 | bin
11 | portable.sh
12 | .DS_Store
13 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2016,2017 Erik Hollensbe. 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 |
--------------------------------------------------------------------------------
/builder/command/run.go:
--------------------------------------------------------------------------------
1 | package command
2 |
3 | // Run corresponds to the `run` verb
4 | func (i *Interpreter) Run(command string, showRun bool) error {
5 | if err := i.hasImage(); err != nil {
6 | return err
7 | }
8 |
9 | i.exec.Config().TemporaryCommand([]string{"/bin/sh", "-c"}, []string{command})
10 |
11 | if i.globals.ShowRun == true && !showRun {
12 | state := i.globals.ShowRun
13 | i.globals.ShowRun = showRun
14 | defer func() { i.globals.ShowRun = state }()
15 | }
16 |
17 | return i.makeLayer(true)
18 | }
19 |
--------------------------------------------------------------------------------
/builder/evaluator/evaluator.go:
--------------------------------------------------------------------------------
1 | package evaluator
2 |
3 | import (
4 | "github.com/box-builder/box/types"
5 | )
6 |
7 | // Evaluator is a generic language evaluator.
8 | type Evaluator interface {
9 | Result() types.BuildResult
10 | RunCode(string, int, bool) (int, error)
11 | RunScript(string) error
12 | Close() error
13 | }
14 |
--------------------------------------------------------------------------------
/builder/testdata/dockerfiles/Dockerfile.volumes:
--------------------------------------------------------------------------------
1 | from debian
2 | volume /tmp
3 |
--------------------------------------------------------------------------------
/builder/testdata/dockerfiles/test1.rb:
--------------------------------------------------------------------------------
1 | from "debian"
2 |
--------------------------------------------------------------------------------
/cli-tests/run_test.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "os"
5 | "strings"
6 |
7 | . "gopkg.in/check.v1"
8 | )
9 |
10 | func (s *cliSuite) TestRunNoOutput(c *C) {
11 | os.Setenv("NO_CACHE", "")
12 |
13 | cmd, err := build(`
14 | from "debian"
15 | copy ".", "."
16 | run "ls -l", output: false
17 | `, "-n")
18 |
19 | c.Assert(err, IsNil)
20 | checkSuccess(c, cmd)
21 | c.Assert(strings.Contains(cmd.Stdout(), "basic_test.go"), Equals, false, Commentf("%s", cmd.Stdout()))
22 | }
23 |
--------------------------------------------------------------------------------
/cli-tests/test.rb:
--------------------------------------------------------------------------------
1 | from "debian"
2 |
--------------------------------------------------------------------------------
/docker-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | term() {
4 | killall dockerd
5 | wait
6 | }
7 |
8 | set -eu
9 |
10 | mkdocs build
11 |
12 | dockerd -s vfs &>/tmp/docker.log &
13 | sleep 5
14 |
15 | trap term INT TERM
16 |
17 | for i in $*
18 | do
19 | DIND=1 go test -tags "btrfs_noversion libdm_no_deferred_remove" -ldflags=-extldflags=-static -cover -timeout 120m -v "$i" -check.v -check.f "${TESTRUN}"
20 | done
21 |
--------------------------------------------------------------------------------
/docs-theme/404.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block content %}
4 |
5 |
6 |
7 |
404
8 |
Page not found
9 |
10 |
11 |
12 | {% endblock %}
13 |
--------------------------------------------------------------------------------
/docs-theme/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/__init__.py
--------------------------------------------------------------------------------
/docs-theme/container-header.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/container-header.html
--------------------------------------------------------------------------------
/docs-theme/content.html:
--------------------------------------------------------------------------------
1 | {% if page.meta.source %}
2 |
3 | {% for filename in page.meta.source %}
4 | {{ filename }}
5 | {% endfor %}
6 |
7 | {% endif %}
8 |
9 | {{ page.content }}
10 |
--------------------------------------------------------------------------------
/docs-theme/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/docs-theme/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs-theme/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs-theme/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs-theme/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/docs-theme/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs-theme/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs-theme/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs-theme/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/docs-theme/img/box-logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/img/box-logo.gif
--------------------------------------------------------------------------------
/docs-theme/img/box-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/img/box-logo.png
--------------------------------------------------------------------------------
/docs-theme/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/img/favicon.ico
--------------------------------------------------------------------------------
/docs-theme/img/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/img/grid.png
--------------------------------------------------------------------------------
/docs-theme/img/header_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/docs-theme/img/header_bg.jpg
--------------------------------------------------------------------------------
/docs-theme/main.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {#
4 | The entry point for the MkDocs Theme.
5 |
6 | Any theme customisations should override this file to redefine blocks defined in
7 | the various templates. The custom theme should only need to define a main.html
8 | which `{% extends "base.html" %}` and defines various blocks which will replace
9 | the blocks defined in base.html and its included child templates.
10 | #}
11 |
--------------------------------------------------------------------------------
/docs-theme/nav-sub.html:
--------------------------------------------------------------------------------
1 | {%- if not nav_item.children %}
2 |
3 | {{ nav_item.title }}
4 |
5 | {%- else %}
6 |
14 | {%- endif %}
15 |
--------------------------------------------------------------------------------
/docs-theme/toc.html:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/docs/download.md:
--------------------------------------------------------------------------------
1 | ## Download
2 |
3 | Quick Install: `curl -sSL box-builder.sh | sudo bash`
4 |
5 | Or [download a release](https://github.com/box-builder/box/releases): Just
6 | `gunzip` the downloaded file and put it in your path:
7 |
8 | ```bash
9 | $ gunzip box.$(uname -s).gz
10 | $ chmod 755 box.$(uname -s)
11 | $ sudo mv box.$(uname -s) /usr/local/bin/box
12 | ```
13 |
14 | Alternatively, we have a [homebrew tap](https://github.com/box-builder/homebrew-box)
15 | and debian and redhat packages on the [releases page](https://github.com/box-builder/box/releases).
16 |
17 |
--------------------------------------------------------------------------------
/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: Box
2 | theme: null
3 | theme_dir: 'docs-theme'
4 | repo_url: https://github.com/box-builder/box
5 | extra_css: [extra.css]
6 | pages:
7 | - "Intro": "index.md"
8 | - "Usage": "usage.md"
9 | - "Download": "download.md"
10 | - "User Guide":
11 | - "Command-Line Options": "user-guide/cli.md"
12 | - "Verbs": "user-guide/verbs.md"
13 | - "Functions": "user-guide/functions.md"
14 |
--------------------------------------------------------------------------------
/mruby_config.rb:
--------------------------------------------------------------------------------
1 | MRuby::Build.new do |conf|
2 | # load specific toolchain settings
3 |
4 | # Gets set by the VS command prompts.
5 | if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
6 | toolchain :visualcpp
7 | else
8 | toolchain :gcc
9 | end
10 |
11 | if ENV["MRUBY_DEBUG"]
12 | enable_debug
13 | end
14 |
15 | gems = %W[
16 | mruby-sprintf
17 | mruby-print
18 | mruby-math
19 | mruby-time
20 | mruby-struct
21 | mruby-enum-ext
22 | mruby-string-ext
23 | mruby-numeric-ext
24 | mruby-array-ext
25 | mruby-hash-ext
26 | mruby-range-ext
27 | mruby-proc-ext
28 | mruby-symbol-ext
29 | mruby-random
30 | mruby-object-ext
31 | mruby-enumerator
32 | mruby-enum-lazy
33 | ]
34 |
35 | gems.each { |gem| conf.gem File.join(root, "mrbgems", gem) }
36 | end
37 |
--------------------------------------------------------------------------------
/portable.sh.tmpl:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | dockerenv=""
4 |
5 | if [ "x${BOX_INCLUDE_ENV}" != "x" ]
6 | then
7 | for e in ${BOX_INCLUDE_ENV}
8 | do
9 | dockerenv="${dockerenv} -e $(echo "${e}=$(eval printf '%s' \$$e)")"
10 | done
11 | fi
12 |
13 | exec docker run --rm -it ${dockerenv} -v /var/run/docker.sock:/var/run/docker.sock -v $PWD:$PWD -w $PWD boxbuilder/box:@@VERSION@@ $*
14 |
--------------------------------------------------------------------------------
/tar/unarchive.go:
--------------------------------------------------------------------------------
1 | package tar
2 |
3 | import (
4 | "io"
5 |
6 | "github.com/docker/docker/pkg/archive"
7 | )
8 |
9 | // Unarchive unpacks the reader into the destination directory. An error is
10 | // yielded if this operation cannot occur or failed.
11 | func Unarchive(reader io.Reader, dest string) error {
12 | options := &archive.TarOptions{WhiteoutFormat: archive.OverlayWhiteoutFormat}
13 | return archive.Unpack(reader, dest, options)
14 | }
15 |
--------------------------------------------------------------------------------
/types/types.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | import (
4 | "context"
5 |
6 | "github.com/box-builder/box/logger"
7 | )
8 |
9 | // BuildResult is an bunch of stuff that communicates a build result.
10 | type BuildResult struct {
11 | FileName string
12 | Value string
13 | Err error
14 | }
15 |
16 | // Global represents global variables for the processing of an entire box run.
17 | type Global struct {
18 | Cache bool
19 | Color bool
20 | TTY bool
21 | ShowRun bool
22 | OmitFuncs []string
23 | Logger *logger.Logger
24 | Context context.Context
25 | }
26 |
--------------------------------------------------------------------------------
/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/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/doc.go:
--------------------------------------------------------------------------------
1 | /*
2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger.
3 |
4 |
5 | The simplest way to use Logrus is simply the package-level exported logger:
6 |
7 | package main
8 |
9 | import (
10 | log "github.com/Sirupsen/logrus"
11 | )
12 |
13 | func main() {
14 | log.WithFields(log.Fields{
15 | "animal": "walrus",
16 | "number": 1,
17 | "size": 10,
18 | }).Info("A walrus appears")
19 | }
20 |
21 | Output:
22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10
23 |
24 | For a full guide visit https://github.com/Sirupsen/logrus
25 | */
26 | package logrus
27 |
--------------------------------------------------------------------------------
/vendor/github.com/Sirupsen/logrus/terminal_appengine.go:
--------------------------------------------------------------------------------
1 | // +build appengine
2 |
3 | package logrus
4 |
5 | // IsTerminal returns true if stderr's file descriptor is a terminal.
6 | func IsTerminal() bool {
7 | return true
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/github.com/Sirupsen/logrus/terminal_bsd.go:
--------------------------------------------------------------------------------
1 | // +build darwin freebsd openbsd netbsd dragonfly
2 | // +build !appengine
3 |
4 | package logrus
5 |
6 | import "syscall"
7 |
8 | const ioctlReadTermios = syscall.TIOCGETA
9 |
10 | type Termios syscall.Termios
11 |
--------------------------------------------------------------------------------
/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 | // +build !appengine
7 |
8 | package logrus
9 |
10 | import "syscall"
11 |
12 | const ioctlReadTermios = syscall.TCGETS
13 |
14 | type Termios syscall.Termios
15 |
--------------------------------------------------------------------------------
/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 netbsd dragonfly
7 | // +build !appengine
8 |
9 | package logrus
10 |
11 | import (
12 | "syscall"
13 | "unsafe"
14 | )
15 |
16 | // IsTerminal returns true if stderr's file descriptor is a terminal.
17 | func IsTerminal() bool {
18 | fd := syscall.Stderr
19 | var termios Termios
20 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
21 | return err == 0
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/Sirupsen/logrus/terminal_solaris.go:
--------------------------------------------------------------------------------
1 | // +build solaris,!appengine
2 |
3 | package logrus
4 |
5 | import (
6 | "os"
7 |
8 | "golang.org/x/sys/unix"
9 | )
10 |
11 | // IsTerminal returns true if the given file descriptor is a terminal.
12 | func IsTerminal() bool {
13 | _, err := unix.IoctlGetTermios(int(os.Stdout.Fd()), unix.TCGETA)
14 | return err == nil
15 | }
16 |
--------------------------------------------------------------------------------
/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,!appengine
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 stderr's file descriptor is a terminal.
22 | func IsTerminal() bool {
23 | fd := syscall.Stderr
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/box-builder/overmount/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2017 Erik Hollensbe. 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 |
--------------------------------------------------------------------------------
/vendor/github.com/box-builder/overmount/imgio/docker.go:
--------------------------------------------------------------------------------
1 | package imgio
2 |
3 | import "github.com/docker/docker/client"
4 |
5 | // Docker implements image i/o (overmount.Importer and overmount.Exporter)
6 | // through docker. Note that no attempt will be made to pull the images from
7 | // remote sources; they must exist on your client's daemon before they can be
8 | // used by this import/export interface.
9 | type Docker struct {
10 | client *client.Client
11 | }
12 |
13 | // NewDocker creates a new *Docker for use. If c is nil,
14 | // `client.NewEnvClient()` will be called to initiate a new client.
15 | func NewDocker(c *client.Client) (*Docker, error) {
16 | if c == nil {
17 | var err error
18 | c, err = client.NewEnvClient()
19 | if err != nil {
20 | return nil, err
21 | }
22 | }
23 |
24 | return &Docker{client: c}, nil
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/box-builder/overmount/imgio/oci.go:
--------------------------------------------------------------------------------
1 | package imgio
2 |
3 | // OCI implements writing to OCI format image trees. These trees are then
4 | // tarred and compressed for distribution purposes.
5 | type OCI struct{}
6 |
7 | // NewOCI creates a new *OCI.
8 | func NewOCI() *OCI {
9 | return &OCI{}
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/box-builder/progress/vendor.conf:
--------------------------------------------------------------------------------
1 | gopkg.in/check.v1 master
2 |
--------------------------------------------------------------------------------
/vendor/github.com/chzyer/readline/password.go:
--------------------------------------------------------------------------------
1 | package readline
2 |
3 | type opPassword struct {
4 | o *Operation
5 | backupCfg *Config
6 | }
7 |
8 | func newOpPassword(o *Operation) *opPassword {
9 | return &opPassword{o: o}
10 | }
11 |
12 | func (o *opPassword) ExitPasswordMode() {
13 | o.o.SetConfig(o.backupCfg)
14 | o.backupCfg = nil
15 | }
16 |
17 | func (o *opPassword) EnterPasswordMode(cfg *Config) (err error) {
18 | o.backupCfg, err = o.o.SetConfig(cfg)
19 | return
20 | }
21 |
22 | func (o *opPassword) PasswordConfig() *Config {
23 | return &Config{
24 | EnableMask: true,
25 | InterruptPrompt: "\n",
26 | EOFPrompt: "\n",
27 | HistoryLimit: -1,
28 |
29 | Stdout: o.o.cfg.Stdout,
30 | Stderr: o.o.cfg.Stderr,
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/vendor/github.com/chzyer/readline/std_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package readline
4 |
5 | func init() {
6 | Stdin = NewRawReader()
7 | Stdout = NewANSIWriter(Stdout)
8 | Stderr = NewANSIWriter(Stderr)
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/chzyer/readline/term_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 readline
8 |
9 | import "syscall"
10 |
11 | const ioctlReadTermios = syscall.TIOCGETA
12 | const ioctlWriteTermios = syscall.TIOCSETA
13 |
--------------------------------------------------------------------------------
/vendor/github.com/chzyer/readline/term_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 readline
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/github.com/chzyer/readline/utils_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package readline
4 |
5 | import (
6 | "io"
7 | "syscall"
8 | )
9 |
10 | func SuspendMe() {
11 | }
12 |
13 | func GetStdin() int {
14 | return int(syscall.Stdin)
15 | }
16 |
17 | func init() {
18 | isWindows = true
19 | }
20 |
21 | // get width of the terminal
22 | func GetScreenWidth() int {
23 | info, _ := GetConsoleScreenBufferInfo()
24 | if info == nil {
25 | return -1
26 | }
27 | return int(info.dwSize.x)
28 | }
29 |
30 | // ClearScreen clears the console screen
31 | func ClearScreen(_ io.Writer) error {
32 | return SetConsoleCursorPosition(&_COORD{0, 0})
33 | }
34 |
35 | func DefaultIsTerminal() bool {
36 | return true
37 | }
38 |
39 | func DefaultOnWidthChanged(func()) {
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/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/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/docker/NOTICE:
--------------------------------------------------------------------------------
1 | Docker
2 | Copyright 2012-2017 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/api/common_unix.go:
--------------------------------------------------------------------------------
1 | // +build !windows
2 |
3 | package api
4 |
5 | // MinVersion represents Minimum REST API version supported
6 | const MinVersion string = "1.12"
7 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/common_windows.go:
--------------------------------------------------------------------------------
1 | package api
2 |
3 | // MinVersion represents Minimum REST API version supported
4 | // Technically the first daemon API version released on Windows is v1.25 in
5 | // engine version 1.13. However, some clients are explicitly using downlevel
6 | // APIs (e.g. docker-compose v2.1 file format) and that is just too restrictive.
7 | // Hence also allowing 1.24 on Windows.
8 | const MinVersion string = "1.24"
9 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/names.go:
--------------------------------------------------------------------------------
1 | package api
2 |
3 | import "regexp"
4 |
5 | // RestrictedNameChars collects the characters allowed to represent a name, normally used to validate container and volume names.
6 | const RestrictedNameChars = `[a-zA-Z0-9][a-zA-Z0-9_.-]`
7 |
8 | // RestrictedNamePattern is a regular expression to validate names against the collection of restricted characters.
9 | var RestrictedNamePattern = regexp.MustCompile(`^` + RestrictedNameChars + `+$`)
10 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/auth.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // AuthConfig contains authorization information for connecting to a Registry
4 | type AuthConfig struct {
5 | Username string `json:"username,omitempty"`
6 | Password string `json:"password,omitempty"`
7 | Auth string `json:"auth,omitempty"`
8 |
9 | // Email is an optional value associated with the username.
10 | // This field is deprecated and will be removed in a later
11 | // version of docker.
12 | Email string `json:"email,omitempty"`
13 |
14 | ServerAddress string `json:"serveraddress,omitempty"`
15 |
16 | // IdentityToken is used to authenticate the user and get
17 | // an access token for the registry.
18 | IdentityToken string `json:"identitytoken,omitempty"`
19 |
20 | // RegistryToken is a bearer token to be sent to a registry
21 | RegistryToken string `json:"registrytoken,omitempty"`
22 | }
23 |
--------------------------------------------------------------------------------
/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/container/container_changes.go:
--------------------------------------------------------------------------------
1 | package container
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // ContainerChangeResponseItem container change response item
11 | // swagger:model ContainerChangeResponseItem
12 | type ContainerChangeResponseItem struct {
13 |
14 | // Kind of change
15 | // Required: true
16 | Kind uint8 `json:"Kind"`
17 |
18 | // Path to file that has changed
19 | // Required: true
20 | Path string `json:"Path"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/container/container_create.go:
--------------------------------------------------------------------------------
1 | package container
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // ContainerCreateCreatedBody container create created body
11 | // swagger:model ContainerCreateCreatedBody
12 | type ContainerCreateCreatedBody struct {
13 |
14 | // The ID of the created container
15 | // Required: true
16 | ID string `json:"Id"`
17 |
18 | // Warnings encountered when creating the container
19 | // Required: true
20 | Warnings []string `json:"Warnings"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/container/container_top.go:
--------------------------------------------------------------------------------
1 | package container
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // ContainerTopOKBody container top o k body
11 | // swagger:model ContainerTopOKBody
12 | type ContainerTopOKBody struct {
13 |
14 | // Each process running in the container, where each is process is an array of values corresponding to the titles
15 | // Required: true
16 | Processes [][]string `json:"Processes"`
17 |
18 | // The ps column titles
19 | // Required: true
20 | Titles []string `json:"Titles"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/container/container_update.go:
--------------------------------------------------------------------------------
1 | package container
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // ContainerUpdateOKBody container update o k body
11 | // swagger:model ContainerUpdateOKBody
12 | type ContainerUpdateOKBody struct {
13 |
14 | // warnings
15 | // Required: true
16 | Warnings []string `json:"Warnings"`
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/container/container_wait.go:
--------------------------------------------------------------------------------
1 | package container
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // ContainerWaitOKBody container wait o k body
11 | // swagger:model ContainerWaitOKBody
12 | type ContainerWaitOKBody struct {
13 |
14 | // Exit code of the container
15 | // Required: true
16 | StatusCode int64 `json:"StatusCode"`
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/error_response.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // ErrorResponse Represents an error.
7 | // swagger:model ErrorResponse
8 | type ErrorResponse struct {
9 |
10 | // The error message.
11 | // Required: true
12 | Message string `json:"message"`
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/graph_driver_data.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // GraphDriverData Information about a container's graph driver.
7 | // swagger:model GraphDriverData
8 | type GraphDriverData struct {
9 |
10 | // data
11 | // Required: true
12 | Data map[string]string `json:"Data"`
13 |
14 | // name
15 | // Required: true
16 | Name string `json:"Name"`
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/id_response.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // IDResponse Response to an API call that returns just an Id
7 | // swagger:model IdResponse
8 | type IDResponse struct {
9 |
10 | // The id of the newly created object.
11 | // Required: true
12 | ID string `json:"Id"`
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/image_delete_response_item.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // ImageDeleteResponseItem image delete response item
7 | // swagger:model ImageDeleteResponseItem
8 | type ImageDeleteResponseItem struct {
9 |
10 | // The image ID of an image that was deleted
11 | Deleted string `json:"Deleted,omitempty"`
12 |
13 | // The image ID of an image that was untagged
14 | Untagged string `json:"Untagged,omitempty"`
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/plugin_device.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // PluginDevice plugin device
7 | // swagger:model PluginDevice
8 | type PluginDevice struct {
9 |
10 | // description
11 | // Required: true
12 | Description string `json:"Description"`
13 |
14 | // name
15 | // Required: true
16 | Name string `json:"Name"`
17 |
18 | // path
19 | // Required: true
20 | Path *string `json:"Path"`
21 |
22 | // settable
23 | // Required: true
24 | Settable []string `json:"Settable"`
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/plugin_env.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // PluginEnv plugin env
7 | // swagger:model PluginEnv
8 | type PluginEnv struct {
9 |
10 | // description
11 | // Required: true
12 | Description string `json:"Description"`
13 |
14 | // name
15 | // Required: true
16 | Name string `json:"Name"`
17 |
18 | // settable
19 | // Required: true
20 | Settable []string `json:"Settable"`
21 |
22 | // value
23 | // Required: true
24 | Value *string `json:"Value"`
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/plugin_interface_type.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // PluginInterfaceType plugin interface type
7 | // swagger:model PluginInterfaceType
8 | type PluginInterfaceType struct {
9 |
10 | // capability
11 | // Required: true
12 | Capability string `json:"Capability"`
13 |
14 | // prefix
15 | // Required: true
16 | Prefix string `json:"Prefix"`
17 |
18 | // version
19 | // Required: true
20 | Version string `json:"Version"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/plugin_mount.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // PluginMount plugin mount
7 | // swagger:model PluginMount
8 | type PluginMount struct {
9 |
10 | // description
11 | // Required: true
12 | Description string `json:"Description"`
13 |
14 | // destination
15 | // Required: true
16 | Destination string `json:"Destination"`
17 |
18 | // name
19 | // Required: true
20 | Name string `json:"Name"`
21 |
22 | // options
23 | // Required: true
24 | Options []string `json:"Options"`
25 |
26 | // settable
27 | // Required: true
28 | Settable []string `json:"Settable"`
29 |
30 | // source
31 | // Required: true
32 | Source *string `json:"Source"`
33 |
34 | // type
35 | // Required: true
36 | Type string `json:"Type"`
37 | }
38 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/port.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // Port An open port on a container
7 | // swagger:model Port
8 | type Port struct {
9 |
10 | // IP
11 | IP string `json:"IP,omitempty"`
12 |
13 | // Port on the container
14 | // Required: true
15 | PrivatePort uint16 `json:"PrivatePort"`
16 |
17 | // Port exposed on the host
18 | PublicPort uint16 `json:"PublicPort,omitempty"`
19 |
20 | // type
21 | // Required: true
22 | Type string `json:"Type"`
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/registry/authenticate.go:
--------------------------------------------------------------------------------
1 | package registry
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | // AuthenticateOKBody authenticate o k body
11 | // swagger:model AuthenticateOKBody
12 | type AuthenticateOKBody struct {
13 |
14 | // An opaque token used to authenticate a user after a successful login
15 | // Required: true
16 | IdentityToken string `json:"IdentityToken"`
17 |
18 | // The status of the authentication
19 | // Required: true
20 | Status string `json:"Status"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/service_update_response.go:
--------------------------------------------------------------------------------
1 | package types
2 |
3 | // This file was generated by the swagger tool.
4 | // Editing this file might prove futile when you re-run the swagger generate command
5 |
6 | // ServiceUpdateResponse service update response
7 | // swagger:model ServiceUpdateResponse
8 | type ServiceUpdateResponse struct {
9 |
10 | // Optional warning messages
11 | Warnings []string `json:"Warnings"`
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/strslice/strslice.go:
--------------------------------------------------------------------------------
1 | package strslice
2 |
3 | import "encoding/json"
4 |
5 | // StrSlice represents a string or an array of strings.
6 | // We need to override the json decoder to accept both options.
7 | type StrSlice []string
8 |
9 | // UnmarshalJSON decodes the byte slice whether it's a string or an array of
10 | // strings. This method is needed to implement json.Unmarshaler.
11 | func (e *StrSlice) UnmarshalJSON(b []byte) error {
12 | if len(b) == 0 {
13 | // With no input, we preserve the existing value by returning nil and
14 | // leaving the target alone. This allows defining default values for
15 | // the type.
16 | return nil
17 | }
18 |
19 | p := make([]string, 0, 1)
20 | if err := json.Unmarshal(b, &p); err != nil {
21 | var s string
22 | if err := json.Unmarshal(b, &s); err != nil {
23 | return err
24 | }
25 | p = append(p, s)
26 | }
27 |
28 | *e = p
29 | return nil
30 | }
31 |
--------------------------------------------------------------------------------
/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:"Labels"`
21 | }
22 |
23 | // Driver represents a driver (network, logging).
24 | type Driver struct {
25 | Name string `json:",omitempty"`
26 | Options map[string]string `json:",omitempty"`
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/api/types/swarm/secret.go:
--------------------------------------------------------------------------------
1 | package swarm
2 |
3 | import "os"
4 |
5 | // Secret represents a secret.
6 | type Secret struct {
7 | ID string
8 | Meta
9 | Spec SecretSpec
10 | }
11 |
12 | // SecretSpec represents a secret specification from a secret in swarm
13 | type SecretSpec struct {
14 | Annotations
15 | Data []byte `json:",omitempty"`
16 | }
17 |
18 | // SecretReferenceFileTarget is a file target in a secret reference
19 | type SecretReferenceFileTarget struct {
20 | Name string
21 | UID string
22 | GID string
23 | Mode os.FileMode
24 | }
25 |
26 | // SecretReference is a reference to a secret in swarm
27 | type SecretReference struct {
28 | File *SecretReferenceFileTarget
29 | SecretID string
30 | SecretName string
31 | }
32 |
--------------------------------------------------------------------------------
/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/api/types/volume/volumes_list.go:
--------------------------------------------------------------------------------
1 | package volume
2 |
3 | // ----------------------------------------------------------------------------
4 | // DO NOT EDIT THIS FILE
5 | // This file was generated by `swagger generate operation`
6 | //
7 | // See hack/generate-swagger-api.sh
8 | // ----------------------------------------------------------------------------
9 |
10 | import "github.com/docker/docker/api/types"
11 |
12 | // VolumesListOKBody volumes list o k body
13 | // swagger:model VolumesListOKBody
14 | type VolumesListOKBody struct {
15 |
16 | // List of volumes
17 | // Required: true
18 | Volumes []*types.Volume `json:"Volumes"`
19 |
20 | // Warnings that occurred when fetching the list of volumes
21 | // Required: true
22 | Warnings []string `json:"Warnings"`
23 | }
24 |
--------------------------------------------------------------------------------
/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 | "net/url"
5 |
6 | "github.com/docker/docker/api/types"
7 | "golang.org/x/net/context"
8 | )
9 |
10 | // CheckpointDelete deletes the checkpoint with the given name from the given container
11 | func (cli *Client) CheckpointDelete(ctx context.Context, containerID string, options types.CheckpointDeleteOptions) error {
12 | query := url.Values{}
13 | if options.CheckpointDir != "" {
14 | query.Set("dir", options.CheckpointDir)
15 | }
16 |
17 | resp, err := cli.delete(ctx, "/containers/"+containerID+"/checkpoints/"+options.CheckpointID, query, nil)
18 | ensureReaderClosed(resp)
19 | return err
20 | }
21 |
--------------------------------------------------------------------------------
/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/container"
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) ([]container.ContainerChangeResponseItem, error) {
13 | var changes []container.ContainerChangeResponseItem
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_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 | if len(options.CheckpointDir) != 0 {
18 | query.Set("checkpoint-dir", options.CheckpointDir)
19 | }
20 |
21 | resp, err := cli.post(ctx, "/containers/"+containerID+"/start", query, nil, nil)
22 | ensureReaderClosed(resp)
23 | return err
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/container_stats.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 | // ContainerStats returns near realtime stats for a given container.
11 | // It's up to the caller to close the io.ReadCloser returned.
12 | func (cli *Client) ContainerStats(ctx context.Context, containerID string, stream bool) (types.ContainerStats, error) {
13 | query := url.Values{}
14 | query.Set("stream", "0")
15 | if stream {
16 | query.Set("stream", "1")
17 | }
18 |
19 | resp, err := cli.get(ctx, "/containers/"+containerID+"/stats", query, nil)
20 | if err != nil {
21 | return types.ContainerStats{}, err
22 | }
23 |
24 | osType := getDockerOS(resp.header.Get("Server"))
25 | return types.ContainerStats{Body: resp.body, OSType: osType}, err
26 | }
27 |
--------------------------------------------------------------------------------
/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_top.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "encoding/json"
5 | "net/url"
6 | "strings"
7 |
8 | "github.com/docker/docker/api/types/container"
9 | "golang.org/x/net/context"
10 | )
11 |
12 | // ContainerTop shows process information from within a container.
13 | func (cli *Client) ContainerTop(ctx context.Context, containerID string, arguments []string) (container.ContainerTopOKBody, error) {
14 | var response container.ContainerTopOKBody
15 | query := url.Values{}
16 | if len(arguments) > 0 {
17 | query.Set("ps_args", strings.Join(arguments, " "))
18 | }
19 |
20 | resp, err := cli.get(ctx, "/containers/"+containerID+"/top", query, nil)
21 | if err != nil {
22 | return response, err
23 | }
24 |
25 | err = json.NewDecoder(resp.body).Decode(&response)
26 | ensureReaderClosed(resp)
27 | return response, err
28 | }
29 |
--------------------------------------------------------------------------------
/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/container"
7 | "golang.org/x/net/context"
8 | )
9 |
10 | // ContainerUpdate updates resources of a container
11 | func (cli *Client) ContainerUpdate(ctx context.Context, containerID string, updateConfig container.UpdateConfig) (container.ContainerUpdateOKBody, error) {
12 | var response container.ContainerUpdateOKBody
13 | serverResp, err := cli.post(ctx, "/containers/"+containerID+"/update", nil, updateConfig, nil)
14 | if err != nil {
15 | return response, err
16 | }
17 |
18 | err = json.NewDecoder(serverResp.body).Decode(&response)
19 |
20 | ensureReaderClosed(serverResp)
21 | return response, err
22 | }
23 |
--------------------------------------------------------------------------------
/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/container"
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) (int64, 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 container.ContainerWaitOKBody
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/image"
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) ([]image.HistoryResponseItem, error) {
13 | var history []image.HistoryResponseItem
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_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.ImageDeleteResponseItem, 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.ImageDeleteResponseItem
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_experimental.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "github.com/docker/docker/api/types"
5 | "golang.org/x/net/context"
6 | )
7 |
8 | type apiClientExperimental interface {
9 | CheckpointAPIClient
10 | }
11 |
12 | // CheckpointAPIClient defines API client methods for the checkpoints
13 | type CheckpointAPIClient interface {
14 | CheckpointCreate(ctx context.Context, container string, options types.CheckpointCreateOptions) error
15 | CheckpointDelete(ctx context.Context, container string, options types.CheckpointDeleteOptions) error
16 | CheckpointList(ctx context.Context, container string, options types.CheckpointListOptions) ([]types.Checkpoint, error)
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/interface_stable.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | // APIClient is an interface that clients that talk with a docker server must implement.
4 | type APIClient interface {
5 | CommonAPIClient
6 | apiClientExperimental
7 | }
8 |
9 | // Ensure that Client always implements APIClient.
10 | var _ APIClient = &Client{}
11 |
--------------------------------------------------------------------------------
/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_list.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "encoding/json"
5 | "net/url"
6 |
7 | "github.com/docker/docker/api/types"
8 | "github.com/docker/docker/api/types/filters"
9 | "github.com/docker/docker/api/types/swarm"
10 | "golang.org/x/net/context"
11 | )
12 |
13 | // NodeList returns the list of nodes.
14 | func (cli *Client) NodeList(ctx context.Context, options types.NodeListOptions) ([]swarm.Node, error) {
15 | query := url.Values{}
16 |
17 | if options.Filters.Len() > 0 {
18 | filterJSON, err := filters.ToParam(options.Filters)
19 |
20 | if err != nil {
21 | return nil, err
22 | }
23 |
24 | query.Set("filters", filterJSON)
25 | }
26 |
27 | resp, err := cli.get(ctx, "/nodes", query, nil)
28 | if err != nil {
29 | return nil, err
30 | }
31 |
32 | var nodes []swarm.Node
33 | err = json.NewDecoder(resp.body).Decode(&nodes)
34 | ensureReaderClosed(resp)
35 | return nodes, err
36 | }
37 |
--------------------------------------------------------------------------------
/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/ping.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "fmt"
5 |
6 | "github.com/docker/docker/api/types"
7 | "golang.org/x/net/context"
8 | )
9 |
10 | // Ping pings the server and returns the value of the "Docker-Experimental", "OS-Type" & "API-Version" headers
11 | func (cli *Client) Ping(ctx context.Context) (types.Ping, error) {
12 | var ping types.Ping
13 | req, err := cli.buildRequest("GET", fmt.Sprintf("%s/_ping", cli.basePath), nil, nil)
14 | if err != nil {
15 | return ping, err
16 | }
17 | serverResp, err := cli.doRequest(ctx, req)
18 | if err != nil {
19 | return ping, err
20 | }
21 | defer ensureReaderClosed(serverResp)
22 |
23 | ping.APIVersion = serverResp.header.Get("API-Version")
24 |
25 | if serverResp.header.Get("Docker-Experimental") == "true" {
26 | ping.Experimental = true
27 | }
28 |
29 | ping.OSType = serverResp.header.Get("OSType")
30 |
31 | return ping, nil
32 | }
33 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_create.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "io"
5 | "net/http"
6 | "net/url"
7 |
8 | "github.com/docker/docker/api/types"
9 | "golang.org/x/net/context"
10 | )
11 |
12 | // PluginCreate creates a plugin
13 | func (cli *Client) PluginCreate(ctx context.Context, createContext io.Reader, createOptions types.PluginCreateOptions) error {
14 | headers := http.Header(make(map[string][]string))
15 | headers.Set("Content-Type", "application/x-tar")
16 |
17 | query := url.Values{}
18 | query.Set("name", createOptions.RepoName)
19 |
20 | resp, err := cli.postRaw(ctx, "/plugins/create", query, createContext, headers)
21 | if err != nil {
22 | return err
23 | }
24 | ensureReaderClosed(resp)
25 | return err
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_disable.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 | // PluginDisable disables a plugin
11 | func (cli *Client) PluginDisable(ctx context.Context, name string, options types.PluginDisableOptions) error {
12 | query := url.Values{}
13 | if options.Force {
14 | query.Set("force", "1")
15 | }
16 | resp, err := cli.post(ctx, "/plugins/"+name+"/disable", query, nil, nil)
17 | ensureReaderClosed(resp)
18 | return err
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_enable.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "net/url"
5 | "strconv"
6 |
7 | "github.com/docker/docker/api/types"
8 | "golang.org/x/net/context"
9 | )
10 |
11 | // PluginEnable enables a plugin
12 | func (cli *Client) PluginEnable(ctx context.Context, name string, options types.PluginEnableOptions) error {
13 | query := url.Values{}
14 | query.Set("timeout", strconv.Itoa(options.Timeout))
15 |
16 | resp, err := cli.post(ctx, "/plugins/"+name+"/enable", query, nil, nil)
17 | ensureReaderClosed(resp)
18 | return err
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_inspect.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "bytes"
5 | "encoding/json"
6 | "io/ioutil"
7 | "net/http"
8 |
9 | "github.com/docker/docker/api/types"
10 | "golang.org/x/net/context"
11 | )
12 |
13 | // PluginInspectWithRaw inspects an existing plugin
14 | func (cli *Client) PluginInspectWithRaw(ctx context.Context, name string) (*types.Plugin, []byte, error) {
15 | resp, err := cli.get(ctx, "/plugins/"+name+"/json", nil, nil)
16 | if err != nil {
17 | if resp.statusCode == http.StatusNotFound {
18 | return nil, nil, pluginNotFoundError{name}
19 | }
20 | return nil, nil, err
21 | }
22 |
23 | defer ensureReaderClosed(resp)
24 | body, err := ioutil.ReadAll(resp.body)
25 | if err != nil {
26 | return nil, nil, err
27 | }
28 | var p types.Plugin
29 | rdr := bytes.NewReader(body)
30 | err = json.NewDecoder(rdr).Decode(&p)
31 | return &p, body, err
32 | }
33 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_list.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "encoding/json"
5 | "net/url"
6 |
7 | "github.com/docker/docker/api/types"
8 | "github.com/docker/docker/api/types/filters"
9 | "golang.org/x/net/context"
10 | )
11 |
12 | // PluginList returns the installed plugins
13 | func (cli *Client) PluginList(ctx context.Context, filter filters.Args) (types.PluginsListResponse, error) {
14 | var plugins types.PluginsListResponse
15 | query := url.Values{}
16 |
17 | if filter.Len() > 0 {
18 | filterJSON, err := filters.ToParamWithVersion(cli.version, filter)
19 | if err != nil {
20 | return plugins, err
21 | }
22 | query.Set("filters", filterJSON)
23 | }
24 | resp, err := cli.get(ctx, "/plugins", query, nil)
25 | if err != nil {
26 | return plugins, err
27 | }
28 |
29 | err = json.NewDecoder(resp.body).Decode(&plugins)
30 | ensureReaderClosed(resp)
31 | return plugins, err
32 | }
33 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_push.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "io"
5 |
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) (io.ReadCloser, error) {
11 | headers := map[string][]string{"X-Registry-Auth": {registryAuth}}
12 | resp, err := cli.post(ctx, "/plugins/"+name+"/push", nil, nil, headers)
13 | if err != nil {
14 | return nil, err
15 | }
16 | return resp.body, nil
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_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 | // PluginRemove removes a plugin
11 | func (cli *Client) PluginRemove(ctx context.Context, name string, options types.PluginRemoveOptions) error {
12 | query := url.Values{}
13 | if options.Force {
14 | query.Set("force", "1")
15 | }
16 |
17 | resp, err := cli.delete(ctx, "/plugins/"+name, query, nil)
18 | ensureReaderClosed(resp)
19 | return err
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/plugin_set.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "golang.org/x/net/context"
5 | )
6 |
7 | // PluginSet modifies settings for an existing plugin
8 | func (cli *Client) PluginSet(ctx context.Context, name string, args []string) error {
9 | resp, err := cli.post(ctx, "/plugins/"+name+"/set", nil, args, nil)
10 | ensureReaderClosed(resp)
11 | return err
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/secret_create.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/swarm"
8 | "golang.org/x/net/context"
9 | )
10 |
11 | // SecretCreate creates a new Secret.
12 | func (cli *Client) SecretCreate(ctx context.Context, secret swarm.SecretSpec) (types.SecretCreateResponse, error) {
13 | var response types.SecretCreateResponse
14 | resp, err := cli.post(ctx, "/secrets/create", nil, secret, nil)
15 | if err != nil {
16 | return response, err
17 | }
18 |
19 | err = json.NewDecoder(resp.body).Decode(&response)
20 | ensureReaderClosed(resp)
21 | return response, err
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/secret_remove.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import "golang.org/x/net/context"
4 |
5 | // SecretRemove removes a Secret.
6 | func (cli *Client) SecretRemove(ctx context.Context, id string) error {
7 | resp, err := cli.delete(ctx, "/secrets/"+id, nil, nil)
8 | ensureReaderClosed(resp)
9 | return err
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/secret_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 | // SecretUpdate attempts to updates a Secret
12 | func (cli *Client) SecretUpdate(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error {
13 | query := url.Values{}
14 | query.Set("version", strconv.FormatUint(version.Index, 10))
15 | resp, err := cli.post(ctx, "/secrets/"+id+"/update", query, secret, nil)
16 | ensureReaderClosed(resp)
17 | return err
18 | }
19 |
--------------------------------------------------------------------------------
/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_get_unlock_key.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 | // SwarmGetUnlockKey retrieves the swarm's unlock key.
11 | func (cli *Client) SwarmGetUnlockKey(ctx context.Context) (types.SwarmUnlockKeyResponse, error) {
12 | serverResp, err := cli.get(ctx, "/swarm/unlockkey", nil, nil)
13 | if err != nil {
14 | return types.SwarmUnlockKeyResponse{}, err
15 | }
16 |
17 | var response types.SwarmUnlockKeyResponse
18 | err = json.NewDecoder(serverResp.body).Decode(&response)
19 | ensureReaderClosed(serverResp)
20 | return response, err
21 | }
22 |
--------------------------------------------------------------------------------
/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_unlock.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "github.com/docker/docker/api/types/swarm"
5 | "golang.org/x/net/context"
6 | )
7 |
8 | // SwarmUnlock unlocks locked swarm.
9 | func (cli *Client) SwarmUnlock(ctx context.Context, req swarm.UnlockRequest) error {
10 | serverResp, err := cli.post(ctx, "/swarm/unlock", nil, req, nil)
11 | ensureReaderClosed(serverResp)
12 | return err
13 | }
14 |
--------------------------------------------------------------------------------
/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 | query.Set("rotateManagerUnlockKey", fmt.Sprintf("%v", flags.RotateManagerUnlockKey))
19 | resp, err := cli.post(ctx, "/swarm/update", query, swarm, nil)
20 | ensureReaderClosed(resp)
21 | return err
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/task_list.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "encoding/json"
5 | "net/url"
6 |
7 | "github.com/docker/docker/api/types"
8 | "github.com/docker/docker/api/types/filters"
9 | "github.com/docker/docker/api/types/swarm"
10 | "golang.org/x/net/context"
11 | )
12 |
13 | // TaskList returns the list of tasks.
14 | func (cli *Client) TaskList(ctx context.Context, options types.TaskListOptions) ([]swarm.Task, error) {
15 | query := url.Values{}
16 |
17 | if options.Filters.Len() > 0 {
18 | filterJSON, err := filters.ToParam(options.Filters)
19 | if err != nil {
20 | return nil, err
21 | }
22 |
23 | query.Set("filters", filterJSON)
24 | }
25 |
26 | resp, err := cli.get(ctx, "/tasks", query, nil)
27 | if err != nil {
28 | return nil, err
29 | }
30 |
31 | var tasks []swarm.Task
32 | err = json.NewDecoder(resp.body).Decode(&tasks)
33 | ensureReaderClosed(resp)
34 | return tasks, err
35 | }
36 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/transport.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "crypto/tls"
5 | "net/http"
6 | )
7 |
8 | // transportFunc allows us to inject a mock transport for testing. We define it
9 | // here so we can detect the tlsconfig and return nil for only this type.
10 | type transportFunc func(*http.Request) (*http.Response, error)
11 |
12 | func (tf transportFunc) RoundTrip(req *http.Request) (*http.Response, error) {
13 | return tf(req)
14 | }
15 |
16 | // resolveTLSConfig attempts to resolve the TLS configuration from the
17 | // RoundTripper.
18 | func resolveTLSConfig(transport http.RoundTripper) *tls.Config {
19 | switch tr := transport.(type) {
20 | case *http.Transport:
21 | return tr.TLSClientConfig
22 | default:
23 | return nil
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/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 | volumetypes "github.com/docker/docker/api/types/volume"
8 | "golang.org/x/net/context"
9 | )
10 |
11 | // VolumeCreate creates a volume in the docker host.
12 | func (cli *Client) VolumeCreate(ctx context.Context, options volumetypes.VolumesCreateBody) (types.Volume, error) {
13 | var volume types.Volume
14 | resp, err := cli.post(ctx, "/volumes/create", nil, options, nil)
15 | if err != nil {
16 | return volume, err
17 | }
18 | err = json.NewDecoder(resp.body).Decode(&volume)
19 | ensureReaderClosed(resp)
20 | return volume, err
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/client/volume_remove.go:
--------------------------------------------------------------------------------
1 | package client
2 |
3 | import (
4 | "net/url"
5 |
6 | "github.com/docker/docker/api/types/versions"
7 | "golang.org/x/net/context"
8 | )
9 |
10 | // VolumeRemove removes a volume from the docker host.
11 | func (cli *Client) VolumeRemove(ctx context.Context, volumeID string, force bool) error {
12 | query := url.Values{}
13 | if versions.GreaterThanOrEqualTo(cli.version, "1.25") {
14 | if force {
15 | query.Set("force", "1")
16 | }
17 | }
18 | resp, err := cli.delete(ctx, "/volumes/"+volumeID, query, nil)
19 | ensureReaderClosed(resp)
20 | return err
21 | }
22 |
--------------------------------------------------------------------------------
/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/hack/integration-cli-on-swarm/agent/vendor.conf:
--------------------------------------------------------------------------------
1 | # dependencies specific to worker (i.e. github.com/docker/docker/...) are not vendored here
2 | github.com/bfirsh/funker-go eaa0a2e06f30e72c9a0b7f858951e581e26ef773
3 |
--------------------------------------------------------------------------------
/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/layer_windows.go:
--------------------------------------------------------------------------------
1 | package layer
2 |
3 | import "errors"
4 |
5 | // GetLayerPath returns the path to a layer
6 | func GetLayerPath(s Store, layer ChainID) (string, error) {
7 | ls, ok := s.(*layerStore)
8 | if !ok {
9 | return "", errors.New("unsupported layer store")
10 | }
11 | ls.layerL.Lock()
12 | defer ls.layerL.Unlock()
13 |
14 | rl, ok := ls.layerMap[layer]
15 | if !ok {
16 | return "", ErrLayerDoesNotExist
17 | }
18 |
19 | path, err := ls.driver.Get(rl.cacheID, "")
20 | if err != nil {
21 | return "", err
22 | }
23 |
24 | if err := ls.driver.Put(rl.cacheID); err != nil {
25 | return "", err
26 | }
27 |
28 | return path, nil
29 | }
30 |
31 | func (ls *layerStore) mountID(name string) string {
32 | // windows has issues if container ID doesn't match mount ID
33 | return name
34 | }
35 |
--------------------------------------------------------------------------------
/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/oci/defaults_solaris.go:
--------------------------------------------------------------------------------
1 | package oci
2 |
3 | import (
4 | "runtime"
5 |
6 | "github.com/opencontainers/runtime-spec/specs-go"
7 | )
8 |
9 | // DefaultSpec returns default oci spec used by docker.
10 | func DefaultSpec() specs.Spec {
11 | s := specs.Spec{
12 | Version: "0.6.0",
13 | Platform: specs.Platform{
14 | OS: "SunOS",
15 | Arch: runtime.GOARCH,
16 | },
17 | }
18 | s.Solaris = &specs.Solaris{}
19 | return s
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/oci/defaults_windows.go:
--------------------------------------------------------------------------------
1 | package oci
2 |
3 | import (
4 | "runtime"
5 |
6 | "github.com/opencontainers/runtime-spec/specs-go"
7 | )
8 |
9 | // DefaultSpec returns default spec used by docker.
10 | func DefaultSpec() specs.Spec {
11 | return specs.Spec{
12 | Version: specs.Version,
13 | Platform: specs.Platform{
14 | OS: runtime.GOOS,
15 | Arch: runtime.GOARCH,
16 | },
17 | Windows: &specs.Windows{},
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/oci/devices_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !linux
2 |
3 | package oci
4 |
5 | import (
6 | "errors"
7 |
8 | "github.com/opencontainers/runc/libcontainer/configs"
9 | specs "github.com/opencontainers/runtime-spec/specs-go"
10 | )
11 |
12 | // Device transforms a libcontainer configs.Device to a specs.Device object.
13 | // Not implemented
14 | func Device(d *configs.Device) specs.Device { return specs.Device{} }
15 |
16 | // DevicesFromPath computes a list of devices and device permissions from paths (pathOnHost and pathInContainer) and cgroup permissions.
17 | // Not implemented
18 | func DevicesFromPath(pathOnHost, pathInContainer, cgroupPermissions string) (devs []specs.Device, devPermissions []specs.DeviceCgroup, err error) {
19 | return nil, nil, errors.New("oci/devices: unsupported platform")
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/oci/namespaces.go:
--------------------------------------------------------------------------------
1 | package oci
2 |
3 | import specs "github.com/opencontainers/runtime-spec/specs-go"
4 |
5 | // RemoveNamespace removes the `nsType` namespace from OCI spec `s`
6 | func RemoveNamespace(s *specs.Spec, nsType specs.NamespaceType) {
7 | for i, n := range s.Linux.Namespaces {
8 | if n.Type == nsType {
9 | s.Linux.Namespaces = append(s.Linux.Namespaces[:i], s.Linux.Namespaces[i+1:]...)
10 | return
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/pkg/README.md:
--------------------------------------------------------------------------------
1 | pkg/ is a collection of utility packages used by the Docker project without being specific to its internals.
2 |
3 | Utility packages are kept separate from the docker core codebase to keep it as small and concise as possible.
4 | If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the
5 | Docker organization, to facilitate re-use by other projects. However that is not the priority.
6 |
7 | The directory `pkg` is named after the same directory in the camlistore project. Since Brad is a core
8 | Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!
9 |
10 | Because utility packages are small and neatly separated from the rest of the codebase, they are a good
11 | place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!
12 |
--------------------------------------------------------------------------------
/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/idtools_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package idtools
4 |
5 | import (
6 | "os"
7 |
8 | "github.com/docker/docker/pkg/system"
9 | )
10 |
11 | // Platforms such as Windows do not support the UID/GID concept. So make this
12 | // just a wrapper around system.MkdirAll.
13 | func mkdirAs(path string, mode os.FileMode, ownerUID, ownerGID int, mkAll, chownExisting bool) error {
14 | if err := system.MkdirAll(path, mode); err != nil && !os.IsExist(err) {
15 | return err
16 | }
17 | return nil
18 | }
19 |
20 | // CanAccess takes a valid (existing) directory and a uid, gid pair and determines
21 | // if that uid, gid pair has access (execute bit) to the directory
22 | // Windows does not require/support this function, so always return true
23 | func CanAccess(path string, uid, gid int) bool {
24 | return true
25 | }
26 |
--------------------------------------------------------------------------------
/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/idtools/utils_unix.go:
--------------------------------------------------------------------------------
1 | // +build !windows
2 |
3 | package idtools
4 |
5 | import (
6 | "fmt"
7 | "os/exec"
8 | "path/filepath"
9 | "strings"
10 | )
11 |
12 | func resolveBinary(binname string) (string, error) {
13 | binaryPath, err := exec.LookPath(binname)
14 | if err != nil {
15 | return "", err
16 | }
17 | resolvedPath, err := filepath.EvalSymlinks(binaryPath)
18 | if err != nil {
19 | return "", err
20 | }
21 | //only return no error if the final resolved binary basename
22 | //matches what was searched for
23 | if filepath.Base(resolvedPath) == binname {
24 | return resolvedPath, nil
25 | }
26 | return "", fmt.Errorf("Binary %q does not resolve to a binary of that name in $PATH (%q)", binname, resolvedPath)
27 | }
28 |
29 | func execCmd(cmd, args string) ([]byte, error) {
30 | execCmd := exec.Command(cmd, strings.Split(args, " ")...)
31 | return execCmd.CombinedOutput()
32 | }
33 |
--------------------------------------------------------------------------------
/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/longpath/longpath.go:
--------------------------------------------------------------------------------
1 | // longpath introduces some constants and helper functions for handling long paths
2 | // in Windows, which are expected to be prepended with `\\?\` and followed by either
3 | // a drive letter, a UNC server\share, or a volume identifier.
4 |
5 | package longpath
6 |
7 | import (
8 | "strings"
9 | )
10 |
11 | // Prefix is the longpath prefix for Windows file paths.
12 | const Prefix = `\\?\`
13 |
14 | // AddPrefix will add the Windows long path prefix to the path provided if
15 | // it does not already have it.
16 | func AddPrefix(path string) string {
17 | if !strings.HasPrefix(path, Prefix) {
18 | if strings.HasPrefix(path, `\\`) {
19 | // This is a UNC path, so we need to add 'UNC' to the path as well.
20 | path = Prefix + `UNC` + path[1:]
21 | } else {
22 | path = Prefix + path
23 | }
24 | }
25 | return path
26 | }
27 |
--------------------------------------------------------------------------------
/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_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_solaris.go:
--------------------------------------------------------------------------------
1 | // +build solaris,cgo
2 |
3 | package mount
4 |
5 | /*
6 | #include
7 | #include
8 | */
9 | import "C"
10 |
11 | import (
12 | "fmt"
13 | )
14 |
15 | func parseMountTable() ([]*Info, error) {
16 | mnttab := C.fopen(C.CString(C.MNTTAB), C.CString("r"))
17 | if mnttab == nil {
18 | return nil, fmt.Errorf("Failed to open %s", C.MNTTAB)
19 | }
20 |
21 | var out []*Info
22 | var mp C.struct_mnttab
23 |
24 | ret := C.getmntent(mnttab, &mp)
25 | for ret == 0 {
26 | var mountinfo Info
27 | mountinfo.Mountpoint = C.GoString(mp.mnt_mountp)
28 | mountinfo.Source = C.GoString(mp.mnt_special)
29 | mountinfo.Fstype = C.GoString(mp.mnt_fstype)
30 | mountinfo.Opts = C.GoString(mp.mnt_mntopts)
31 | out = append(out, &mountinfo)
32 | ret = C.getmntent(mnttab, &mp)
33 | }
34 |
35 | C.fclose(mnttab)
36 | return out, nil
37 | }
38 |
--------------------------------------------------------------------------------
/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/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/plugins/plugins_linux.go:
--------------------------------------------------------------------------------
1 | package plugins
2 |
3 | // BasePath returns the path to which all paths returned by the plugin are relative to.
4 | // For v1 plugins, this always returns the host's root directory.
5 | func (p *Plugin) BasePath() string {
6 | return "/"
7 | }
8 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/pkg/plugins/plugins_windows.go:
--------------------------------------------------------------------------------
1 | package plugins
2 |
3 | // BasePath returns the path to which all paths returned by the plugin are relative to.
4 | // For Windows v1 plugins, this returns an empty string, since the plugin is already aware
5 | // of the absolute path of the mount.
6 | func (p *Plugin) BasePath() string {
7 | return ""
8 | }
9 |
--------------------------------------------------------------------------------
/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/stringid/README.md:
--------------------------------------------------------------------------------
1 | This package provides helper functions for dealing with string identifiers
2 |
--------------------------------------------------------------------------------
/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/chtimes_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package system
4 |
5 | import (
6 | "syscall"
7 | "time"
8 | )
9 |
10 | //setCTime will set the create time on a file. On Windows, this requires
11 | //calling SetFileTime and explicitly including the create time.
12 | func setCTime(path string, ctime time.Time) error {
13 | ctimespec := syscall.NsecToTimespec(ctime.UnixNano())
14 | pathp, e := syscall.UTF16PtrFromString(path)
15 | if e != nil {
16 | return e
17 | }
18 | h, e := syscall.CreateFile(pathp,
19 | syscall.FILE_WRITE_ATTRIBUTES, syscall.FILE_SHARE_WRITE, nil,
20 | syscall.OPEN_EXISTING, syscall.FILE_FLAG_BACKUP_SEMANTICS, 0)
21 | if e != nil {
22 | return e
23 | }
24 | defer syscall.Close(h)
25 | c := syscall.NsecToFiletime(syscall.TimespecToNsec(ctimespec))
26 | return syscall.SetFileTime(h, &c, nil, nil)
27 | }
28 |
--------------------------------------------------------------------------------
/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/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.go:
--------------------------------------------------------------------------------
1 | // +build !windows
2 |
3 | package system
4 |
5 | import (
6 | "syscall"
7 | )
8 |
9 | // Mknod creates a filesystem node (file, device special file or named pipe) named path
10 | // with attributes specified by mode and dev.
11 | func Mknod(path string, mode uint32, dev int) error {
12 | return syscall.Mknod(path, mode, dev)
13 | }
14 |
15 | // Mkdev is used to build the value of linux devices (in /dev/) which specifies major
16 | // and minor number of the newly created device special file.
17 | // Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes.
18 | // They are, from low to high: the lower 8 bits of the minor, then 12 bits of the major,
19 | // then the top 12 bits of the minor.
20 | func Mkdev(major int64, minor int64) uint32 {
21 | return uint32(((minor & 0xfff00) << 12) | ((major & 0xfff) << 8) | (minor & 0xff))
22 | }
23 |
--------------------------------------------------------------------------------
/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/process_unix.go:
--------------------------------------------------------------------------------
1 | // +build linux freebsd solaris darwin
2 |
3 | package system
4 |
5 | import (
6 | "syscall"
7 | )
8 |
9 | // IsProcessAlive returns true if process with a given pid is running.
10 | func IsProcessAlive(pid int) bool {
11 | err := syscall.Kill(pid, syscall.Signal(0))
12 | if err == nil || err == syscall.EPERM {
13 | return true
14 | }
15 |
16 | return false
17 | }
18 |
19 | // KillProcess force-stops a process.
20 | func KillProcess(pid int) {
21 | syscall.Kill(pid, syscall.SIGKILL)
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/pkg/system/process_windows.go:
--------------------------------------------------------------------------------
1 | package system
2 |
3 | // IsProcessAlive returns true if process with a given pid is running.
4 | func IsProcessAlive(pid int) bool {
5 | // TODO Windows containerd. Not sure this is needed
6 | // p, err := os.FindProcess(pid)
7 | // if err == nil {
8 | // return true
9 | // }
10 | return false
11 | }
12 |
13 | // KillProcess force-stops a process.
14 | func KillProcess(pid int) {
15 | // TODO Windows containerd. Not sure this is needed
16 | // p, err := os.FindProcess(pid)
17 | // if err == nil {
18 | // p.Kill()
19 | // }
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/docker/pkg/system/stat_darwin.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.Mtimespec}, nil
15 | }
16 |
17 | // FromStatT loads a system.StatT from a syscall.Stat_t.
18 | func FromStatT(s *syscall.Stat_t) (*StatT, error) {
19 | return fromStatT(s)
20 | }
21 |
22 | // Stat takes a path to a file and returns
23 | // a system.StatT type pertaining to that file.
24 | //
25 | // Throws an error if the file does not exist
26 | func Stat(path string) (*StatT, error) {
27 | s := &syscall.Stat_t{}
28 | if err := syscall.Stat(path, s); err != nil {
29 | return nil, err
30 | }
31 | return fromStatT(s)
32 | }
33 |
--------------------------------------------------------------------------------
/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_linux.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: s.Mode,
11 | uid: s.Uid,
12 | gid: s.Gid,
13 | rdev: s.Rdev,
14 | mtim: s.Mtim}, nil
15 | }
16 |
17 | // FromStatT exists only on linux, and loads a system.StatT from a
18 | // syscal.Stat_t.
19 | func FromStatT(s *syscall.Stat_t) (*StatT, error) {
20 | return fromStatT(s)
21 | }
22 |
23 | // Stat takes a path to a file and returns
24 | // a system.StatT type pertaining to that file.
25 | //
26 | // Throws an error if the file does not exist
27 | func Stat(path string) (*StatT, error) {
28 | s := &syscall.Stat_t{}
29 | if err := syscall.Stat(path, s); err != nil {
30 | return nil, err
31 | }
32 | return fromStatT(s)
33 | }
34 |
--------------------------------------------------------------------------------
/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_solaris.go:
--------------------------------------------------------------------------------
1 | // +build solaris
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.Mtim}, nil
17 | }
18 |
19 | // FromStatT loads a system.StatT from a syscal.Stat_t.
20 | func FromStatT(s *syscall.Stat_t) (*StatT, error) {
21 | return fromStatT(s)
22 | }
23 |
24 | // Stat takes a path to a file and returns
25 | // a system.StatT type pertaining to that file.
26 | //
27 | // Throws an error if the file does not exist
28 | func Stat(path string) (*StatT, error) {
29 | s := &syscall.Stat_t{}
30 | if err := syscall.Stat(path, s); err != nil {
31 | return nil, err
32 | }
33 | return fromStatT(s)
34 | }
35 |
--------------------------------------------------------------------------------
/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_linux.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 | // These are not currently available in syscall
12 | atFdCwd := -100
13 | atSymLinkNoFollow := 0x100
14 |
15 | var _path *byte
16 | _path, err := syscall.BytePtrFromString(path)
17 | if err != nil {
18 | return err
19 | }
20 |
21 | if _, _, err := syscall.Syscall6(syscall.SYS_UTIMENSAT, uintptr(atFdCwd), uintptr(unsafe.Pointer(_path)), uintptr(unsafe.Pointer(&ts[0])), uintptr(atSymLinkNoFollow), 0, 0); err != 0 && err != syscall.ENOSYS {
22 | return err
23 | }
24 |
25 | return nil
26 | }
27 |
--------------------------------------------------------------------------------
/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/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/term/term_unix.go:
--------------------------------------------------------------------------------
1 | // +build !solaris,!windows
2 |
3 | package term
4 |
5 | import (
6 | "syscall"
7 | "unsafe"
8 | )
9 |
10 | // GetWinsize returns the window size based on the specified file descriptor.
11 | func GetWinsize(fd uintptr) (*Winsize, error) {
12 | ws := &Winsize{}
13 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(syscall.TIOCGWINSZ), uintptr(unsafe.Pointer(ws)))
14 | // Skipp errno = 0
15 | if err == 0 {
16 | return ws, nil
17 | }
18 | return ws, err
19 | }
20 |
21 | // SetWinsize tries to set the specified window size for the specified file descriptor.
22 | func SetWinsize(fd uintptr, ws *Winsize) error {
23 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(syscall.TIOCSWINSZ), uintptr(unsafe.Pointer(ws)))
24 | // Skipp errno = 0
25 | if err == 0 {
26 | return nil
27 | }
28 | return err
29 | }
30 |
--------------------------------------------------------------------------------
/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/docker/plugin/v2/plugin_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !linux
2 |
3 | package v2
4 |
5 | import (
6 | "errors"
7 |
8 | specs "github.com/opencontainers/runtime-spec/specs-go"
9 | )
10 |
11 | // InitSpec creates an OCI spec from the plugin's config.
12 | func (p *Plugin) InitSpec(execRoot string) (*specs.Spec, error) {
13 | return nil, errors.New("not supported")
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/go-connections/README.md:
--------------------------------------------------------------------------------
1 | [](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/sockets/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/box-builder/box/79d8303e43913de0fae91b434a32415fdb857988/vendor/github.com/docker/go-connections/sockets/README.md
--------------------------------------------------------------------------------
/vendor/github.com/docker/go-connections/sockets/sockets_windows.go:
--------------------------------------------------------------------------------
1 | package sockets
2 |
3 | import (
4 | "net"
5 | "net/http"
6 | "time"
7 |
8 | "github.com/Microsoft/go-winio"
9 | )
10 |
11 | func configureUnixTransport(tr *http.Transport, proto, addr string) error {
12 | return ErrProtocolNotAvailable
13 | }
14 |
15 | func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
16 | // No need for compression in local communications.
17 | tr.DisableCompression = true
18 | tr.Dial = func(_, _ string) (net.Conn, error) {
19 | return DialPipe(addr, defaultTimeout)
20 | }
21 | return nil
22 | }
23 |
24 | // DialPipe connects to a Windows named pipe.
25 | func DialPipe(addr string, timeout time.Duration) (net.Conn, error) {
26 | return winio.DialPipe(addr, &timeout)
27 | }
28 |
--------------------------------------------------------------------------------
/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 | // 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/sockets/unix_socket.go:
--------------------------------------------------------------------------------
1 | // +build !windows
2 |
3 | package sockets
4 |
5 | import (
6 | "net"
7 | "os"
8 | "syscall"
9 | )
10 |
11 | // NewUnixSocket creates a unix socket with the specified path and group.
12 | func NewUnixSocket(path string, gid int) (net.Listener, error) {
13 | if err := syscall.Unlink(path); err != nil && !os.IsNotExist(err) {
14 | return nil, err
15 | }
16 | mask := syscall.Umask(0777)
17 | defer syscall.Umask(mask)
18 |
19 | l, err := net.Listen("unix", path)
20 | if err != nil {
21 | return nil, err
22 | }
23 | if err := os.Chown(path, 0, gid); err != nil {
24 | l.Close()
25 | return nil, err
26 | }
27 | if err := os.Chmod(path, 0660); err != nil {
28 | l.Close()
29 | return nil, err
30 | }
31 | return l, nil
32 | }
33 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go:
--------------------------------------------------------------------------------
1 | // +build go1.7
2 |
3 | package tlsconfig
4 |
5 | import (
6 | "crypto/x509"
7 | "runtime"
8 |
9 | "github.com/Sirupsen/logrus"
10 | )
11 |
12 | // SystemCertPool returns a copy of the system cert pool,
13 | // returns an error if failed to load or empty pool on windows.
14 | func SystemCertPool() (*x509.CertPool, error) {
15 | certpool, err := x509.SystemCertPool()
16 | if err != nil && runtime.GOOS == "windows" {
17 | logrus.Infof("Unable to use system certificate pool: %v", err)
18 | return x509.NewCertPool(), nil
19 | }
20 | return certpool, err
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/go-connections/tlsconfig/certpool_other.go:
--------------------------------------------------------------------------------
1 | // +build !go1.7
2 |
3 | package tlsconfig
4 |
5 | import (
6 | "crypto/x509"
7 |
8 | "github.com/Sirupsen/logrus"
9 | )
10 |
11 | // SystemCertPool returns an new empty cert pool,
12 | // accessing system cert pool is supported in go 1.7
13 | func SystemCertPool() (*x509.CertPool, error) {
14 | logrus.Warn("Unable to use system certificate pool: requires building with go 1.7 or later")
15 | return x509.NewCertPool(), nil
16 | }
17 |
--------------------------------------------------------------------------------
/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 | [](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/libtrust/README.md:
--------------------------------------------------------------------------------
1 | # libtrust
2 |
3 | Libtrust is library for managing authentication and authorization using public key cryptography.
4 |
5 | Authentication is handled using the identity attached to the public key.
6 | Libtrust provides multiple methods to prove possession of the private key associated with an identity.
7 | - TLS x509 certificates
8 | - Signature verification
9 | - Key Challenge
10 |
11 | Authorization and access control is managed through a distributed trust graph.
12 | Trust servers are used as the authorities of the trust graph and allow caching portions of the graph for faster access.
13 |
14 | ## Copyright and license
15 |
16 | Code and documentation copyright 2014 Docker, inc. Code released under the Apache 2.0 license.
17 | Docs released under Creative commons.
18 |
19 |
--------------------------------------------------------------------------------
/vendor/github.com/docker/libtrust/doc.go:
--------------------------------------------------------------------------------
1 | /*
2 | Package libtrust provides an interface for managing authentication and
3 | authorization using public key cryptography. Authentication is handled
4 | using the identity attached to the public key and verified through TLS
5 | x509 certificates, a key challenge, or signature. Authorization and
6 | access control is managed through a trust graph distributed between
7 | both remote trust servers and locally cached and managed data.
8 | */
9 | package libtrust
10 |
--------------------------------------------------------------------------------
/vendor/github.com/gorilla/context/README.md:
--------------------------------------------------------------------------------
1 | context
2 | =======
3 | [](https://travis-ci.org/gorilla/context)
4 |
5 | gorilla/context is a general purpose registry for global request variables.
6 |
7 | > Note: gorilla/context, having been born well before `context.Context` existed, does not play well
8 | > with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`.
9 |
10 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/context
11 |
--------------------------------------------------------------------------------
/vendor/github.com/gorilla/mux/context_gorilla.go:
--------------------------------------------------------------------------------
1 | // +build !go1.7
2 |
3 | package mux
4 |
5 | import (
6 | "net/http"
7 |
8 | "github.com/gorilla/context"
9 | )
10 |
11 | func contextGet(r *http.Request, key interface{}) interface{} {
12 | return context.Get(r, key)
13 | }
14 |
15 | func contextSet(r *http.Request, key, val interface{}) *http.Request {
16 | if val == nil {
17 | return r
18 | }
19 |
20 | context.Set(r, key, val)
21 | return r
22 | }
23 |
24 | func contextClear(r *http.Request) {
25 | context.Clear(r)
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/github.com/gorilla/mux/context_native.go:
--------------------------------------------------------------------------------
1 | // +build go1.7
2 |
3 | package mux
4 |
5 | import (
6 | "context"
7 | "net/http"
8 | )
9 |
10 | func contextGet(r *http.Request, key interface{}) interface{} {
11 | return r.Context().Value(key)
12 | }
13 |
14 | func contextSet(r *http.Request, key, val interface{}) *http.Request {
15 | if val == nil {
16 | return r
17 | }
18 |
19 | return r.WithContext(context.WithValue(r.Context(), key, val))
20 | }
21 |
22 | func contextClear(r *http.Request) {
23 | return
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-colorable/colorable_others.go:
--------------------------------------------------------------------------------
1 | // +build !windows
2 |
3 | package colorable
4 |
5 | import (
6 | "io"
7 | "os"
8 | )
9 |
10 | func NewColorable(file *os.File) io.Writer {
11 | if file == nil {
12 | panic("nil passed instead of *os.File to NewColorable()")
13 | }
14 |
15 | return file
16 | }
17 |
18 | func NewColorableStdout() io.Writer {
19 | return os.Stdout
20 | }
21 |
22 | func NewColorableStderr() io.Writer {
23 | return os.Stderr
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/README.md:
--------------------------------------------------------------------------------
1 | # go-isatty
2 |
3 | isatty for golang
4 |
5 | ## Usage
6 |
7 | ```go
8 | package main
9 |
10 | import (
11 | "fmt"
12 | "github.com/mattn/go-isatty"
13 | "os"
14 | )
15 |
16 | func main() {
17 | if isatty.IsTerminal(os.Stdout.Fd()) {
18 | fmt.Println("Is Terminal")
19 | } else {
20 | fmt.Println("Is Not Terminal")
21 | }
22 | }
23 | ```
24 |
25 | ## Installation
26 |
27 | ```
28 | $ go get github.com/mattn/go-isatty
29 | ```
30 |
31 | # License
32 |
33 | MIT
34 |
35 | # Author
36 |
37 | Yasuhiro Matsumoto (a.k.a mattn)
38 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/doc.go:
--------------------------------------------------------------------------------
1 | // Package isatty implements interface to isatty
2 | package isatty
3 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/isatty_appengine.go:
--------------------------------------------------------------------------------
1 | // +build appengine
2 |
3 | package isatty
4 |
5 | // IsTerminal returns true if the file descriptor is terminal which
6 | // is always false on on appengine classic which is a sandboxed PaaS.
7 | func IsTerminal(fd uintptr) bool {
8 | return false
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/isatty_bsd.go:
--------------------------------------------------------------------------------
1 | // +build darwin freebsd openbsd netbsd dragonfly
2 | // +build !appengine
3 |
4 | package isatty
5 |
6 | import (
7 | "syscall"
8 | "unsafe"
9 | )
10 |
11 | const ioctlReadTermios = syscall.TIOCGETA
12 |
13 | // IsTerminal return true if the file descriptor is terminal.
14 | func IsTerminal(fd uintptr) bool {
15 | var termios syscall.Termios
16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
17 | return err == 0
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/isatty_linux.go:
--------------------------------------------------------------------------------
1 | // +build linux
2 | // +build !appengine
3 |
4 | package isatty
5 |
6 | import (
7 | "syscall"
8 | "unsafe"
9 | )
10 |
11 | const ioctlReadTermios = syscall.TCGETS
12 |
13 | // IsTerminal return true if the file descriptor is terminal.
14 | func IsTerminal(fd uintptr) bool {
15 | var termios syscall.Termios
16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
17 | return err == 0
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/isatty_solaris.go:
--------------------------------------------------------------------------------
1 | // +build solaris
2 | // +build !appengine
3 |
4 | package isatty
5 |
6 | import (
7 | "golang.org/x/sys/unix"
8 | )
9 |
10 | // IsTerminal returns true if the given file descriptor is a terminal.
11 | // see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c
12 | func IsTerminal(fd uintptr) bool {
13 | var termio unix.Termio
14 | err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio)
15 | return err == nil
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-isatty/isatty_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 | // +build !appengine
3 |
4 | package isatty
5 |
6 | import (
7 | "syscall"
8 | "unsafe"
9 | )
10 |
11 | var kernel32 = syscall.NewLazyDLL("kernel32.dll")
12 | var procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
13 |
14 | // IsTerminal return true if the file descriptor is terminal.
15 | func IsTerminal(fd uintptr) bool {
16 | var st uint32
17 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
18 | return r != 0 && e == 0
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/.gitignore:
--------------------------------------------------------------------------------
1 | build_config.rb
2 | libmruby.a
3 | vendor/
4 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | sudo: required
3 | go:
4 | - 1.7
5 | - 1.6
6 | - 1.5
7 | install: sudo apt-get install build-essential g++ bison flex
8 | script: make
9 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/Makefile:
--------------------------------------------------------------------------------
1 | MRUBY_COMMIT ?= 1.2.0
2 |
3 | all: libmruby.a test
4 |
5 | clean:
6 | rm -rf vendor
7 | rm -f libmruby.a
8 |
9 | gofmt:
10 | @echo "Checking code with gofmt.."
11 | gofmt -s *.go >/dev/null
12 |
13 | lint:
14 | sh golint.sh
15 |
16 | libmruby.a: vendor/mruby
17 | cd vendor/mruby && ${MAKE}
18 | cp vendor/mruby/build/host/lib/libmruby.a .
19 |
20 | vendor/mruby:
21 | mkdir -p vendor
22 | git clone https://github.com/mruby/mruby.git vendor/mruby
23 | cd vendor/mruby && git reset --hard && git clean -fdx
24 | cd vendor/mruby && git checkout ${MRUBY_COMMIT}
25 |
26 | test: gofmt lint
27 | go test -v
28 |
29 | .PHONY: all clean libmruby.a test lint
30 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/array.go:
--------------------------------------------------------------------------------
1 | package mruby
2 |
3 | // #include "gomruby.h"
4 | import "C"
5 |
6 | // Array represents an MrbValue that is a Array in Ruby.
7 | //
8 | // A Array can be obtained by calling the Array function on MrbValue.
9 | type Array struct {
10 | *MrbValue
11 | }
12 |
13 | // Len returns the length of the array.
14 | func (v *Array) Len() int {
15 | return int(C.mrb_ary_len(v.state, v.value))
16 | }
17 |
18 | // Get gets an element form the Array by index.
19 | //
20 | // This does not copy the element. This is a pointer/reference directly
21 | // to the element in the array.
22 | func (v *Array) Get(idx int) (*MrbValue, error) {
23 | result := C.mrb_ary_entry(v.value, C.mrb_int(idx))
24 |
25 | val := newValue(v.state, result)
26 | if val.Type() == TypeNil {
27 | val = nil
28 | }
29 |
30 | return val, nil
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/array_test.go:
--------------------------------------------------------------------------------
1 | package mruby
2 |
3 | import (
4 | "testing"
5 | )
6 |
7 | func TestArray(t *testing.T) {
8 | mrb := NewMrb()
9 | defer mrb.Close()
10 |
11 | value, err := mrb.LoadString(`["foo", "bar", "baz", false]`)
12 | if err != nil {
13 | t.Fatalf("err: %s", err)
14 | }
15 |
16 | v := value.Array()
17 |
18 | // Len
19 | if n := v.Len(); n != 4 {
20 | t.Fatalf("bad: %d", n)
21 | }
22 |
23 | // Get
24 | value, err = v.Get(1)
25 | if err != nil {
26 | t.Fatalf("err: %s", err)
27 | }
28 | if value.String() != "bar" {
29 | t.Fatalf("bad: %s", value)
30 | }
31 |
32 | // Get bool
33 | value, err = v.Get(3)
34 | if err != nil {
35 | t.Fatalf("err: %s", err)
36 | }
37 | if valType := value.Type(); valType != TypeFalse {
38 | t.Fatalf("bad type: %s", valType)
39 | }
40 | if value.String() != "false" {
41 | t.Fatalf("bad: %s", value)
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/context_test.go:
--------------------------------------------------------------------------------
1 | package mruby
2 |
3 | import (
4 | "testing"
5 | )
6 |
7 | func TestCompileContextFilename(t *testing.T) {
8 | mrb := NewMrb()
9 | defer mrb.Close()
10 |
11 | ctx := NewCompileContext(mrb)
12 | defer ctx.Close()
13 |
14 | if ctx.Filename() != "" {
15 | t.Fatalf("bad filename: %s", ctx.Filename())
16 | }
17 |
18 | ctx.SetFilename("foo")
19 |
20 | if ctx.Filename() != "foo" {
21 | t.Fatalf("bad filename: %s", ctx.Filename())
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/func_test.go:
--------------------------------------------------------------------------------
1 | package mruby
2 |
3 | import "testing"
4 |
5 | func testCallback(m *Mrb, self *MrbValue) (Value, Value) {
6 | return Int(42), nil
7 | }
8 |
9 | func testCallbackResult(t *testing.T, v *MrbValue) {
10 | if v.Type() != TypeFixnum {
11 | t.Fatalf("bad type: %d", v.Type())
12 | }
13 |
14 | if v.Fixnum() != 42 {
15 | t.Fatalf("bad: %d", v.Fixnum())
16 | }
17 | }
18 |
19 | func testCallbackException(m *Mrb, self *MrbValue) (Value, Value) {
20 | _, e := m.LoadString(`raise 'Exception'`)
21 | v := e.(*Exception)
22 | return nil, v.MrbValue
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/github.com/mitchellh/go-mruby/golint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | version=$(go version | awk '{ print $3 }' | awk -F. '{ print $2 }')
4 |
5 | if [ "$version" != "5" ]
6 | then
7 | echo "Installing golint into your GOPATH..."
8 | go get github.com/golang/lint/...
9 | echo "Checking with golint..."
10 | golint ./...
11 | fi
12 |
--------------------------------------------------------------------------------
/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/libcontainer/configs/cgroup_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !windows,!linux,!freebsd
2 |
3 | package configs
4 |
5 | type Cgroup struct {
6 | }
7 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_windows.go:
--------------------------------------------------------------------------------
1 | package configs
2 |
3 | // TODO Windows: This can ultimately be entirely factored out on Windows as
4 | // cgroups are a Unix-specific construct.
5 | type Cgroup struct {
6 | }
7 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/hugepage_limit.go:
--------------------------------------------------------------------------------
1 | package configs
2 |
3 | type HugepageLimit struct {
4 | // which type of hugepage to limit.
5 | Pagesize string `json:"page_size"`
6 |
7 | // usage limit for hugepage.
8 | Limit uint64 `json:"limit"`
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/interface_priority_map.go:
--------------------------------------------------------------------------------
1 | package configs
2 |
3 | import (
4 | "fmt"
5 | )
6 |
7 | type IfPrioMap struct {
8 | Interface string `json:"interface"`
9 | Priority int64 `json:"priority"`
10 | }
11 |
12 | func (i *IfPrioMap) CgroupString() string {
13 | return fmt.Sprintf("%s %d", i.Interface, i.Priority)
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces.go:
--------------------------------------------------------------------------------
1 | package configs
2 |
3 | type NamespaceType string
4 |
5 | type Namespaces []Namespace
6 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces_syscall.go:
--------------------------------------------------------------------------------
1 | // +build linux
2 |
3 | package configs
4 |
5 | import "syscall"
6 |
7 | func (n *Namespace) Syscall() int {
8 | return namespaceInfo[n.Type]
9 | }
10 |
11 | var namespaceInfo = map[NamespaceType]int{
12 | NEWNET: syscall.CLONE_NEWNET,
13 | NEWNS: syscall.CLONE_NEWNS,
14 | NEWUSER: syscall.CLONE_NEWUSER,
15 | NEWIPC: syscall.CLONE_NEWIPC,
16 | NEWUTS: syscall.CLONE_NEWUTS,
17 | NEWPID: syscall.CLONE_NEWPID,
18 | }
19 |
20 | // CloneFlags parses the container's Namespaces options to set the correct
21 | // flags on clone, unshare. This function returns flags only for new namespaces.
22 | func (n *Namespaces) CloneFlags() uintptr {
23 | var flag int
24 | for _, v := range *n {
25 | if v.Path != "" {
26 | continue
27 | }
28 | flag |= namespaceInfo[v.Type]
29 | }
30 | return uintptr(flag)
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces_syscall_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !linux,!windows
2 |
3 | package configs
4 |
5 | func (n *Namespace) Syscall() int {
6 | panic("No namespace syscall support")
7 | return 0
8 | }
9 |
10 | // CloneFlags parses the container's Namespaces options to set the correct
11 | // flags on clone, unshare. This function returns flags only for new namespaces.
12 | func (n *Namespaces) CloneFlags() uintptr {
13 | panic("No namespace syscall support")
14 | return uintptr(0)
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !linux,!freebsd
2 |
3 | package configs
4 |
5 | // Namespace defines configuration for each namespace. It specifies an
6 | // alternate path that is able to be joined via setns.
7 | type Namespace struct {
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/devices/devices_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package devices
4 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/nsenter/nsenter.go:
--------------------------------------------------------------------------------
1 | // +build linux,!gccgo
2 |
3 | package nsenter
4 |
5 | /*
6 | #cgo CFLAGS: -Wall
7 | extern void nsexec();
8 | void __attribute__((constructor)) init(void) {
9 | nsexec();
10 | }
11 | */
12 | import "C"
13 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/nsenter/nsenter_gccgo.go:
--------------------------------------------------------------------------------
1 | // +build linux,gccgo
2 |
3 | package nsenter
4 |
5 | /*
6 | #cgo CFLAGS: -Wall
7 | extern void nsexec();
8 | void __attribute__((constructor)) init(void) {
9 | nsexec();
10 | }
11 | */
12 | import "C"
13 |
14 | // AlwaysFalse is here to stay false
15 | // (and be exported so the compiler doesn't optimize out its reference)
16 | var AlwaysFalse bool
17 |
18 | func init() {
19 | if AlwaysFalse {
20 | // by referencing this C init() in a noop test, it will ensure the compiler
21 | // links in the C function.
22 | // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65134
23 | C.init()
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runc/libcontainer/nsenter/nsenter_unsupported.go:
--------------------------------------------------------------------------------
1 | // +build !linux !cgo
2 |
3 | package nsenter
4 |
5 | import "C"
6 |
--------------------------------------------------------------------------------
/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_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/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 | */
8 | import "C"
9 |
10 | func GetClockTicks() int {
11 | return int(C.sysconf(C._SC_CLK_TCK))
12 | }
13 |
--------------------------------------------------------------------------------
/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/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/opencontainers/runtime-spec/specs-go/state.go:
--------------------------------------------------------------------------------
1 | package specs
2 |
3 | // State holds information about the runtime state of the container.
4 | type State struct {
5 | // Version is the version of the specification that is supported.
6 | Version string `json:"version"`
7 | // ID is the container ID
8 | ID string `json:"id"`
9 | // Status is the runtime state of the container.
10 | Status string `json:"status"`
11 | // Pid is the process ID for the container process.
12 | Pid int `json:"pid"`
13 | // BundlePath is the path to the container's bundle directory.
14 | BundlePath string `json:"bundlePath"`
15 | // Annotations are the annotations associated with the container.
16 | Annotations map[string]string `json:"annotations"`
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/opencontainers/runtime-spec/specs-go/version.go:
--------------------------------------------------------------------------------
1 | package specs
2 |
3 | import "fmt"
4 |
5 | const (
6 | // VersionMajor is for an API incompatible changes
7 | VersionMajor = 1
8 | // VersionMinor is for functionality in a backwards-compatible manner
9 | VersionMinor = 0
10 | // VersionPatch is for backwards-compatible bug fixes
11 | VersionPatch = 0
12 |
13 | // VersionDev indicates development branch. Releases will be empty string.
14 | VersionDev = "-rc2-dev"
15 | )
16 |
17 | // Version is the specification version that the package types support.
18 | var Version = fmt.Sprintf("%d.%d.%d%s", VersionMajor, VersionMinor, VersionPatch, VersionDev)
19 |
--------------------------------------------------------------------------------
/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 |
21 | //go:generate python ./generate-flag-types cli -i flag-types.json -o flag_generated.go
22 |
--------------------------------------------------------------------------------
/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/archive/tar/stat_unix.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 darwin dragonfly freebsd openbsd netbsd solaris
6 |
7 | package tar
8 |
9 | import (
10 | "os"
11 | "syscall"
12 | )
13 |
14 | func init() {
15 | sysStat = statUnix
16 | }
17 |
18 | func statUnix(fi os.FileInfo, h *Header) error {
19 | sys, ok := fi.Sys().(*syscall.Stat_t)
20 | if !ok {
21 | return nil
22 | }
23 | h.Uid = int(sys.Uid)
24 | h.Gid = int(sys.Gid)
25 | // TODO(bradfitz): populate username & group. os/user
26 | // doesn't cache LookupId lookups, and lacks group
27 | // lookup functions.
28 | h.AccessTime = statAtime(sys)
29 | h.ChangeTime = statCtime(sys)
30 | // TODO(bradfitz): major/minor device numbers?
31 | return nil
32 | }
33 |
--------------------------------------------------------------------------------
/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/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/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/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/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_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_mips64x.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 mips64 mips64le
7 | // +build !gccgo
8 |
9 | #include "textflag.h"
10 |
11 | //
12 | // System calls for mips64, 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 | JMP syscall·Syscall(SB)
20 |
21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
22 | JMP syscall·Syscall6(SB)
23 |
24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
25 | JMP syscall·RawSyscall(SB)
26 |
27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
28 | JMP syscall·RawSyscall6(SB)
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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 mips mipsle
7 | // +build !gccgo
8 |
9 | #include "textflag.h"
10 |
11 | //
12 | // System calls for mips, 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-28
19 | JMP syscall·Syscall(SB)
20 |
21 | TEXT ·Syscall6(SB),NOSPLIT,$0-40
22 | JMP syscall·Syscall6(SB)
23 |
24 | TEXT ·Syscall9(SB),NOSPLIT,$0-52
25 | JMP syscall·Syscall9(SB)
26 |
27 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28
28 | JMP syscall·RawSyscall(SB)
29 |
30 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
31 | JMP syscall·RawSyscall6(SB)
32 |
--------------------------------------------------------------------------------
/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_linux_s390x.s:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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 s390x
6 | // +build linux
7 | // +build !gccgo
8 |
9 | #include "textflag.h"
10 |
11 | //
12 | // System calls for s390x, 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/bluetooth_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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 | // Bluetooth sockets and messages
6 |
7 | package unix
8 |
9 | // Bluetooth Protocols
10 | const (
11 | BTPROTO_L2CAP = 0
12 | BTPROTO_HCI = 1
13 | BTPROTO_SCO = 2
14 | BTPROTO_RFCOMM = 3
15 | BTPROTO_BNEP = 4
16 | BTPROTO_CMTP = 5
17 | BTPROTO_HIDP = 6
18 | BTPROTO_AVDTP = 7
19 | )
20 |
21 | const (
22 | HCI_CHANNEL_RAW = 0
23 | HCI_CHANNEL_USER = 1
24 | HCI_CHANNEL_MONITOR = 2
25 | HCI_CHANNEL_CONTROL = 3
26 | )
27 |
28 | // Socketoption Level
29 | const (
30 | SOL_BLUETOOTH = 0x112
31 | SOL_HCI = 0x0
32 | SOL_L2CAP = 0x6
33 | SOL_RFCOMM = 0x12
34 | SOL_SCO = 0x11
35 | )
36 |
--------------------------------------------------------------------------------
/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.go:
--------------------------------------------------------------------------------
1 | // +build linux darwin freebsd openbsd netbsd dragonfly
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 | // +build darwin dragonfly freebsd linux netbsd openbsd
8 |
9 | package unix
10 |
11 | import "unsafe"
12 |
13 | // fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux
14 | // systems by flock_linux_32bit.go to be SYS_FCNTL64.
15 | var fcntl64Syscall uintptr = SYS_FCNTL
16 |
17 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
18 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
19 | _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk)))
20 | if errno == 0 {
21 | return nil
22 | }
23 | return errno
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/flock_linux_32bit.go:
--------------------------------------------------------------------------------
1 | // +build linux,386 linux,arm linux,mips linux,mipsle
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/gccgo_linux_sparc64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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,sparc64
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | //extern sysconf
12 | func realSysconf(name int) int64
13 |
14 | func sysconf(name int) (n int64, err syscall.Errno) {
15 | r := realSysconf(name)
16 | if r < 0 {
17 | return 0, syscall.GetErrno()
18 | }
19 | return r, 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_linux_amd64_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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,linux
6 | // +build !gccgo
7 |
8 | package unix
9 |
10 | import "syscall"
11 |
12 | //go:noescape
13 | func gettimeofday(tv *Timeval) (err syscall.Errno)
14 |
--------------------------------------------------------------------------------
/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/syscall_unix_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 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 | // +build !gccgo
7 |
8 | package unix
9 |
10 | import "syscall"
11 |
12 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
13 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
14 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
15 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
16 |
--------------------------------------------------------------------------------
/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_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 windows
6 | // +build go1.4
7 |
8 | package windows
9 |
10 | import "syscall"
11 |
12 | func Unsetenv(key string) error {
13 | // This was added in Go 1.4.
14 | return syscall.Unsetenv(key)
15 | }
16 |
--------------------------------------------------------------------------------
/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/eventlog.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
6 |
7 | package windows
8 |
9 | const (
10 | EVENTLOG_SUCCESS = 0
11 | EVENTLOG_ERROR_TYPE = 1
12 | EVENTLOG_WARNING_TYPE = 2
13 | EVENTLOG_INFORMATION_TYPE = 4
14 | EVENTLOG_AUDIT_SUCCESS = 8
15 | EVENTLOG_AUDIT_FAILURE = 16
16 | )
17 |
18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW
19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource
20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/mksyscall.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 | package windows
6 |
7 | //go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go
8 |
--------------------------------------------------------------------------------
/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/gopkg.in/check.v1/README.md:
--------------------------------------------------------------------------------
1 | Instructions
2 | ============
3 |
4 | Install the package with:
5 |
6 | go get gopkg.in/check.v1
7 |
8 | Import it with:
9 |
10 | import "gopkg.in/check.v1"
11 |
12 | and use _check_ as the package name inside the code.
13 |
14 | For more details, visit the project page:
15 |
16 | * http://labix.org/gocheck
17 |
18 | and the API documentation:
19 |
20 | * https://gopkg.in/check.v1
21 |
--------------------------------------------------------------------------------