├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── Godeps ├── Godeps.json └── Readme ├── LICENSE ├── Makefile ├── README.md ├── cli ├── add.go ├── build.go ├── cli.go ├── cluster.go ├── commit.go ├── deploy.go ├── diff.go ├── git.go ├── init.go ├── link.go ├── param.go ├── pull.go ├── push.go ├── remote.go ├── show.go └── status.go ├── cmd └── spread │ ├── info.go │ └── spread.go ├── hack └── build-libgit2.sh ├── images └── gitlabci │ ├── Dockerfile │ ├── README.md │ └── entrypoint.sh ├── philosophy.md ├── pkg ├── config │ ├── config.go │ └── config_test.go ├── data │ ├── decode.go │ ├── document.go │ ├── document_test.go │ ├── encode.go │ ├── fields.go │ ├── fields_test.go │ ├── link.go │ ├── object.go │ ├── parameter.go │ ├── parameter_test.go │ ├── sri.go │ └── sri_test.go ├── deploy │ ├── cluster.go │ ├── deployable.go │ ├── deployment.go │ ├── deployment_test.go │ ├── kinds.go │ ├── object.go │ └── object_test.go ├── entity │ ├── app.go │ ├── app_test.go │ ├── container.go │ ├── container_test.go │ ├── entity.go │ ├── entity_test.go │ ├── image.go │ ├── image_test.go │ ├── pod.go │ ├── pod_test.go │ ├── replicationcontroller.go │ └── replicationcontroller_test.go ├── image │ ├── build.go │ ├── image.go │ └── image_test.go ├── input │ ├── dir │ │ ├── input.go │ │ ├── input_test.go │ │ ├── source.go │ │ └── source_test.go │ └── input.go ├── packages │ ├── discovery.go │ └── discovery_test.go ├── project │ ├── author.go │ ├── branch.go │ ├── commit.go │ ├── document.go │ ├── global.go │ ├── global_test.go │ ├── index.go │ ├── merge.go │ ├── project.go │ ├── project_test.go │ ├── pull.go │ ├── remotes.go │ ├── tree.go │ └── workdir.go └── spreadproto │ └── object.pb.go ├── proto └── object.proto ├── roadmap.md ├── test └── mattermost-demo.sh └── vendor ├── bitbucket.org └── ww │ └── goautoneg │ ├── Makefile │ ├── README.txt │ └── autoneg.go ├── github.com ├── Sirupsen │ └── logrus │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── entry.go │ │ ├── exported.go │ │ ├── formatter.go │ │ ├── hooks.go │ │ ├── json_formatter.go │ │ ├── logger.go │ │ ├── logrus.go │ │ ├── terminal_darwin.go │ │ ├── terminal_freebsd.go │ │ ├── terminal_linux.go │ │ ├── terminal_notwindows.go │ │ ├── terminal_windows.go │ │ └── text_formatter.go ├── beorn7 │ └── perks │ │ └── quantile │ │ ├── exampledata.txt │ │ └── stream.go ├── blang │ └── semver │ │ ├── LICENSE │ │ ├── README.md │ │ ├── json.go │ │ ├── semver.go │ │ ├── sort.go │ │ └── sql.go ├── codegangsta │ └── cli │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app.go │ │ ├── cli.go │ │ ├── command.go │ │ ├── context.go │ │ ├── flag.go │ │ └── help.go ├── cpuguy83 │ └── go-md2man │ │ ├── LICENSE.md │ │ └── md2man │ │ ├── md2man.go │ │ └── roff.go ├── davecgh │ └── go-spew │ │ ├── LICENSE │ │ └── spew │ │ ├── common.go │ │ ├── config.go │ │ ├── doc.go │ │ ├── dump.go │ │ ├── format.go │ │ └── spew.go ├── docker │ ├── distribution │ │ ├── LICENSE │ │ ├── digest │ │ │ ├── digest.go │ │ │ ├── digester.go │ │ │ ├── doc.go │ │ │ ├── set.go │ │ │ └── verifiers.go │ │ └── reference │ │ │ ├── reference.go │ │ │ └── regexp.go │ ├── docker │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── pkg │ │ │ ├── jsonmessage │ │ │ └── jsonmessage.go │ │ │ ├── mount │ │ │ ├── flags.go │ │ │ ├── flags_freebsd.go │ │ │ ├── flags_linux.go │ │ │ ├── flags_unsupported.go │ │ │ ├── mount.go │ │ │ ├── mounter_freebsd.go │ │ │ ├── mounter_linux.go │ │ │ ├── mounter_unsupported.go │ │ │ ├── mountinfo.go │ │ │ ├── mountinfo_freebsd.go │ │ │ ├── mountinfo_linux.go │ │ │ ├── mountinfo_unsupported.go │ │ │ └── sharedsubtree_linux.go │ │ │ ├── parsers │ │ │ └── parsers.go │ │ │ ├── term │ │ │ ├── tc_linux_cgo.go │ │ │ ├── tc_other.go │ │ │ ├── term.go │ │ │ ├── term_windows.go │ │ │ ├── termios_darwin.go │ │ │ ├── termios_freebsd.go │ │ │ ├── termios_linux.go │ │ │ └── winconsole │ │ │ │ ├── console_windows.go │ │ │ │ └── term_emulator.go │ │ │ ├── timeutils │ │ │ ├── json.go │ │ │ └── utils.go │ │ │ └── units │ │ │ ├── duration.go │ │ │ └── size.go │ └── go-units │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.code │ │ ├── LICENSE.docs │ │ ├── MAINTAINERS │ │ ├── README.md │ │ ├── circle.yml │ │ ├── duration.go │ │ ├── size.go │ │ └── ulimit.go ├── emicklei │ └── go-restful │ │ ├── .gitignore │ │ ├── CHANGES.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Srcfile │ │ ├── bench_test.sh │ │ ├── compress.go │ │ ├── compressor_cache.go │ │ ├── compressor_pools.go │ │ ├── compressors.go │ │ ├── constants.go │ │ ├── container.go │ │ ├── cors_filter.go │ │ ├── coverage.sh │ │ ├── curly.go │ │ ├── curly_route.go │ │ ├── doc.go │ │ ├── entity_accessors.go │ │ ├── filter.go │ │ ├── install.sh │ │ ├── jsr311.go │ │ ├── log │ │ └── log.go │ │ ├── logger.go │ │ ├── options_filter.go │ │ ├── parameter.go │ │ ├── path_expression.go │ │ ├── request.go │ │ ├── response.go │ │ ├── route.go │ │ ├── route_builder.go │ │ ├── router.go │ │ ├── service_error.go │ │ ├── swagger │ │ ├── CHANGES.md │ │ ├── README.md │ │ ├── api_declaration_list.go │ │ ├── config.go │ │ ├── model_builder.go │ │ ├── model_list.go │ │ ├── model_property_ext.go │ │ ├── model_property_list.go │ │ ├── ordered_route_map.go │ │ ├── swagger.go │ │ ├── swagger_builder.go │ │ └── swagger_webservice.go │ │ ├── web_service.go │ │ └── web_service_container.go ├── evanphx │ └── json-patch │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── merge.go │ │ └── patch.go ├── fsouza │ └── go-dockerclient │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── DOCKER-LICENSE │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.markdown │ │ ├── auth.go │ │ ├── change.go │ │ ├── client.go │ │ ├── container.go │ │ ├── env.go │ │ ├── event.go │ │ ├── exec.go │ │ ├── external │ │ ├── github.com │ │ │ ├── Sirupsen │ │ │ │ └── logrus │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── entry.go │ │ │ │ │ ├── exported.go │ │ │ │ │ ├── formatter.go │ │ │ │ │ ├── hooks.go │ │ │ │ │ ├── json_formatter.go │ │ │ │ │ ├── logger.go │ │ │ │ │ ├── logrus.go │ │ │ │ │ ├── terminal_bsd.go │ │ │ │ │ ├── terminal_linux.go │ │ │ │ │ ├── terminal_notwindows.go │ │ │ │ │ ├── terminal_solaris.go │ │ │ │ │ ├── terminal_windows.go │ │ │ │ │ ├── text_formatter.go │ │ │ │ │ └── writer.go │ │ │ ├── docker │ │ │ │ ├── docker │ │ │ │ │ ├── opts │ │ │ │ │ │ ├── envfile.go │ │ │ │ │ │ ├── hosts.go │ │ │ │ │ │ ├── hosts_unix.go │ │ │ │ │ │ ├── hosts_windows.go │ │ │ │ │ │ ├── ip.go │ │ │ │ │ │ ├── opts.go │ │ │ │ │ │ ├── opts_unix.go │ │ │ │ │ │ └── opts_windows.go │ │ │ │ │ └── pkg │ │ │ │ │ │ ├── archive │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── archive.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 │ │ │ │ │ │ ├── fileutils │ │ │ │ │ │ ├── fileutils.go │ │ │ │ │ │ ├── fileutils_unix.go │ │ │ │ │ │ └── fileutils_windows.go │ │ │ │ │ │ ├── homedir │ │ │ │ │ │ └── homedir.go │ │ │ │ │ │ ├── idtools │ │ │ │ │ │ ├── idtools.go │ │ │ │ │ │ ├── idtools_unix.go │ │ │ │ │ │ ├── idtools_windows.go │ │ │ │ │ │ ├── usergroupadd_linux.go │ │ │ │ │ │ └── usergroupadd_unsupported.go │ │ │ │ │ │ ├── ioutils │ │ │ │ │ │ ├── bytespipe.go │ │ │ │ │ │ ├── fmt.go │ │ │ │ │ │ ├── multireader.go │ │ │ │ │ │ ├── readers.go │ │ │ │ │ │ ├── scheduler.go │ │ │ │ │ │ ├── scheduler_gccgo.go │ │ │ │ │ │ ├── temp_unix.go │ │ │ │ │ │ ├── temp_windows.go │ │ │ │ │ │ ├── writeflusher.go │ │ │ │ │ │ └── writers.go │ │ │ │ │ │ ├── longpath │ │ │ │ │ │ └── longpath.go │ │ │ │ │ │ ├── pools │ │ │ │ │ │ └── pools.go │ │ │ │ │ │ ├── promise │ │ │ │ │ │ └── promise.go │ │ │ │ │ │ ├── stdcopy │ │ │ │ │ │ └── stdcopy.go │ │ │ │ │ │ └── system │ │ │ │ │ │ ├── chtimes.go │ │ │ │ │ │ ├── errors.go │ │ │ │ │ │ ├── events_windows.go │ │ │ │ │ │ ├── filesys.go │ │ │ │ │ │ ├── filesys_windows.go │ │ │ │ │ │ ├── lstat.go │ │ │ │ │ │ ├── lstat_windows.go │ │ │ │ │ │ ├── meminfo.go │ │ │ │ │ │ ├── meminfo_linux.go │ │ │ │ │ │ ├── meminfo_unsupported.go │ │ │ │ │ │ ├── meminfo_windows.go │ │ │ │ │ │ ├── mknod.go │ │ │ │ │ │ ├── mknod_windows.go │ │ │ │ │ │ ├── path_unix.go │ │ │ │ │ │ ├── path_windows.go │ │ │ │ │ │ ├── stat.go │ │ │ │ │ │ ├── stat_freebsd.go │ │ │ │ │ │ ├── stat_linux.go │ │ │ │ │ │ ├── stat_solaris.go │ │ │ │ │ │ ├── stat_unsupported.go │ │ │ │ │ │ ├── stat_windows.go │ │ │ │ │ │ ├── syscall_unix.go │ │ │ │ │ │ ├── syscall_windows.go │ │ │ │ │ │ ├── umask.go │ │ │ │ │ │ ├── umask_windows.go │ │ │ │ │ │ ├── utimes_darwin.go │ │ │ │ │ │ ├── utimes_freebsd.go │ │ │ │ │ │ ├── utimes_linux.go │ │ │ │ │ │ ├── utimes_unsupported.go │ │ │ │ │ │ ├── xattrs_linux.go │ │ │ │ │ │ └── xattrs_unsupported.go │ │ │ │ └── go-units │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ ├── LICENSE.code │ │ │ │ │ ├── LICENSE.docs │ │ │ │ │ ├── MAINTAINERS │ │ │ │ │ ├── README.md │ │ │ │ │ ├── circle.yml │ │ │ │ │ ├── duration.go │ │ │ │ │ ├── size.go │ │ │ │ │ └── ulimit.go │ │ │ ├── hashicorp │ │ │ │ └── go-cleanhttp │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ └── cleanhttp.go │ │ │ └── opencontainers │ │ │ │ └── runc │ │ │ │ └── libcontainer │ │ │ │ └── user │ │ │ │ ├── MAINTAINERS │ │ │ │ ├── lookup.go │ │ │ │ ├── lookup_unix.go │ │ │ │ ├── lookup_unsupported.go │ │ │ │ └── user.go │ │ └── golang.org │ │ │ └── x │ │ │ ├── net │ │ │ └── context │ │ │ │ └── context.go │ │ │ └── sys │ │ │ └── unix │ │ │ ├── asm.s │ │ │ ├── asm_darwin_386.s │ │ │ ├── asm_darwin_amd64.s │ │ │ ├── asm_darwin_arm.s │ │ │ ├── asm_darwin_arm64.s │ │ │ ├── asm_dragonfly_386.s │ │ │ ├── asm_dragonfly_amd64.s │ │ │ ├── asm_freebsd_386.s │ │ │ ├── asm_freebsd_amd64.s │ │ │ ├── asm_freebsd_arm.s │ │ │ ├── asm_linux_386.s │ │ │ ├── asm_linux_amd64.s │ │ │ ├── asm_linux_arm.s │ │ │ ├── asm_linux_arm64.s │ │ │ ├── asm_linux_ppc64x.s │ │ │ ├── asm_netbsd_386.s │ │ │ ├── asm_netbsd_amd64.s │ │ │ ├── asm_netbsd_arm.s │ │ │ ├── asm_openbsd_386.s │ │ │ ├── asm_openbsd_amd64.s │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── constants.go │ │ │ ├── env_unix.go │ │ │ ├── env_unset.go │ │ │ ├── flock.go │ │ │ ├── flock_linux_32bit.go │ │ │ ├── gccgo.go │ │ │ ├── gccgo_c.c │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── mkall.sh │ │ │ ├── mkerrors.sh │ │ │ ├── mksyscall.pl │ │ │ ├── mksyscall_solaris.pl │ │ │ ├── mksysctl_openbsd.pl │ │ │ ├── mksysnum_darwin.pl │ │ │ ├── mksysnum_dragonfly.pl │ │ │ ├── mksysnum_freebsd.pl │ │ │ ├── mksysnum_linux.pl │ │ │ ├── mksysnum_netbsd.pl │ │ │ ├── mksysnum_openbsd.pl │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── sockcmsg_linux.go │ │ │ ├── sockcmsg_unix.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_bsd.go │ │ │ ├── syscall_darwin.go │ │ │ ├── syscall_darwin_386.go │ │ │ ├── syscall_darwin_amd64.go │ │ │ ├── syscall_darwin_arm.go │ │ │ ├── syscall_darwin_arm64.go │ │ │ ├── syscall_dragonfly.go │ │ │ ├── syscall_dragonfly_386.go │ │ │ ├── syscall_dragonfly_amd64.go │ │ │ ├── syscall_freebsd.go │ │ │ ├── syscall_freebsd_386.go │ │ │ ├── syscall_freebsd_amd64.go │ │ │ ├── syscall_freebsd_arm.go │ │ │ ├── syscall_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_amd64.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── syscall_linux_arm64.go │ │ │ ├── syscall_linux_ppc64x.go │ │ │ ├── syscall_netbsd.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── syscall_no_getwd.go │ │ │ ├── syscall_openbsd.go │ │ │ ├── syscall_openbsd_386.go │ │ │ ├── syscall_openbsd_amd64.go │ │ │ ├── syscall_solaris.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── syscall_unix.go │ │ │ ├── types_darwin.go │ │ │ ├── types_dragonfly.go │ │ │ ├── types_freebsd.go │ │ │ ├── types_linux.go │ │ │ ├── types_netbsd.go │ │ │ ├── types_openbsd.go │ │ │ ├── types_solaris.go │ │ │ ├── zerrors_darwin_386.go │ │ │ ├── zerrors_darwin_amd64.go │ │ │ ├── zerrors_darwin_arm.go │ │ │ ├── zerrors_darwin_arm64.go │ │ │ ├── zerrors_dragonfly_386.go │ │ │ ├── zerrors_dragonfly_amd64.go │ │ │ ├── zerrors_freebsd_386.go │ │ │ ├── zerrors_freebsd_amd64.go │ │ │ ├── zerrors_freebsd_arm.go │ │ │ ├── zerrors_linux_386.go │ │ │ ├── zerrors_linux_amd64.go │ │ │ ├── zerrors_linux_arm.go │ │ │ ├── zerrors_linux_arm64.go │ │ │ ├── zerrors_linux_ppc64.go │ │ │ ├── zerrors_linux_ppc64le.go │ │ │ ├── zerrors_netbsd_386.go │ │ │ ├── zerrors_netbsd_amd64.go │ │ │ ├── zerrors_netbsd_arm.go │ │ │ ├── zerrors_openbsd_386.go │ │ │ ├── zerrors_openbsd_amd64.go │ │ │ ├── zerrors_solaris_amd64.go │ │ │ ├── zsyscall_darwin_386.go │ │ │ ├── zsyscall_darwin_amd64.go │ │ │ ├── zsyscall_darwin_arm.go │ │ │ ├── zsyscall_darwin_arm64.go │ │ │ ├── zsyscall_dragonfly_386.go │ │ │ ├── zsyscall_dragonfly_amd64.go │ │ │ ├── zsyscall_freebsd_386.go │ │ │ ├── zsyscall_freebsd_amd64.go │ │ │ ├── zsyscall_freebsd_arm.go │ │ │ ├── zsyscall_linux_386.go │ │ │ ├── zsyscall_linux_amd64.go │ │ │ ├── zsyscall_linux_arm.go │ │ │ ├── zsyscall_linux_arm64.go │ │ │ ├── zsyscall_linux_ppc64.go │ │ │ ├── zsyscall_linux_ppc64le.go │ │ │ ├── zsyscall_netbsd_386.go │ │ │ ├── zsyscall_netbsd_amd64.go │ │ │ ├── zsyscall_netbsd_arm.go │ │ │ ├── zsyscall_openbsd_386.go │ │ │ ├── zsyscall_openbsd_amd64.go │ │ │ ├── zsyscall_solaris_amd64.go │ │ │ ├── zsysctl_openbsd.go │ │ │ ├── zsysnum_darwin_386.go │ │ │ ├── zsysnum_darwin_amd64.go │ │ │ ├── zsysnum_darwin_arm.go │ │ │ ├── zsysnum_darwin_arm64.go │ │ │ ├── zsysnum_dragonfly_386.go │ │ │ ├── zsysnum_dragonfly_amd64.go │ │ │ ├── zsysnum_freebsd_386.go │ │ │ ├── zsysnum_freebsd_amd64.go │ │ │ ├── zsysnum_freebsd_arm.go │ │ │ ├── zsysnum_linux_386.go │ │ │ ├── zsysnum_linux_amd64.go │ │ │ ├── zsysnum_linux_arm.go │ │ │ ├── zsysnum_linux_arm64.go │ │ │ ├── zsysnum_linux_ppc64.go │ │ │ ├── zsysnum_linux_ppc64le.go │ │ │ ├── zsysnum_netbsd_386.go │ │ │ ├── zsysnum_netbsd_amd64.go │ │ │ ├── zsysnum_netbsd_arm.go │ │ │ ├── zsysnum_openbsd_386.go │ │ │ ├── zsysnum_openbsd_amd64.go │ │ │ ├── zsysnum_solaris_amd64.go │ │ │ ├── ztypes_darwin_386.go │ │ │ ├── ztypes_darwin_amd64.go │ │ │ ├── ztypes_darwin_arm.go │ │ │ ├── ztypes_darwin_arm64.go │ │ │ ├── ztypes_dragonfly_386.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_linux_386.go │ │ │ ├── ztypes_linux_amd64.go │ │ │ ├── ztypes_linux_arm.go │ │ │ ├── ztypes_linux_arm64.go │ │ │ ├── ztypes_linux_ppc64.go │ │ │ ├── ztypes_linux_ppc64le.go │ │ │ ├── ztypes_netbsd_386.go │ │ │ ├── ztypes_netbsd_amd64.go │ │ │ ├── ztypes_netbsd_arm.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ └── ztypes_solaris_amd64.go │ │ ├── image.go │ │ ├── misc.go │ │ ├── network.go │ │ ├── signal.go │ │ ├── tar.go │ │ ├── tls.go │ │ └── volume.go ├── ghodss │ └── yaml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── fields.go │ │ └── yaml.go ├── golang │ ├── glog │ │ ├── LICENSE │ │ ├── README │ │ ├── glog.go │ │ └── glog_file.go │ ├── groupcache │ │ ├── LICENSE │ │ └── lru │ │ │ └── lru.go │ └── protobuf │ │ ├── LICENSE │ │ └── proto │ │ ├── Makefile │ │ ├── clone.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── equal.go │ │ ├── extensions.go │ │ ├── lib.go │ │ ├── message_set.go │ │ ├── pointer_reflect.go │ │ ├── pointer_unsafe.go │ │ ├── properties.go │ │ ├── text.go │ │ └── text_parser.go ├── google │ ├── cadvisor │ │ ├── LICENSE │ │ └── info │ │ │ └── v1 │ │ │ ├── container.go │ │ │ ├── machine.go │ │ │ └── metric.go │ └── gofuzz │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc.go │ │ └── fuzz.go ├── imdario │ └── mergo │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc.go │ │ ├── map.go │ │ ├── merge.go │ │ └── mergo.go ├── inconshreveable │ └── mousetrap │ │ ├── LICENSE │ │ ├── README.md │ │ ├── trap_others.go │ │ ├── trap_windows.go │ │ └── trap_windows_1.4.go ├── juju │ └── ratelimit │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ratelimit.go │ │ └── reader.go ├── matttproud │ └── golang_protobuf_extensions │ │ ├── LICENSE │ │ └── pbutil │ │ ├── decode.go │ │ ├── doc.go │ │ └── encode.go ├── mitchellh │ └── go-homedir │ │ ├── LICENSE │ │ ├── README.md │ │ └── homedir.go ├── opencontainers │ └── runc │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── libcontainer │ │ ├── cgroups │ │ ├── cgroups.go │ │ ├── cgroups_unsupported.go │ │ ├── fs │ │ │ ├── apply_raw.go │ │ │ ├── blkio.go │ │ │ ├── cpu.go │ │ │ ├── cpuacct.go │ │ │ ├── cpuset.go │ │ │ ├── devices.go │ │ │ ├── freezer.go │ │ │ ├── fs_unsupported.go │ │ │ ├── hugetlb.go │ │ │ ├── memory.go │ │ │ ├── name.go │ │ │ ├── net_cls.go │ │ │ ├── net_prio.go │ │ │ ├── perf_event.go │ │ │ ├── pids.go │ │ │ └── utils.go │ │ ├── stats.go │ │ └── utils.go │ │ ├── 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 │ │ └── 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 │ │ └── xattrs_linux.go ├── pborman │ └── uuid │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── dce.go │ │ ├── doc.go │ │ ├── hash.go │ │ ├── json.go │ │ ├── node.go │ │ ├── time.go │ │ ├── util.go │ │ ├── uuid.go │ │ ├── version1.go │ │ └── version4.go ├── pmezard │ └── go-difflib │ │ ├── LICENSE │ │ └── difflib │ │ └── difflib.go ├── prometheus │ ├── client_golang │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── prometheus │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── collector.go │ │ │ ├── counter.go │ │ │ ├── desc.go │ │ │ ├── doc.go │ │ │ ├── expvar.go │ │ │ ├── gauge.go │ │ │ ├── go_collector.go │ │ │ ├── histogram.go │ │ │ ├── http.go │ │ │ ├── metric.go │ │ │ ├── process_collector.go │ │ │ ├── push.go │ │ │ ├── registry.go │ │ │ ├── summary.go │ │ │ ├── untyped.go │ │ │ ├── value.go │ │ │ └── vec.go │ ├── client_model │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── go │ │ │ └── metrics.pb.go │ ├── common │ │ ├── expfmt │ │ │ ├── decode.go │ │ │ ├── encode.go │ │ │ ├── expfmt.go │ │ │ ├── fuzz.go │ │ │ ├── json_decode.go │ │ │ ├── text_create.go │ │ │ └── text_parse.go │ │ └── model │ │ │ ├── fingerprinting.go │ │ │ ├── labels.go │ │ │ ├── labelset.go │ │ │ ├── metric.go │ │ │ ├── model.go │ │ │ ├── signature.go │ │ │ ├── time.go │ │ │ └── value.go │ └── procfs │ │ ├── .travis.yml │ │ ├── AUTHORS.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── doc.go │ │ ├── fs.go │ │ ├── proc.go │ │ ├── proc_limits.go │ │ ├── proc_stat.go │ │ └── stat.go ├── russross │ └── blackfriday │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── block.go │ │ ├── html.go │ │ ├── inline.go │ │ ├── latex.go │ │ ├── markdown.go │ │ └── smartypants.go ├── shurcooL │ └── sanitized_anchor_name │ │ ├── .travis.yml │ │ ├── README.md │ │ └── main.go ├── spf13 │ ├── cobra │ │ ├── .gitignore │ │ ├── .mailmap │ │ ├── .travis.yml │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── bash_completions.go │ │ ├── bash_completions.md │ │ ├── cobra.go │ │ ├── command.go │ │ ├── doc_util.go │ │ ├── man_docs.go │ │ ├── man_docs.md │ │ ├── md_docs.go │ │ └── md_docs.md │ └── pflag │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bool.go │ │ ├── count.go │ │ ├── duration.go │ │ ├── flag.go │ │ ├── float32.go │ │ ├── float64.go │ │ ├── golangflag.go │ │ ├── int.go │ │ ├── int32.go │ │ ├── int64.go │ │ ├── int8.go │ │ ├── int_slice.go │ │ ├── ip.go │ │ ├── ipmask.go │ │ ├── ipnet.go │ │ ├── string.go │ │ ├── string_slice.go │ │ ├── uint.go │ │ ├── uint16.go │ │ ├── uint32.go │ │ ├── uint64.go │ │ └── uint8.go ├── stretchr │ └── testify │ │ ├── LICENCE.txt │ │ ├── LICENSE │ │ └── assert │ │ ├── assertions.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── forward_assertions.go │ │ └── http_assertions.go └── ugorji │ └── go │ ├── LICENSE │ └── codec │ ├── 0doc.go │ ├── README.md │ ├── binc.go │ ├── cbor.go │ ├── decode.go │ ├── encode.go │ ├── fast-path.generated.go │ ├── fast-path.go.tmpl │ ├── fast-path.not.go │ ├── gen-dec-array.go.tmpl │ ├── gen-dec-map.go.tmpl │ ├── gen-helper.generated.go │ ├── gen-helper.go.tmpl │ ├── gen.generated.go │ ├── gen.go │ ├── helper.go │ ├── helper_internal.go │ ├── helper_not_unsafe.go │ ├── helper_unsafe.go │ ├── json.go │ ├── msgpack.go │ ├── noop.go │ ├── prebuild.go │ ├── prebuild.sh │ ├── rpc.go │ ├── simple.go │ ├── test-cbor-goldens.json │ ├── test.py │ ├── tests.sh │ └── time.go ├── golang.org └── x │ └── net │ ├── LICENSE │ ├── PATENTS │ └── context │ └── context.go ├── gopkg.in ├── libgit2 │ └── git2go.v23 │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── blame.go │ │ ├── blob.go │ │ ├── branch.go │ │ ├── checkout.go │ │ ├── cherrypick.go │ │ ├── clone.go │ │ ├── commit.go │ │ ├── config.go │ │ ├── credentials.go │ │ ├── describe.go │ │ ├── diff.go │ │ ├── git.go │ │ ├── graph.go │ │ ├── handles.go │ │ ├── index.go │ │ ├── merge.go │ │ ├── note.go │ │ ├── object.go │ │ ├── odb.go │ │ ├── packbuilder.go │ │ ├── patch.go │ │ ├── refdb.go │ │ ├── reference.go │ │ ├── remote.go │ │ ├── repository.go │ │ ├── reset.go │ │ ├── revparse.go │ │ ├── settings.go │ │ ├── signature.go │ │ ├── status.go │ │ ├── submodule.go │ │ ├── tag.go │ │ ├── tree.go │ │ ├── walk.go │ │ └── wrapper.c └── yaml.v2 │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── k8s.io └── kubernetes │ ├── LICENSE │ ├── pkg │ ├── api │ │ ├── OWNERS │ │ ├── context.go │ │ ├── conversion.go │ │ ├── deep_copy_generated.go │ │ ├── doc.go │ │ ├── endpoints │ │ │ └── util.go │ │ ├── errors │ │ │ ├── doc.go │ │ │ └── errors.go │ │ ├── field_constants.go │ │ ├── generate.go │ │ ├── helpers.go │ │ ├── install │ │ │ └── install.go │ │ ├── mapper.go │ │ ├── meta.go │ │ ├── meta │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── help.go │ │ │ ├── interfaces.go │ │ │ ├── meta.go │ │ │ ├── multirestmapper.go │ │ │ ├── priority.go │ │ │ └── restmapper.go │ │ ├── node_example.json │ │ ├── pod │ │ │ └── util.go │ │ ├── pod_example.json │ │ ├── ref.go │ │ ├── register.go │ │ ├── replication_controller_example.json │ │ ├── requestcontext.go │ │ ├── resource │ │ │ ├── quantity.go │ │ │ ├── quantity_proto.go │ │ │ ├── scale_int.go │ │ │ └── suffix.go │ │ ├── resource_helpers.go │ │ ├── service │ │ │ ├── annotations.go │ │ │ └── util.go │ │ ├── types.generated.go │ │ ├── types.go │ │ ├── unversioned │ │ │ ├── duration.go │ │ │ ├── group_version.go │ │ │ ├── helpers.go │ │ │ ├── register.go │ │ │ ├── time.go │ │ │ ├── time_proto.go │ │ │ ├── types.go │ │ │ ├── types_swagger_doc_generated.go │ │ │ └── well_known_labels.go │ │ ├── util │ │ │ └── group_version.go │ │ ├── v1 │ │ │ ├── conversion.go │ │ │ ├── conversion_generated.go │ │ │ ├── deep_copy_generated.go │ │ │ ├── defaults.go │ │ │ ├── doc.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── types_swagger_doc_generated.go │ │ └── validation │ │ │ ├── doc.go │ │ │ ├── events.go │ │ │ ├── name.go │ │ │ ├── schema.go │ │ │ └── validation.go │ ├── apimachinery │ │ ├── doc.go │ │ ├── registered │ │ │ └── registered.go │ │ └── types.go │ ├── apis │ │ ├── authorization │ │ │ ├── deep_copy_generated.go │ │ │ ├── install │ │ │ │ └── install.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── v1beta1 │ │ │ │ ├── conversion.go │ │ │ │ ├── conversion_generated.go │ │ │ │ ├── deep_copy_generated.go │ │ │ │ ├── defaults.go │ │ │ │ ├── register.go │ │ │ │ ├── types.generated.go │ │ │ │ ├── types.go │ │ │ │ └── types_swagger_doc_generated.go │ │ ├── autoscaling │ │ │ ├── deep_copy_generated.go │ │ │ ├── install │ │ │ │ └── install.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── v1 │ │ │ │ ├── conversion.go │ │ │ │ ├── conversion_generated.go │ │ │ │ ├── deep_copy_generated.go │ │ │ │ ├── defaults.go │ │ │ │ ├── register.go │ │ │ │ ├── types.generated.go │ │ │ │ ├── types.go │ │ │ │ └── types_swagger_doc_generated.go │ │ ├── batch │ │ │ ├── deep_copy_generated.go │ │ │ ├── install │ │ │ │ └── install.go │ │ │ ├── register.go │ │ │ └── v1 │ │ │ │ ├── conversion.go │ │ │ │ ├── conversion_generated.go │ │ │ │ ├── deep_copy_generated.go │ │ │ │ ├── defaults.go │ │ │ │ ├── register.go │ │ │ │ ├── types.generated.go │ │ │ │ ├── types.go │ │ │ │ └── types_swagger_doc_generated.go │ │ ├── componentconfig │ │ │ ├── deep_copy_generated.go │ │ │ ├── helpers.go │ │ │ ├── install │ │ │ │ └── install.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── v1alpha1 │ │ │ │ ├── conversion_generated.go │ │ │ │ ├── deep_copy_generated.go │ │ │ │ ├── defaults.go │ │ │ │ ├── register.go │ │ │ │ └── types.go │ │ ├── extensions │ │ │ ├── deep_copy_generated.go │ │ │ ├── install │ │ │ │ └── install.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── v1beta1 │ │ │ │ ├── conversion.go │ │ │ │ ├── conversion_generated.go │ │ │ │ ├── deep_copy_generated.go │ │ │ │ ├── defaults.go │ │ │ │ ├── register.go │ │ │ │ ├── types.generated.go │ │ │ │ ├── types.go │ │ │ │ └── types_swagger_doc_generated.go │ │ └── metrics │ │ │ ├── deep_copy_generated.go │ │ │ ├── install │ │ │ └── install.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ ├── types.go │ │ │ └── v1alpha1 │ │ │ ├── conversion_generated.go │ │ │ ├── deep_copy_generated.go │ │ │ ├── register.go │ │ │ ├── types.generated.go │ │ │ └── types.go │ ├── auth │ │ └── user │ │ │ ├── doc.go │ │ │ └── user.go │ ├── capabilities │ │ ├── capabilities.go │ │ └── doc.go │ ├── client │ │ ├── cache │ │ │ ├── delta_fifo.go │ │ │ ├── doc.go │ │ │ ├── expiration_cache.go │ │ │ ├── expiration_cache_fakes.go │ │ │ ├── fifo.go │ │ │ ├── index.go │ │ │ ├── listers.go │ │ │ ├── listwatch.go │ │ │ ├── reflector.go │ │ │ ├── store.go │ │ │ ├── thread_safe_store.go │ │ │ └── undelta_store.go │ │ ├── clientset_generated │ │ │ └── internalclientset │ │ │ │ ├── clientset.go │ │ │ │ └── clientset_adaption.go │ │ ├── metrics │ │ │ └── metrics.go │ │ ├── record │ │ │ ├── doc.go │ │ │ ├── event.go │ │ │ ├── events_cache.go │ │ │ └── fake.go │ │ ├── restclient │ │ │ ├── client.go │ │ │ ├── config.go │ │ │ ├── request.go │ │ │ ├── transport.go │ │ │ ├── url_utils.go │ │ │ ├── urlbackoff.go │ │ │ └── versions.go │ │ ├── transport │ │ │ ├── cache.go │ │ │ ├── config.go │ │ │ ├── round_trippers.go │ │ │ └── transport.go │ │ ├── typed │ │ │ ├── discovery │ │ │ │ └── discovery_client.go │ │ │ └── generated │ │ │ │ ├── core │ │ │ │ └── unversioned │ │ │ │ │ ├── componentstatus.go │ │ │ │ │ ├── configmap.go │ │ │ │ │ ├── core_client.go │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── endpoints.go │ │ │ │ │ ├── event.go │ │ │ │ │ ├── event_expansion.go │ │ │ │ │ ├── generated_expansion.go │ │ │ │ │ ├── limitrange.go │ │ │ │ │ ├── namespace.go │ │ │ │ │ ├── namespace_expansion.go │ │ │ │ │ ├── node.go │ │ │ │ │ ├── persistentvolume.go │ │ │ │ │ ├── persistentvolumeclaim.go │ │ │ │ │ ├── pod.go │ │ │ │ │ ├── pod_expansion.go │ │ │ │ │ ├── podtemplate.go │ │ │ │ │ ├── replicationcontroller.go │ │ │ │ │ ├── resourcequota.go │ │ │ │ │ ├── secret.go │ │ │ │ │ ├── service.go │ │ │ │ │ ├── service_expansion.go │ │ │ │ │ └── serviceaccount.go │ │ │ │ └── extensions │ │ │ │ └── unversioned │ │ │ │ ├── daemonset.go │ │ │ │ ├── deployment.go │ │ │ │ ├── deployment_expansion.go │ │ │ │ ├── doc.go │ │ │ │ ├── extensions_client.go │ │ │ │ ├── generated_expansion.go │ │ │ │ ├── horizontalpodautoscaler.go │ │ │ │ ├── ingress.go │ │ │ │ ├── job.go │ │ │ │ ├── replicaset.go │ │ │ │ ├── scale.go │ │ │ │ ├── scale_expansion.go │ │ │ │ └── thirdpartyresource.go │ │ └── unversioned │ │ │ ├── auth │ │ │ └── clientauth.go │ │ │ ├── autoscaling.go │ │ │ ├── batch.go │ │ │ ├── client.go │ │ │ ├── clientcmd │ │ │ ├── api │ │ │ │ ├── helpers.go │ │ │ │ ├── latest │ │ │ │ │ └── latest.go │ │ │ │ ├── register.go │ │ │ │ ├── types.go │ │ │ │ └── v1 │ │ │ │ │ ├── conversion.go │ │ │ │ │ ├── register.go │ │ │ │ │ └── types.go │ │ │ ├── auth_loaders.go │ │ │ ├── client_config.go │ │ │ ├── doc.go │ │ │ ├── loader.go │ │ │ ├── merged_client_builder.go │ │ │ ├── overrides.go │ │ │ └── validation.go │ │ │ ├── componentstatuses.go │ │ │ ├── conditions.go │ │ │ ├── configmap.go │ │ │ ├── containerinfo.go │ │ │ ├── daemon_sets.go │ │ │ ├── deployment.go │ │ │ ├── doc.go │ │ │ ├── endpoints.go │ │ │ ├── events.go │ │ │ ├── extensions.go │ │ │ ├── flags.go │ │ │ ├── helper.go │ │ │ ├── horizontalpodautoscaler.go │ │ │ ├── import_known_versions.go │ │ │ ├── ingress.go │ │ │ ├── jobs.go │ │ │ ├── limit_ranges.go │ │ │ ├── namespaces.go │ │ │ ├── nodes.go │ │ │ ├── persistentvolumeclaim.go │ │ │ ├── persistentvolumes.go │ │ │ ├── pod_templates.go │ │ │ ├── pods.go │ │ │ ├── podsecuritypolicy.go │ │ │ ├── replica_sets.go │ │ │ ├── replication_controllers.go │ │ │ ├── resource_quotas.go │ │ │ ├── scale.go │ │ │ ├── secrets.go │ │ │ ├── service_accounts.go │ │ │ ├── services.go │ │ │ └── thirdpartyresources.go │ ├── controller │ │ ├── OWNERS │ │ ├── controller_utils.go │ │ ├── doc.go │ │ ├── framework │ │ │ ├── controller.go │ │ │ ├── doc.go │ │ │ └── fake_controller_source.go │ │ └── lookup_cache.go │ ├── conversion │ │ ├── OWNERS │ │ ├── cloner.go │ │ ├── converter.go │ │ ├── deep_equal.go │ │ ├── doc.go │ │ ├── helper.go │ │ └── queryparams │ │ │ ├── convert.go │ │ │ └── doc.go │ ├── credentialprovider │ │ ├── OWNERS │ │ ├── config.go │ │ ├── doc.go │ │ ├── keyring.go │ │ ├── plugins.go │ │ └── provider.go │ ├── fieldpath │ │ ├── doc.go │ │ └── fieldpath.go │ ├── fields │ │ ├── doc.go │ │ ├── fields.go │ │ └── selector.go │ ├── kubectl │ │ ├── OWNERS │ │ ├── apply.go │ │ ├── autoscale.go │ │ ├── bash_comp_utils.go │ │ ├── cmd │ │ │ ├── config │ │ │ │ ├── config.go │ │ │ │ ├── create_authinfo.go │ │ │ │ ├── create_cluster.go │ │ │ │ ├── create_context.go │ │ │ │ ├── current_context.go │ │ │ │ ├── navigation_step_parser.go │ │ │ │ ├── set.go │ │ │ │ ├── unset.go │ │ │ │ ├── use_context.go │ │ │ │ └── view.go │ │ │ └── util │ │ │ │ ├── clientcache.go │ │ │ │ ├── factory.go │ │ │ │ ├── helpers.go │ │ │ │ └── printing.go │ │ ├── configmap.go │ │ ├── custom_column_printer.go │ │ ├── describe.go │ │ ├── doc.go │ │ ├── explain.go │ │ ├── generate.go │ │ ├── history.go │ │ ├── interfaces.go │ │ ├── kubectl.go │ │ ├── namespace.go │ │ ├── proxy_server.go │ │ ├── resource │ │ │ ├── builder.go │ │ │ ├── doc.go │ │ │ ├── helper.go │ │ │ ├── interfaces.go │ │ │ ├── mapper.go │ │ │ ├── result.go │ │ │ ├── selector.go │ │ │ └── visitor.go │ │ ├── resource_printer.go │ │ ├── rollback.go │ │ ├── rolling_updater.go │ │ ├── run.go │ │ ├── scale.go │ │ ├── secret.go │ │ ├── secret_for_docker_registry.go │ │ ├── service.go │ │ ├── serviceaccount.go │ │ ├── sorted_event_list.go │ │ ├── sorted_resource_name_list.go │ │ ├── sorting_printer.go │ │ ├── stop.go │ │ ├── version.go │ │ └── watchloop.go │ ├── kubelet │ │ └── qos │ │ │ ├── doc.go │ │ │ ├── memory_policy.go │ │ │ └── util │ │ │ └── qos.go │ ├── labels │ │ ├── doc.go │ │ ├── labels.go │ │ └── selector.go │ ├── master │ │ └── ports │ │ │ ├── doc.go │ │ │ └── ports.go │ ├── runtime │ │ ├── OWNERS │ │ ├── codec.go │ │ ├── codec_check.go │ │ ├── conversion.go │ │ ├── conversion_generator.go │ │ ├── deep_copy_generator.go │ │ ├── doc.go │ │ ├── embedded.go │ │ ├── error.go │ │ ├── extension.go │ │ ├── helper.go │ │ ├── interfaces.go │ │ ├── register.go │ │ ├── scheme.go │ │ ├── serializer │ │ │ ├── codec_factory.go │ │ │ ├── json │ │ │ │ ├── json.go │ │ │ │ └── meta.go │ │ │ ├── recognizer │ │ │ │ └── recognizer.go │ │ │ └── versioning │ │ │ │ └── versioning.go │ │ ├── swagger_doc_generator.go │ │ ├── types.go │ │ └── unstructured.go │ ├── types │ │ ├── doc.go │ │ ├── namespacedname.go │ │ ├── uid.go │ │ └── unix_user_id.go │ ├── util │ │ ├── backoff.go │ │ ├── bool_flag.go │ │ ├── cache.go │ │ ├── clock.go │ │ ├── configuration_map.go │ │ ├── crlf.go │ │ ├── crypto.go │ │ ├── deadlock-detector.go │ │ ├── deployment │ │ │ └── deployment.go │ │ ├── diff.go │ │ ├── doc.go │ │ ├── env.go │ │ ├── errors │ │ │ ├── doc.go │ │ │ └── errors.go │ │ ├── flags.go │ │ ├── hash │ │ │ └── hash.go │ │ ├── integer │ │ │ └── integer.go │ │ ├── intstr │ │ │ └── intstr.go │ │ ├── jsonpath │ │ │ ├── doc.go │ │ │ ├── jsonpath.go │ │ │ ├── node.go │ │ │ └── parser.go │ │ ├── labels │ │ │ ├── doc.go │ │ │ └── labels.go │ │ ├── line_delimiter.go │ │ ├── logs.go │ │ ├── net │ │ │ ├── http.go │ │ │ ├── interface.go │ │ │ ├── port_range.go │ │ │ ├── port_split.go │ │ │ └── sets │ │ │ │ ├── README.md │ │ │ │ └── ipnet.go │ │ ├── parsers │ │ │ └── parsers.go │ │ ├── pod │ │ │ ├── doc.go │ │ │ └── pod.go │ │ ├── rand │ │ │ └── rand.go │ │ ├── resource_container_linux.go │ │ ├── resource_container_unsupported.go │ │ ├── runner.go │ │ ├── runtime │ │ │ └── runtime.go │ │ ├── sets │ │ │ ├── byte.go │ │ │ ├── doc.go │ │ │ ├── empty.go │ │ │ ├── int.go │ │ │ ├── int64.go │ │ │ └── string.go │ │ ├── strategicpatch │ │ │ └── patch.go │ │ ├── string_flag.go │ │ ├── template.go │ │ ├── throttle.go │ │ ├── trace.go │ │ ├── umask.go │ │ ├── umask_windows.go │ │ ├── util.go │ │ ├── uuid.go │ │ ├── validation │ │ │ ├── field │ │ │ │ ├── errors.go │ │ │ │ └── path.go │ │ │ └── validation.go │ │ ├── wait │ │ │ ├── doc.go │ │ │ └── wait.go │ │ └── yaml │ │ │ └── decoder.go │ ├── version │ │ ├── .gitattributes │ │ ├── base.go │ │ ├── doc.go │ │ ├── semver.go │ │ └── version.go │ └── watch │ │ ├── doc.go │ │ ├── filter.go │ │ ├── iowatcher.go │ │ ├── json │ │ ├── decoder.go │ │ ├── doc.go │ │ ├── encoder.go │ │ └── types.go │ │ ├── mux.go │ │ └── watch.go │ └── third_party │ ├── forked │ ├── json │ │ ├── LICENSE │ │ └── fields.go │ └── reflect │ │ ├── LICENSE │ │ └── deep_equal.go │ └── golang │ └── template │ ├── exec.go │ └── funcs.go ├── rsprd.com └── localkube │ ├── LICENSE │ └── pkg │ └── localkubectl │ ├── context.go │ ├── controller.go │ └── localkubectl.go └── speter.net └── go └── exp └── math └── dec └── inf ├── LICENSE ├── dec.go └── rounder.go /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | .idea 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | *.test 25 | *.prof 26 | 27 | build/ -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | #Contributing to Spread 2 | 3 | We'd love to see your contributions to Spread. There are many ways community members can contribute to the project: 4 | 5 | * **Pull Requests:** Spread is Apache 2.0 licensed and accepts contributions via GitHub pull requests. The workflow for pull requests is as follows: 6 | * Fork the repository on Github 7 | * Create a topic branch 8 | * Make commits with singular, logical units 9 | * Push your changes to a topic brank in the fork of the repository 10 | * Submit a pull request to redspread/spread 11 | * Your pull request must receive a LGTM from either @ethernetdan or @mfburnett 12 | 13 | * **Issues:** Report bugs and introduce discussion for new features under Issues. If you haven't already, it's worth going through Elika Etemad's guide for good bug reporting. In one sentence, good bug reports should be both *reproducible* and *specific*. 14 | 15 | * **Examples:** We'd love to see more example applications built out with Spread's suggested directory structure. -------------------------------------------------------------------------------- /Godeps/Readme: -------------------------------------------------------------------------------- 1 | This directory tree is generated automatically by godep. 2 | 3 | Please do not edit. 4 | 5 | See https://github.com/tools/godep for more information. 6 | -------------------------------------------------------------------------------- /cli/cluster.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "rsprd.com/localkube/pkg/localkubectl" 5 | 6 | "github.com/codegangsta/cli" 7 | ) 8 | 9 | // Cluster manages the localkube Kubernetes development environment. 10 | func (s SpreadCli) Cluster() *cli.Command { 11 | return localkubectl.Command(s.out) 12 | } 13 | -------------------------------------------------------------------------------- /cli/commit.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "time" 5 | 6 | "github.com/codegangsta/cli" 7 | 8 | "rsprd.com/spread/pkg/project" 9 | ) 10 | 11 | // Commit sets up a Spread repository for versioning. 12 | func (s SpreadCli) Commit() *cli.Command { 13 | return &cli.Command{ 14 | Name: "commit", 15 | Usage: "spread commit -m ", 16 | Description: "Create new commit based on the current index", 17 | Flags: []cli.Flag{ 18 | cli.StringFlag{ 19 | Name: "m", 20 | Usage: "Message to store the commit with", 21 | }, 22 | }, 23 | Action: func(c *cli.Context) { 24 | msg := c.String("m") 25 | if len(msg) == 0 { 26 | s.fatalf("All commits must have a message. Specify one with 'spread commit -m \"message\"'") 27 | } 28 | 29 | proj := s.projectOrDie() 30 | notImplemented := project.Person{ 31 | Name: "not implemented", 32 | Email: "not@implemented.com", 33 | When: time.Now(), 34 | } 35 | 36 | oid, err := proj.Commit("HEAD", notImplemented, notImplemented, msg) 37 | if err != nil { 38 | s.fatalf("Could not commit: %v", err) 39 | } 40 | 41 | s.printf("New commit: [%s] %s", oid, msg) 42 | }, 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /cli/git.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "os/exec" 5 | "path/filepath" 6 | "syscall" 7 | 8 | "github.com/codegangsta/cli" 9 | ) 10 | 11 | func (s SpreadCli) Git() *cli.Command { 12 | return &cli.Command{ 13 | Name: "git", 14 | Usage: "Allows access to git commands while Spread is build out", 15 | Action: func(c *cli.Context) { 16 | cli.ShowSubcommandHelp(c) 17 | }, 18 | } 19 | } 20 | 21 | func (s SpreadCli) ExecGitCmd(args ...string) { 22 | git, err := exec.LookPath("git") 23 | if err != nil { 24 | s.fatalf("Could not locate git: %v", err) 25 | } 26 | 27 | proj := s.projectOrDie() 28 | gitDir := filepath.Join(proj.Path, "git") 29 | 30 | gitArgs := []string{git, "--git-dir=" + gitDir} 31 | gitArgs = append(gitArgs, args...) 32 | 33 | err = syscall.Exec(git, gitArgs, []string{}) 34 | if err != nil { 35 | s.fatalf("could not run git: %v", err) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /cli/init.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "rsprd.com/spread/pkg/project" 5 | 6 | "github.com/codegangsta/cli" 7 | ) 8 | 9 | // Init sets up a Spread repository for versioning. 10 | func (s SpreadCli) Init() *cli.Command { 11 | return &cli.Command{ 12 | Name: "init", 13 | Usage: "spread init ", 14 | Description: "Create a new spread repository in the given directory. If none is given, the working directory will be used.", 15 | Action: func(c *cli.Context) { 16 | target := c.Args().First() 17 | if len(target) == 0 { 18 | target = project.SpreadDirectory 19 | } 20 | 21 | proj, err := project.InitProject(target) 22 | if err != nil { 23 | s.fatalf("Could not create Spread project: %v", err) 24 | } 25 | 26 | s.printf("Created Spread repository in %s.", proj.Path) 27 | }, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /cli/pull.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | 7 | "github.com/codegangsta/cli" 8 | ) 9 | 10 | // Pull allows references to be pulled from a remote. 11 | func (s SpreadCli) Pull() *cli.Command { 12 | return &cli.Command{ 13 | Name: "pull", 14 | Usage: "Pull changes from a remote branch", 15 | ArgsUsage: " ", 16 | Description: "Pull Spread data from a remote branch", 17 | Action: func(c *cli.Context) { 18 | remoteName := c.Args().First() 19 | if len(remoteName) == 0 { 20 | s.fatalf("a remote must be specified") 21 | } 22 | 23 | if len(c.Args()) < 2 { 24 | s.fatalf("a refspec must be specified") 25 | } 26 | 27 | refspec := c.Args().Get(1) 28 | if !strings.HasPrefix(refspec, "refs/") { 29 | refspec = fmt.Sprintf("refs/heads/%s", refspec) 30 | } 31 | 32 | p := s.projectOrDie() 33 | if err := p.Pull(remoteName, refspec); err != nil { 34 | s.fatalf("Failed to pull: %v", err) 35 | } 36 | }, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /cli/push.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | 7 | "github.com/codegangsta/cli" 8 | ) 9 | 10 | // Push allows references to be pushed to a remote. 11 | func (s SpreadCli) Push() *cli.Command { 12 | return &cli.Command{ 13 | Name: "push", 14 | Usage: "Push references to a remote", 15 | ArgsUsage: " ", 16 | Description: "Push Spread data to a remote", 17 | Action: func(c *cli.Context) { 18 | remoteName := c.Args().First() 19 | if len(remoteName) == 0 { 20 | s.fatalf("a remote must be specified") 21 | } 22 | 23 | if len(c.Args()) < 2 { 24 | s.fatalf("a refspec must be specified") 25 | } 26 | 27 | refspecs := c.Args()[1:] 28 | 29 | for i, spec := range refspecs { 30 | if !strings.HasPrefix(spec, "refs/") { 31 | refspecs[i] = fmt.Sprintf("refs/heads/%s", spec) 32 | } 33 | } 34 | 35 | p := s.projectOrDie() 36 | err := p.Push(remoteName, refspecs...) 37 | if err != nil { 38 | s.fatalf("Failed to push: %v", err) 39 | } 40 | }, 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /cmd/spread/info.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | const ( 4 | // Usage is a short explanation of what spread does 5 | Usage = "Quickly iterate with Kubernetes" 6 | ) 7 | 8 | var ( 9 | // Version is the current version number 10 | Version = "Unset" 11 | ) 12 | -------------------------------------------------------------------------------- /hack/build-libgit2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -ex 4 | 5 | VENDORED_PATH=vendor/libgit2 6 | 7 | cd $VENDORED_PATH && 8 | mkdir -p _install && 9 | mkdir -p build && 10 | cd build && 11 | cmake -DTHREADSAFE=ON \ 12 | -DBUILD_CLAR=OFF \ 13 | .. && 14 | cmake --build . 15 | -------------------------------------------------------------------------------- /images/gitlabci/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM docker:git 2 | 3 | ADD spread-linux-static /usr/local/bin/spread 4 | ADD entrypoint.sh /opt/spread-gitlab/entrypoint.sh 5 | 6 | ENV KUBECFG_INSECURE_SKIP_TLS_VERIFY="false" 7 | 8 | ENTRYPOINT ["/opt/spread-gitlab/entrypoint.sh"] -------------------------------------------------------------------------------- /philosophy.md: -------------------------------------------------------------------------------- 1 | #Our philosophy 2 | 3 | Redspread's mission is to empower people to own their own deployment process and infrastructure. We're building the tools and workflows to fulfill that mission. 4 | 5 | We value collaboration, transparency, and fairness in everything we do. 6 | 7 | We also think the following are true: 8 | 9 | * Deployment versioning (i.e. versioning both images and configuration) will become increasingly important over the next year as more people use containers in production, just as versioning services has become common practice. 10 | * Software development is a multi-player game played with single player tools. Better collaborative tooling needs to be built for software organizations. 11 | * Introducing proprietary software into your infrastructure introduces external market risk into your product, and this risk should be very carefully considered whenever evaluating options. [See more of our thoughts on this](https://medium.com/@ciaomack/parsegate-the-case-against-proprietary-infrastructure-d397a89cbb2b). 12 | 13 | We love to talk philosophy - shoot us a note at [founders@redspread.com](mailto:founders@redspread.com) if you want to chat more. -------------------------------------------------------------------------------- /pkg/config/config.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import ( 4 | "io" 5 | "os" 6 | ) 7 | 8 | // Out is the Writer that debugging information is written to. 9 | var Out io.Writer 10 | 11 | func init() { 12 | if Out == nil { 13 | Out = os.Stdout 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/config/config_test.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import ( 4 | "os" 5 | "testing" 6 | ) 7 | 8 | func TestSetupOut(t *testing.T) { 9 | if Out != os.Stdout { 10 | t.Error("Out should have been set to use STDOUT") 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/data/link.go: -------------------------------------------------------------------------------- 1 | package data 2 | 3 | import ( 4 | "errors" 5 | 6 | pb "rsprd.com/spread/pkg/spreadproto" 7 | ) 8 | 9 | // NewLink creates a new link from with the given details. 10 | func NewLink(packageName string, target *SRI, override bool) *pb.Link { 11 | return &pb.Link{ 12 | PackageName: packageName, 13 | Target: target.Proto(), 14 | Override: override, 15 | } 16 | } 17 | 18 | // CreateLinkInDocument creates a link from source to target with document. 19 | func CreateLinkInDocument(doc *pb.Document, target *pb.Link, source *SRI) error { 20 | if !source.IsField() { 21 | return errors.New("passed SRI is not a field") 22 | } 23 | 24 | field, err := GetFieldFromDocument(doc, source.Field) 25 | if err != nil { 26 | return err 27 | } 28 | 29 | field.Value = &pb.Field_Link{ 30 | Link: target, 31 | } 32 | return nil 33 | } 34 | -------------------------------------------------------------------------------- /pkg/deploy/deployable.go: -------------------------------------------------------------------------------- 1 | package deploy 2 | 3 | import ( 4 | "rsprd.com/spread/pkg/image" 5 | ) 6 | 7 | // A Deployable can produce a Deployment 8 | type Deployable interface { 9 | // Deployment creates a new Deployment based on the types current state. Errors are returned if not possible. 10 | Deployment() (*Deployment, error) 11 | // Images returns the images required for deployment 12 | Images() []*image.Image 13 | } 14 | -------------------------------------------------------------------------------- /pkg/deploy/object_test.go: -------------------------------------------------------------------------------- 1 | package deploy 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | kube "k8s.io/kubernetes/pkg/api" 8 | "k8s.io/kubernetes/pkg/api/unversioned" 9 | ) 10 | 11 | func TestObjectPath(t *testing.T) { 12 | rc := &kube.ReplicationController{ 13 | TypeMeta: unversioned.TypeMeta{ 14 | APIVersion: "v1", 15 | }, 16 | ObjectMeta: kube.ObjectMeta{ 17 | Name: "johnson", 18 | Namespace: kube.NamespaceDefault, 19 | }, 20 | } 21 | 22 | expected := "namespaces/default/replicationcontroller/johnson" 23 | actual, err := ObjectPath(rc) 24 | assert.NoError(t, err) 25 | assert.Equal(t, expected, actual) 26 | } 27 | 28 | func TestObjectPathNoNamespace(t *testing.T) { 29 | rc := &kube.ReplicationController{ 30 | TypeMeta: unversioned.TypeMeta{ 31 | APIVersion: "v1", 32 | }, 33 | ObjectMeta: kube.ObjectMeta{ 34 | Name: "johnson", 35 | }, 36 | } 37 | 38 | expected := "namespaces//replicationcontroller/johnson" 39 | actual, err := ObjectPath(rc) 40 | assert.NoError(t, err) 41 | assert.Equal(t, expected, actual) 42 | } 43 | -------------------------------------------------------------------------------- /pkg/entity/app_test.go: -------------------------------------------------------------------------------- 1 | package entity 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | kube "k8s.io/kubernetes/pkg/api" 8 | ) 9 | 10 | func TestAppEmpty(t *testing.T) { 11 | app, err := NewApp(nil, kube.ObjectMeta{}, "valid-app") 12 | assert.NoError(t, err, "empty apps are allowed") 13 | assert.Equal(t, 0, len(app.Images())) 14 | 15 | deployment, err := app.Deployment() 16 | assert.NoError(t, err) 17 | assert.Equal(t, 0, deployment.Len()) 18 | } 19 | 20 | func TestAppAttachImage(t *testing.T) { 21 | numObj := 10 22 | 23 | // create Image 24 | imageObjects := testRandomObjects(numObj) 25 | imageEntity := testNewImage(t, "arch", kube.ObjectMeta{}, "", imageObjects) 26 | 27 | app, err := NewApp(nil, kube.ObjectMeta{}, "valid-app") 28 | assert.NoError(t, err, "empty apps are allowed") 29 | 30 | err = app.Attach(imageEntity) 31 | assert.NoError(t, err, "any entity can attach to an app") 32 | 33 | // check images 34 | assert.Equal(t, 1, len(app.Images())) 35 | 36 | // check deployment 37 | deployment, err := app.Deployment() 38 | assert.NoError(t, err) 39 | assert.Equal(t, numObj+1, deployment.Len()) 40 | } 41 | -------------------------------------------------------------------------------- /pkg/image/build.go: -------------------------------------------------------------------------------- 1 | package image 2 | 3 | import ( 4 | "reflect" 5 | 6 | docker "github.com/fsouza/go-dockerclient" 7 | ) 8 | 9 | // Build holds the configuration required to build a Docker context 10 | type Build struct { 11 | ContextPath string 12 | Config docker.BuildImageOptions 13 | } 14 | 15 | // Equal returns whether the build is the same as the other 16 | func (b Build) Equal(other *Build) bool { 17 | if other == nil { 18 | return false 19 | } 20 | return reflect.DeepEqual(b, other) 21 | } 22 | -------------------------------------------------------------------------------- /pkg/input/input.go: -------------------------------------------------------------------------------- 1 | package input 2 | 3 | import ( 4 | "rsprd.com/spread/pkg/entity" 5 | ) 6 | 7 | // Input represents a source of Entities and metadata. 8 | type Input interface { 9 | entity.Builder 10 | } 11 | -------------------------------------------------------------------------------- /pkg/project/author.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | type Person struct { 8 | Name string 9 | Email string 10 | When time.Time 11 | } 12 | -------------------------------------------------------------------------------- /pkg/project/branch.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "fmt" 5 | 6 | git "gopkg.in/libgit2/git2go.v23" 7 | pb "rsprd.com/spread/pkg/spreadproto" 8 | ) 9 | 10 | func (p *Project) Branch(name string) (map[string]*pb.Document, error) { 11 | br, err := p.repo.LookupBranch(name, git.BranchRemote) 12 | if err != nil { 13 | return nil, fmt.Errorf("unable to locate branch: %v", err) 14 | } 15 | 16 | tree, err := br.Peel(git.ObjectTree) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | return p.mapFromTree(tree.(*git.Tree)) 22 | } 23 | -------------------------------------------------------------------------------- /pkg/project/global.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "github.com/mitchellh/go-homedir" 5 | ) 6 | 7 | var ( 8 | // GlobalPath is the path that holds the Spread global repository for a user. The '~' character may be used 9 | // to denote the home directory of a user across platforms. 10 | GlobalPath = "~/.spread-global" 11 | ) 12 | 13 | // Global returns the users global project which holds data from any package downloaded. 14 | func Global() (*Project, error) { 15 | path, err := GlobalLocation() 16 | if err != nil { 17 | return nil, err 18 | } 19 | 20 | return OpenProject(path) 21 | } 22 | 23 | // InitGlobal initializes the global repository for this user. 24 | func InitGlobal() (*Project, error) { 25 | path, err := GlobalLocation() 26 | if err != nil { 27 | return nil, err 28 | } 29 | 30 | return InitProject(path) 31 | } 32 | 33 | // GlobalLocation returns the path of the global project. An error is returned if the path doesn't exist. 34 | func GlobalLocation() (string, error) { 35 | return homedir.Expand(GlobalPath) 36 | } 37 | -------------------------------------------------------------------------------- /pkg/project/tree.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "fmt" 5 | 6 | git "gopkg.in/libgit2/git2go.v23" 7 | 8 | pb "rsprd.com/spread/pkg/spreadproto" 9 | ) 10 | 11 | func (p *Project) mapFromTree(tree *git.Tree) (docs map[string]*pb.Document, err error) { 12 | var walkErr error 13 | docs = make(map[string]*pb.Document, tree.EntryCount()) 14 | err = tree.Walk(func(path string, entry *git.TreeEntry) int { 15 | // add objects to deployment 16 | if entry.Type == git.ObjectBlob { 17 | doc, err := p.getDocument(entry.Id) 18 | if err != nil { 19 | walkErr = err 20 | return -1 21 | } 22 | 23 | path = path + entry.Name 24 | docs[path] = doc 25 | if walkErr != nil { 26 | return -1 27 | } 28 | } 29 | return 0 30 | }) 31 | 32 | if err != nil { 33 | err = fmt.Errorf("error starting walk: %v", err) 34 | } else if walkErr != nil { 35 | err = fmt.Errorf("error during walk: %v", walkErr) 36 | } 37 | return 38 | } 39 | -------------------------------------------------------------------------------- /pkg/project/workdir.go: -------------------------------------------------------------------------------- 1 | package project 2 | 3 | import ( 4 | "io/ioutil" 5 | "os" 6 | 7 | git "gopkg.in/libgit2/git2go.v23" 8 | ) 9 | 10 | // TempWorkdir creates a temporary directory and configures the Repository to use it as a work dir. 11 | // HEAD is checked out to the temporary working directory. The path of the working directory is returned as a string. 12 | func (p *Project) TempWorkdir() (string, error) { 13 | name, err := ioutil.TempDir("", "spread-workdir") 14 | if err != nil { 15 | return "", err 16 | } 17 | 18 | opts := &git.CheckoutOpts{ 19 | TargetDirectory: name, 20 | } 21 | 22 | if err = p.repo.CheckoutHead(opts); err != nil { 23 | os.RemoveAll(name) 24 | return "", err 25 | } 26 | 27 | return name, p.repo.SetWorkdir(name, false) 28 | } 29 | 30 | // CleanupWorkdir removes the given directory and sets the repositories Workdir to an empty string. 31 | func (p *Project) CleanupWorkdir(dir string) error { 32 | if err := os.RemoveAll(dir); err != nil { 33 | return err 34 | } 35 | 36 | return p.repo.SetWorkdir("", false) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/bitbucket.org/ww/goautoneg/Makefile: -------------------------------------------------------------------------------- 1 | include $(GOROOT)/src/Make.inc 2 | 3 | TARG=bitbucket.org/ww/goautoneg 4 | GOFILES=autoneg.go 5 | 6 | include $(GOROOT)/src/Make.pkg 7 | 8 | format: 9 | gofmt -w *.go 10 | 11 | docs: 12 | gomake clean 13 | godoc ${TARG} > README.txt 14 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.2 4 | - 1.3 5 | - tip 6 | install: 7 | - go get github.com/stretchr/testify 8 | - go get github.com/stvp/go-udp-testing 9 | - go get github.com/tobi/airbrake-go 10 | - go get github.com/getsentry/raven-go 11 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Simon Eskildsen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/json_formatter.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | type JSONFormatter struct{} 10 | 11 | func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { 12 | data := make(Fields, len(entry.Data)+3) 13 | for k, v := range entry.Data { 14 | data[k] = v 15 | } 16 | prefixFieldClashes(data) 17 | data["time"] = entry.Time.Format(time.RFC3339) 18 | data["msg"] = entry.Message 19 | data["level"] = entry.Level.String() 20 | 21 | serialized, err := json.Marshal(data) 22 | if err != nil { 23 | return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) 24 | } 25 | return append(serialized, '\n'), nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_darwin.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_freebsd.go: -------------------------------------------------------------------------------- 1 | /* 2 | Go 1.2 doesn't include Termios for FreeBSD. This should be added in 1.3 and this could be merged with terminal_darwin. 3 | */ 4 | package logrus 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios struct { 13 | Iflag uint32 14 | Oflag uint32 15 | Cflag uint32 16 | Lflag uint32 17 | Cc [20]uint8 18 | Ispeed uint32 19 | Ospeed uint32 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux,!appengine darwin freebsd 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if the given file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stdout 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if the given file descriptor is a terminal. 22 | func IsTerminal() bool { 23 | fd := syscall.Stdout 24 | var st uint32 25 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) 26 | return r != 0 && e == 0 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/json.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // MarshalJSON implements the encoding/json.Marshaler interface. 8 | func (v Version) MarshalJSON() ([]byte, error) { 9 | return json.Marshal(v.String()) 10 | } 11 | 12 | // UnmarshalJSON implements the encoding/json.Unmarshaler interface. 13 | func (v *Version) UnmarshalJSON(data []byte) (err error) { 14 | var versionString string 15 | 16 | if err = json.Unmarshal(data, &versionString); err != nil { 17 | return 18 | } 19 | 20 | *v, err = Parse(versionString) 21 | 22 | return 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/sort.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "sort" 5 | ) 6 | 7 | // Versions represents multiple versions. 8 | type Versions []Version 9 | 10 | // Len returns length of version collection 11 | func (s Versions) Len() int { 12 | return len(s) 13 | } 14 | 15 | // Swap swaps two versions inside the collection by its indices 16 | func (s Versions) Swap(i, j int) { 17 | s[i], s[j] = s[j], s[i] 18 | } 19 | 20 | // Less checks if version at index i is less than version at index j 21 | func (s Versions) Less(i, j int) bool { 22 | return s[i].LT(s[j]) 23 | } 24 | 25 | // Sort sorts a slice of versions 26 | func Sort(versions []Version) { 27 | sort.Sort(Versions(versions)) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/sql.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "database/sql/driver" 5 | "fmt" 6 | ) 7 | 8 | // Scan implements the database/sql.Scanner interface. 9 | func (v *Version) Scan(src interface{}) (err error) { 10 | var str string 11 | switch src := src.(type) { 12 | case string: 13 | str = src 14 | case []byte: 15 | str = string(src) 16 | default: 17 | return fmt.Errorf("Version.Scan: cannot convert %T to string.", src) 18 | } 19 | 20 | if t, err := Parse(str); err == nil { 21 | *v = t 22 | } 23 | 24 | return 25 | } 26 | 27 | // Value implements the database/sql/driver.Valuer interface. 28 | func (v Version) Value() (driver.Value, error) { 29 | return v.String(), nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/codegangsta/cli/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | go: 5 | - 1.0.3 6 | - 1.1.2 7 | - 1.2.2 8 | - 1.3.3 9 | - 1.4.2 10 | - 1.5.1 11 | - tip 12 | 13 | matrix: 14 | allow_failures: 15 | - go: tip 16 | 17 | script: 18 | - go vet ./... 19 | - go test -v ./... 20 | -------------------------------------------------------------------------------- /vendor/github.com/codegangsta/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) { 14 | // println("Greetings") 15 | // } 16 | // 17 | // app.Run(os.Args) 18 | // } 19 | package cli 20 | 21 | import ( 22 | "strings" 23 | ) 24 | 25 | type MultiError struct { 26 | Errors []error 27 | } 28 | 29 | func NewMultiError(err ...error) MultiError { 30 | return MultiError{Errors: err} 31 | } 32 | 33 | func (m MultiError) Error() string { 34 | errs := make([]string, len(m.Errors)) 35 | for i, err := range m.Errors { 36 | errs[i] = err.Error() 37 | } 38 | 39 | return strings.Join(errs, "\n") 40 | } 41 | -------------------------------------------------------------------------------- /vendor/github.com/cpuguy83/go-md2man/md2man/md2man.go: -------------------------------------------------------------------------------- 1 | package md2man 2 | 3 | import ( 4 | "github.com/russross/blackfriday" 5 | ) 6 | 7 | func Render(doc []byte) []byte { 8 | renderer := RoffRenderer(0) 9 | extensions := 0 10 | extensions |= blackfriday.EXTENSION_NO_INTRA_EMPHASIS 11 | extensions |= blackfriday.EXTENSION_TABLES 12 | extensions |= blackfriday.EXTENSION_FENCED_CODE 13 | extensions |= blackfriday.EXTENSION_AUTOLINK 14 | extensions |= blackfriday.EXTENSION_SPACE_HEADERS 15 | extensions |= blackfriday.EXTENSION_FOOTNOTES 16 | extensions |= blackfriday.EXTENSION_TITLEBLOCK 17 | 18 | return blackfriday.Markdown(doc, renderer, extensions) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/davecgh/go-spew/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013 Dave Collins 2 | 3 | Permission to use, copy, modify, and distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/NOTICE: -------------------------------------------------------------------------------- 1 | Docker 2 | Copyright 2012-2015 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/pkg/mount/flags_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd freebsd,!cgo 2 | 3 | package mount 4 | 5 | // These flags are unsupported. 6 | const ( 7 | BIND = 0 8 | DIRSYNC = 0 9 | MANDLOCK = 0 10 | NOATIME = 0 11 | NODEV = 0 12 | NODIRATIME = 0 13 | NOEXEC = 0 14 | NOSUID = 0 15 | UNBINDABLE = 0 16 | RUNBINDABLE = 0 17 | PRIVATE = 0 18 | RPRIVATE = 0 19 | SHARED = 0 20 | RSHARED = 0 21 | SLAVE = 0 22 | RSLAVE = 0 23 | RBIND = 0 24 | RELATIME = 0 25 | RELATIVE = 0 26 | REMOUNT = 0 27 | STRICTATIME = 0 28 | SYNCHRONOUS = 0 29 | RDONLY = 0 30 | ) 31 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mounter_linux.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | func mount(device, target, mType string, flag uintptr, data string) error { 8 | if err := syscall.Mount(device, target, mType, flag, data); err != nil { 9 | return err 10 | } 11 | 12 | // If we have a bind mount or remount, remount... 13 | if flag&syscall.MS_BIND == syscall.MS_BIND && flag&syscall.MS_RDONLY == syscall.MS_RDONLY { 14 | return syscall.Mount(device, target, mType, flag|syscall.MS_REMOUNT, data) 15 | } 16 | return nil 17 | } 18 | 19 | func unmount(target string, flag int) error { 20 | return syscall.Unmount(target, flag) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mounter_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd freebsd,!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_freebsd.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | /* 4 | #include 5 | #include 6 | #include 7 | */ 8 | import "C" 9 | 10 | import ( 11 | "fmt" 12 | "reflect" 13 | "unsafe" 14 | ) 15 | 16 | // Parse /proc/self/mountinfo because comparing Dev and ino does not work from 17 | // bind mounts. 18 | func parseMountTable() ([]*Info, error) { 19 | var rawEntries *C.struct_statfs 20 | 21 | count := int(C.getmntinfo(&rawEntries, C.MNT_WAIT)) 22 | if count == 0 { 23 | return nil, fmt.Errorf("Failed to call getmntinfo") 24 | } 25 | 26 | var entries []C.struct_statfs 27 | header := (*reflect.SliceHeader)(unsafe.Pointer(&entries)) 28 | header.Cap = count 29 | header.Len = count 30 | header.Data = uintptr(unsafe.Pointer(rawEntries)) 31 | 32 | var out []*Info 33 | for _, entry := range entries { 34 | var mountinfo Info 35 | mountinfo.Mountpoint = C.GoString(&entry.f_mntonname[0]) 36 | mountinfo.Source = C.GoString(&entry.f_mntfromname[0]) 37 | mountinfo.Fstype = C.GoString(&entry.f_fstypename[0]) 38 | out = append(out, &mountinfo) 39 | } 40 | return out, nil 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/mount/mountinfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd freebsd,!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/term/tc_other.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !linux !cgo 3 | 4 | package term 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | func tcget(fd uintptr, p *Termios) syscall.Errno { 12 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(getTermios), uintptr(unsafe.Pointer(p))) 13 | return err 14 | } 15 | 16 | func tcset(fd uintptr, p *Termios) syscall.Errno { 17 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, setTermios, uintptr(unsafe.Pointer(p))) 18 | return err 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/timeutils/json.go: -------------------------------------------------------------------------------- 1 | package timeutils 2 | 3 | import ( 4 | "errors" 5 | "time" 6 | ) 7 | 8 | const ( 9 | // RFC3339NanoFixed is our own version of RFC339Nano because we want one 10 | // that pads the nano seconds part with zeros to ensure 11 | // the timestamps are aligned in the logs. 12 | RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" 13 | // JSONFormat is the format used by FastMarshalJSON 14 | JSONFormat = `"` + time.RFC3339Nano + `"` 15 | ) 16 | 17 | // FastMarshalJSON avoids one of the extra allocations that 18 | // time.MarshalJSON is making. 19 | func FastMarshalJSON(t time.Time) (string, error) { 20 | if y := t.Year(); y < 0 || y >= 10000 { 21 | // RFC 3339 is clear that years are 4 digits exactly. 22 | // See golang.org/issue/4556#c15 for more discussion. 23 | return "", errors.New("time.MarshalJSON: year outside of range [0,9999]") 24 | } 25 | return t.Format(JSONFormat), nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/timeutils/utils.go: -------------------------------------------------------------------------------- 1 | package timeutils 2 | 3 | import ( 4 | "strconv" 5 | "strings" 6 | "time" 7 | ) 8 | 9 | // GetTimestamp tries to parse given string as golang duration, 10 | // then RFC3339 time and finally as a Unix timestamp. If 11 | // any of these were successful, it returns a Unix timestamp 12 | // as string otherwise returns the given value back. 13 | // In case of duration input, the returned timestamp is computed 14 | // as the given reference time minus the amount of the duration. 15 | func GetTimestamp(value string, reference time.Time) string { 16 | if d, err := time.ParseDuration(value); value != "0" && err == nil { 17 | return strconv.FormatInt(reference.Add(-d).Unix(), 10) 18 | } 19 | 20 | var format string 21 | if strings.Contains(value, ".") { 22 | format = time.RFC3339Nano 23 | } else { 24 | format = time.RFC3339 25 | } 26 | 27 | loc := time.FixedZone(time.Now().Zone()) 28 | if len(value) < len(format) { 29 | format = format[:len(value)] 30 | } 31 | t, err := time.ParseInLocation(format, value, loc) 32 | if err != nil { 33 | return value 34 | } 35 | return strconv.FormatInt(t.Unix(), 10) 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/docker/docker/pkg/units/duration.go: -------------------------------------------------------------------------------- 1 | package units 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | // HumanDuration returns a human-readable approximation of a duration 9 | // (eg. "About a minute", "4 hours ago", etc.) 10 | func HumanDuration(d time.Duration) string { 11 | if seconds := int(d.Seconds()); seconds < 1 { 12 | return "Less than a second" 13 | } else if seconds < 60 { 14 | return fmt.Sprintf("%d seconds", seconds) 15 | } else if minutes := int(d.Minutes()); minutes == 1 { 16 | return "About a minute" 17 | } else if minutes < 60 { 18 | return fmt.Sprintf("%d minutes", minutes) 19 | } else if hours := int(d.Hours()); hours == 1 { 20 | return "About an hour" 21 | } else if hours < 48 { 22 | return fmt.Sprintf("%d hours", hours) 23 | } else if hours < 24*7*2 { 24 | return fmt.Sprintf("%d days", hours/24) 25 | } else if hours < 24*30*3 { 26 | return fmt.Sprintf("%d weeks", hours/24/7) 27 | } else if hours < 24*365*2 { 28 | return fmt.Sprintf("%d months", hours/24/30) 29 | } 30 | return fmt.Sprintf("%d years", int(d.Hours())/24/365) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/MAINTAINERS: -------------------------------------------------------------------------------- 1 | # go-connections maintainers file 2 | # 3 | # This file describes who runs the docker/go-connections project and how. 4 | # This is a living document - if you see something out of date or missing, speak up! 5 | # 6 | # It is structured to be consumable by both humans and programs. 7 | # To extract its contents programmatically, use any TOML-compliant parser. 8 | # 9 | # This file is compiled into the MAINTAINERS file in docker/opensource. 10 | # 11 | [Org] 12 | [Org."Core maintainers"] 13 | people = [ 14 | "calavera", 15 | ] 16 | 17 | [people] 18 | 19 | # A reference list of all people associated with the project. 20 | # All other sections should refer to people by their canonical key 21 | # in the people section. 22 | 23 | # ADD YOURSELF HERE IN ALPHABETICAL ORDER 24 | [people.calavera] 25 | Name = "David Calavera" 26 | Email = "david.calavera@gmail.com" 27 | GitHub = "calavera" 28 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units) 2 | 3 | # Introduction 4 | 5 | go-units is a library to transform human friendly measurements into machine friendly values. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation. 10 | 11 | ## Copyright and license 12 | 13 | Copyright © 2015 Docker, Inc. All rights reserved, except as follows. Code 14 | is released under the Apache 2.0 license. The README.md file, and files in the 15 | "docs" folder are licensed under the Creative Commons Attribution 4.0 16 | International License under the terms and conditions set forth in the file 17 | "LICENSE.docs". You may obtain a duplicate copy of the same license, titled 18 | CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/. 19 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | post: 3 | # install golint 4 | - go get github.com/golang/lint/golint 5 | 6 | test: 7 | pre: 8 | # run analysis before tests 9 | - go vet ./... 10 | - test -z "$(golint ./... | tee /dev/stderr)" 11 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 12 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012,2013 Ernest Micklei 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/Srcfile: -------------------------------------------------------------------------------- 1 | {"SkipDirs": ["examples"]} 2 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/bench_test.sh: -------------------------------------------------------------------------------- 1 | #go test -run=none -file bench_test.go -test.bench . -cpuprofile=bench_test.out 2 | 3 | go test -c 4 | ./go-restful.test -test.run=none -test.cpuprofile=tmp.prof -test.bench=BenchmarkMany 5 | ./go-restful.test -test.run=none -test.cpuprofile=curly.prof -test.bench=BenchmarkManyCurly 6 | 7 | #go tool pprof go-restful.test tmp.prof 8 | go tool pprof go-restful.test curly.prof 9 | 10 | 11 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/coverage.sh: -------------------------------------------------------------------------------- 1 | go test -coverprofile=coverage.out 2 | go tool cover -html=coverage.out -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/install.sh: -------------------------------------------------------------------------------- 1 | cd examples 2 | ls *.go | xargs -I {} go build -o /tmp/ignore {} 3 | cd .. 4 | go fmt ...swagger && \ 5 | go test -test.v ...swagger && \ 6 | go install ...swagger && \ 7 | go fmt ...restful && \ 8 | go test -test.v ...restful && \ 9 | go install ...restful -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/log/log.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | stdlog "log" 5 | "os" 6 | ) 7 | 8 | // Logger corresponds to a minimal subset of the interface satisfied by stdlib log.Logger 9 | type StdLogger interface { 10 | Print(v ...interface{}) 11 | Printf(format string, v ...interface{}) 12 | } 13 | 14 | var Logger StdLogger 15 | 16 | func init() { 17 | // default Logger 18 | SetLogger(stdlog.New(os.Stderr, "[restful] ", stdlog.LstdFlags|stdlog.Lshortfile)) 19 | } 20 | 21 | func SetLogger(customLogger StdLogger) { 22 | Logger = customLogger 23 | } 24 | 25 | func Print(v ...interface{}) { 26 | Logger.Print(v...) 27 | } 28 | 29 | func Printf(format string, v ...interface{}) { 30 | Logger.Printf(format, v...) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/logger.go: -------------------------------------------------------------------------------- 1 | package restful 2 | 3 | // Copyright 2014 Ernest Micklei. All rights reserved. 4 | // Use of this source code is governed by a license 5 | // that can be found in the LICENSE file. 6 | import ( 7 | "github.com/emicklei/go-restful/log" 8 | ) 9 | 10 | var trace bool = false 11 | var traceLogger log.StdLogger 12 | 13 | func init() { 14 | traceLogger = log.Logger // use the package logger by default 15 | } 16 | 17 | // TraceLogger enables detailed logging of Http request matching and filter invocation. Default no logger is set. 18 | // You may call EnableTracing() directly to enable trace logging to the package-wide logger. 19 | func TraceLogger(logger log.StdLogger) { 20 | traceLogger = logger 21 | EnableTracing(logger != nil) 22 | } 23 | 24 | // expose the setter for the global logger on the top-level package 25 | func SetLogger(customLogger log.StdLogger) { 26 | log.SetLogger(customLogger) 27 | } 28 | 29 | // EnableTracing can be used to Trace logging on and off. 30 | func EnableTracing(enabled bool) { 31 | trace = enabled 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/router.go: -------------------------------------------------------------------------------- 1 | package restful 2 | 3 | // Copyright 2013 Ernest Micklei. All rights reserved. 4 | // Use of this source code is governed by a license 5 | // that can be found in the LICENSE file. 6 | 7 | import "net/http" 8 | 9 | // A RouteSelector finds the best matching Route given the input HTTP Request 10 | type RouteSelector interface { 11 | 12 | // SelectRoute finds a Route given the input HTTP Request and a list of WebServices. 13 | // It returns a selected Route and its containing WebService or an error indicating 14 | // a problem. 15 | SelectRoute( 16 | webServices []*WebService, 17 | httpRequest *http.Request) (selectedService *WebService, selected *Route, err error) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/service_error.go: -------------------------------------------------------------------------------- 1 | package restful 2 | 3 | // Copyright 2013 Ernest Micklei. All rights reserved. 4 | // Use of this source code is governed by a license 5 | // that can be found in the LICENSE file. 6 | 7 | import "fmt" 8 | 9 | // ServiceError is a transport object to pass information about a non-Http error occurred in a WebService while processing a request. 10 | type ServiceError struct { 11 | Code int 12 | Message string 13 | } 14 | 15 | // NewError returns a ServiceError using the code and reason 16 | func NewError(code int, message string) ServiceError { 17 | return ServiceError{Code: code, Message: message} 18 | } 19 | 20 | // Error returns a text representation of the service error 21 | func (s ServiceError) Error() string { 22 | return fmt.Sprintf("[ServiceError:%v] %v", s.Code, s.Message) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/swagger/ordered_route_map.go: -------------------------------------------------------------------------------- 1 | package swagger 2 | 3 | // Copyright 2015 Ernest Micklei. All rights reserved. 4 | // Use of this source code is governed by a license 5 | // that can be found in the LICENSE file. 6 | 7 | import "github.com/emicklei/go-restful" 8 | 9 | type orderedRouteMap struct { 10 | elements map[string][]restful.Route 11 | keys []string 12 | } 13 | 14 | func newOrderedRouteMap() *orderedRouteMap { 15 | return &orderedRouteMap{ 16 | elements: map[string][]restful.Route{}, 17 | keys: []string{}, 18 | } 19 | } 20 | 21 | func (o *orderedRouteMap) Add(key string, route restful.Route) { 22 | routes, ok := o.elements[key] 23 | if ok { 24 | routes = append(routes, route) 25 | o.elements[key] = routes 26 | return 27 | } 28 | o.elements[key] = []restful.Route{route} 29 | o.keys = append(o.keys, key) 30 | } 31 | 32 | func (o *orderedRouteMap) Do(block func(key string, routes []restful.Route)) { 33 | for _, k := range o.keys { 34 | block(k, o.elements[k]) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/emicklei/go-restful/swagger/swagger_builder.go: -------------------------------------------------------------------------------- 1 | package swagger 2 | 3 | type SwaggerBuilder struct { 4 | SwaggerService 5 | } 6 | 7 | func NewSwaggerBuilder(config Config) *SwaggerBuilder { 8 | return &SwaggerBuilder{*newSwaggerService(config)} 9 | } 10 | 11 | func (sb SwaggerBuilder) ProduceListing() ResourceListing { 12 | return sb.SwaggerService.produceListing() 13 | } 14 | 15 | func (sb SwaggerBuilder) ProduceAllDeclarations() map[string]ApiDeclaration { 16 | return sb.SwaggerService.produceAllDeclarations() 17 | } 18 | 19 | func (sb SwaggerBuilder) ProduceDeclarations(route string) (*ApiDeclaration, bool) { 20 | return sb.SwaggerService.produceDeclarations(route) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/evanphx/json-patch/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4 5 | - 1.3 6 | 7 | install: 8 | - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi 9 | 10 | script: 11 | - go test -cover ./... 12 | 13 | notifications: 14 | email: false 15 | -------------------------------------------------------------------------------- /vendor/github.com/evanphx/json-patch/README.md: -------------------------------------------------------------------------------- 1 | ## JSON-Patch 2 | 3 | Provides the abiilty to modify and test a JSON according to a 4 | [RFC6902 JSON patch](http://tools.ietf.org/html/rfc6902) and [RFC7386 JSON Merge Patch](https://tools.ietf.org/html/rfc7386). 5 | 6 | *Version*: **1.0** 7 | 8 | [![GoDoc](https://godoc.org/github.com/evanphx/json-patch?status.svg)](http://godoc.org/github.com/evanphx/json-patch) 9 | 10 | [![Build Status](https://travis-ci.org/evanphx/json-patch.svg?branch=RFC7386)](https://travis-ci.org/evanphx/json-patch) 11 | 12 | ### API Usage 13 | 14 | * Given a `[]byte`, obtain a Patch object 15 | 16 | `obj, err := jsonpatch.DecodePatch(patch)` 17 | 18 | * Apply the patch and get a new document back 19 | 20 | `out, err := obj.Apply(doc)` 21 | 22 | * Create a JSON Merge Patch document based on two json documents (a to b): 23 | 24 | `mergeDoc, err := jsonpatch.CreateMergePatch(a, b)` 25 | 26 | * Bonus API: compare documents for structural equality 27 | 28 | `jsonpatch.Equal(doca, docb)` 29 | 30 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/.gitignore: -------------------------------------------------------------------------------- 1 | # temporary symlink for testing 2 | testing/data/symlink 3 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: required 3 | go: 4 | - 1.3.3 5 | - 1.4.2 6 | - 1.5.3 7 | - 1.6rc2 8 | - tip 9 | env: 10 | - GOARCH=amd64 DOCKER_VERSION=1.7.1 11 | - GOARCH=386 DOCKER_VERSION=1.7.1 12 | - GOARCH=amd64 DOCKER_VERSION=1.8.3 13 | - GOARCH=386 DOCKER_VERSION=1.8.3 14 | - GOARCH=amd64 DOCKER_VERSION=1.9.1 15 | - GOARCH=386 DOCKER_VERSION=1.9.1 16 | - GOARCH=amd64 DOCKER_VERSION=1.10.0 17 | - GOARCH=386 DOCKER_VERSION=1.10.0 18 | install: 19 | - make prepare_docker 20 | script: 21 | - make test 22 | - DOCKER_HOST=tcp://127.0.0.1:2375 make integration 23 | services: 24 | - docker 25 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/DOCKER-LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | You can find the Docker license at the following link: 6 | https://raw.githubusercontent.com/docker/docker/master/LICENSE 7 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/change.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 go-dockerclient 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 docker 6 | 7 | import "fmt" 8 | 9 | // ChangeType is a type for constants indicating the type of change 10 | // in a container 11 | type ChangeType int 12 | 13 | const ( 14 | // ChangeModify is the ChangeType for container modifications 15 | ChangeModify ChangeType = iota 16 | 17 | // ChangeAdd is the ChangeType for additions to a container 18 | ChangeAdd 19 | 20 | // ChangeDelete is the ChangeType for deletions from a container 21 | ChangeDelete 22 | ) 23 | 24 | // Change represents a change in a container. 25 | // 26 | // See https://goo.gl/9GsTIF for more details. 27 | type Change struct { 28 | Path string 29 | Kind ChangeType 30 | } 31 | 32 | func (change *Change) String() string { 33 | var kind string 34 | switch change.Kind { 35 | case ChangeModify: 36 | kind = "C" 37 | case ChangeAdd: 38 | kind = "A" 39 | case ChangeDelete: 40 | kind = "D" 41 | } 42 | return fmt.Sprintf("%s %s", kind, change.Path) 43 | } 44 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | 3 | package logrus 4 | 5 | import "syscall" 6 | 7 | const ioctlReadTermios = syscall.TIOCGETA 8 | 9 | type Termios syscall.Termios 10 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if stderr's file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stderr 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus/terminal_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | 3 | package logrus 4 | 5 | import ( 6 | "os" 7 | 8 | "github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if 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/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus/writer.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "bufio" 5 | "io" 6 | "runtime" 7 | ) 8 | 9 | func (logger *Logger) Writer() *io.PipeWriter { 10 | reader, writer := io.Pipe() 11 | 12 | go logger.writerScanner(reader) 13 | runtime.SetFinalizer(writer, writerFinalizer) 14 | 15 | return writer 16 | } 17 | 18 | func (logger *Logger) writerScanner(reader *io.PipeReader) { 19 | scanner := bufio.NewScanner(reader) 20 | for scanner.Scan() { 21 | logger.Print(scanner.Text()) 22 | } 23 | if err := scanner.Err(); err != nil { 24 | logger.Errorf("Error while reading from Writer: %s", err) 25 | } 26 | reader.Close() 27 | } 28 | 29 | func writerFinalizer(writer *io.PipeWriter) { 30 | writer.Close() 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/opts/hosts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | import "fmt" 6 | 7 | // DefaultHost constant defines the default host string used by docker on other hosts than Windows 8 | var DefaultHost = fmt.Sprintf("unix://%s", DefaultUnixSocket) 9 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/opts/hosts_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package opts 4 | 5 | // DefaultHost constant defines the default host string used by docker on Windows 6 | var DefaultHost = DefaultTCPHost 7 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/opts/opts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | // DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. docker daemon -H tcp://:8080 6 | const DefaultHTTPHost = "localhost" 7 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/archive/README.md: -------------------------------------------------------------------------------- 1 | This code provides helper functions for dealing with archive files. 2 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/archive/changes_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "os" 5 | 6 | "github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/ioutils/scheduler.go: -------------------------------------------------------------------------------- 1 | // +build !gccgo 2 | 3 | package ioutils 4 | 5 | func callSchedulerIfNecessary() { 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/ioutils/scheduler_gccgo.go: -------------------------------------------------------------------------------- 1 | // +build gccgo 2 | 3 | package ioutils 4 | 5 | import ( 6 | "runtime" 7 | ) 8 | 9 | func callSchedulerIfNecessary() { 10 | //allow or force Go scheduler to switch context, without explicitly 11 | //forcing this will make it hang when using gccgo implementation 12 | runtime.Gosched() 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/filesys.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "path/filepath" 8 | ) 9 | 10 | // MkdirAll creates a directory named path along with any necessary parents, 11 | // with permission specified by attribute perm for all dir created. 12 | func MkdirAll(path string, perm os.FileMode) error { 13 | return os.MkdirAll(path, perm) 14 | } 15 | 16 | // IsAbs is a platform-specific wrapper for filepath.IsAbs. 17 | func IsAbs(path string) bool { 18 | return filepath.IsAbs(path) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/meminfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows 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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/path_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | // DefaultPathEnv is deliberately empty on Windows as the default path will be set by 6 | // the container. Docker has no context of what the default path should be. 7 | const DefaultPathEnv = "" 8 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/stat_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!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.Mtimespec}, nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/stat_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "time" 8 | ) 9 | 10 | // StatT type contains status of a file. It contains metadata 11 | // like name, permission, size, etc about a file. 12 | type StatT struct { 13 | name string 14 | size int64 15 | mode os.FileMode 16 | modTime time.Time 17 | isDir bool 18 | } 19 | 20 | // Name returns file's name. 21 | func (s StatT) Name() string { 22 | return s.name 23 | } 24 | 25 | // Size returns file's size. 26 | func (s StatT) Size() int64 { 27 | return s.size 28 | } 29 | 30 | // Mode returns file's permission mode. 31 | func (s StatT) Mode() os.FileMode { 32 | return s.mode 33 | } 34 | 35 | // ModTime returns file's last modification time. 36 | func (s StatT) ModTime() time.Time { 37 | return s.modTime 38 | } 39 | 40 | // IsDir returns whether file is actually a directory. 41 | func (s StatT) IsDir() bool { 42 | return s.isDir 43 | } 44 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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 return oldmask. 11 | func Umask(newmask int) (oldmask int, err error) { 12 | return syscall.Umask(newmask), nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/utimes_darwin.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // LUtimesNano is not supported by darwin platform. 6 | func LUtimesNano(path string, ts []syscall.Timespec) error { 7 | return ErrNotSupportedPlatform 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system/utimes_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd,!darwin 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // LUtimesNano is not supported on platforms other than linux, freebsd and darwin. 8 | func LUtimesNano(path string, ts []syscall.Timespec) error { 9 | return ErrNotSupportedPlatform 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/github.com/docker/go-units/MAINTAINERS: -------------------------------------------------------------------------------- 1 | # go-connections maintainers file 2 | # 3 | # This file describes who runs the docker/go-connections project and how. 4 | # This is a living document - if you see something out of date or missing, speak up! 5 | # 6 | # It is structured to be consumable by both humans and programs. 7 | # To extract its contents programmatically, use any TOML-compliant parser. 8 | # 9 | # This file is compiled into the MAINTAINERS file in docker/opensource. 10 | # 11 | [Org] 12 | [Org."Core maintainers"] 13 | people = [ 14 | "calavera", 15 | ] 16 | 17 | [people] 18 | 19 | # A reference list of all people associated with the project. 20 | # All other sections should refer to people by their canonical key 21 | # in the people section. 22 | 23 | # ADD YOURSELF HERE IN ALPHABETICAL ORDER 24 | [people.calavera] 25 | Name = "David Calavera" 26 | Email = "david.calavera@gmail.com" 27 | GitHub = "calavera" 28 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/go-units/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units) 2 | 3 | # Introduction 4 | 5 | go-units is a library to transform human friendly measurements into machine friendly values. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation. 10 | 11 | ## Copyright and license 12 | 13 | Copyright © 2015 Docker, Inc. All rights reserved, except as follows. Code 14 | is released under the Apache 2.0 license. The README.md file, and files in the 15 | "docs" folder are licensed under the Creative Commons Attribution 4.0 16 | International License under the terms and conditions set forth in the file 17 | "LICENSE.docs". You may obtain a duplicate copy of the same license, titled 18 | CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/. 19 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/docker/go-units/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | post: 3 | # install golint 4 | - go get github.com/golang/lint/golint 5 | 6 | test: 7 | pre: 8 | # run analysis before tests 9 | - go vet ./... 10 | - test -z "$(golint ./... | tee /dev/stderr)" 11 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 12 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/github.com/opencontainers/runc/libcontainer/user/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Tianon Gravi (@tianon) 2 | Aleksa Sarai (@cyphar) 3 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/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/fsouza/go-dockerclient/external/golang.org/x/sys/unix/asm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | TEXT ·use(SB),NOSPLIT,$0 10 | RET 11 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/asm_dragonfly_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-32 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-44 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-56 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-32 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-44 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/asm_linux_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 calls for 386, 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 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 23 | JMP syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 26 | JMP syscall·RawSyscall6(SB) 27 | 28 | TEXT ·socketcall(SB),NOSPLIT,$0-36 29 | JMP syscall·socketcall(SB) 30 | 31 | TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 32 | JMP syscall·rawsocketcall(SB) 33 | 34 | TEXT ·seek(SB),NOSPLIT,$0-28 35 | JMP syscall·seek(SB) 36 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/flock_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 linux,arm 2 | 3 | // Copyright 2014 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/mksysnum_darwin.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # Copyright 2009 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 | # Generate system call table for Darwin from sys/syscall.h 7 | 8 | use strict; 9 | 10 | if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") { 11 | print STDERR "GOARCH or GOOS not defined in environment\n"; 12 | exit 1; 13 | } 14 | 15 | my $command = "mksysnum_darwin.pl " . join(' ', @ARGV); 16 | 17 | print <){ 29 | if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){ 30 | my $name = $1; 31 | my $num = $2; 32 | $name =~ y/a-z/A-Z/; 33 | print " SYS_$name = $num;" 34 | } 35 | } 36 | 37 | print <= 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/github.com/fsouza/go-dockerclient/external/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/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/syscall_solaris_amd64.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 amd64,solaris 6 | 7 | package unix 8 | 9 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 10 | 11 | func NsecToTimespec(nsec int64) (ts Timespec) { 12 | ts.Sec = nsec / 1e9 13 | ts.Nsec = nsec % 1e9 14 | return 15 | } 16 | 17 | func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = nsec % 1e9 / 1e3 22 | tv.Sec = int64(nsec / 1e9) 23 | return 24 | } 25 | 26 | func (iov *Iovec) SetLen(length int) { 27 | iov.Len = uint64(length) 28 | } 29 | 30 | func (cmsg *Cmsghdr) SetLen(length int) { 31 | cmsg.Len = uint32(length) 32 | } 33 | 34 | func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { 35 | // TODO(aram): implement this, see issue 5847. 36 | panic("unimplemented") 37 | } 38 | -------------------------------------------------------------------------------- /vendor/github.com/fsouza/go-dockerclient/external/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/github.com/ghodss/yaml/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX leaves these everywhere on SMB shares 2 | ._* 3 | 4 | # Eclipse files 5 | .classpath 6 | .project 7 | .settings/** 8 | 9 | # Emacs save files 10 | *~ 11 | 12 | # Vim-related files 13 | [._]*.s[a-w][a-z] 14 | [._]s[a-w][a-z] 15 | *.un~ 16 | Session.vim 17 | .netrwhist 18 | 19 | # Go test binaries 20 | *.test 21 | -------------------------------------------------------------------------------- /vendor/github.com/ghodss/yaml/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.3 4 | - 1.4 5 | script: 6 | - go test 7 | - go build 8 | -------------------------------------------------------------------------------- /vendor/github.com/google/gofuzz/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4 5 | - 1.3 6 | - 1.2 7 | - tip 8 | 9 | install: 10 | - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi 11 | 12 | script: 13 | - go test -cover 14 | -------------------------------------------------------------------------------- /vendor/github.com/google/gofuzz/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 Google Inc. All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fuzz is a library for populating go objects with random values. 18 | package fuzz 19 | -------------------------------------------------------------------------------- /vendor/github.com/imdario/mergo/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | install: go get -t 3 | -------------------------------------------------------------------------------- /vendor/github.com/inconshreveable/mousetrap/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2014 Alan Shreve 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/inconshreveable/mousetrap/README.md: -------------------------------------------------------------------------------- 1 | # mousetrap 2 | 3 | mousetrap is a tiny library that answers a single question. 4 | 5 | On a Windows machine, was the process invoked by someone double clicking on 6 | the executable file while browsing in explorer? 7 | 8 | ### Motivation 9 | 10 | Windows developers unfamiliar with command line tools will often "double-click" 11 | the executable for a tool. Because most CLI tools print the help and then exit 12 | when invoked without arguments, this is often very frustrating for those users. 13 | 14 | mousetrap provides a way to detect these invocations so that you can provide 15 | more helpful behavior and instructions on how to run the CLI tool. To see what 16 | this looks like, both from an organizational and a technical perspective, see 17 | https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ 18 | 19 | ### The interface 20 | 21 | The library exposes a single interface: 22 | 23 | func StartedByExplorer() (bool) 24 | -------------------------------------------------------------------------------- /vendor/github.com/inconshreveable/mousetrap/trap_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package mousetrap 4 | 5 | // StartedByExplorer returns true if the program was invoked by the user 6 | // double-clicking on the executable from explorer.exe 7 | // 8 | // It is conservative and returns false if any of the internal calls fail. 9 | // It does not guarantee that the program was run from a terminal. It only can tell you 10 | // whether it was launched from explorer.exe 11 | // 12 | // On non-Windows platforms, it always returns false. 13 | func StartedByExplorer() bool { 14 | return false 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 Matt T. Proud 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package pbutil provides record length-delimited Protocol Buffer streaming. 16 | package pbutil 17 | -------------------------------------------------------------------------------- /vendor/github.com/mitchellh/go-homedir/README.md: -------------------------------------------------------------------------------- 1 | # go-homedir 2 | 3 | This is a Go library for detecting the user's home directory without 4 | the use of cgo, so the library can be used in cross-compilation environments. 5 | 6 | Usage is incredibly simple, just call `homedir.Dir()` to get the home directory 7 | for a user, and `homedir.Expand()` to expand the `~` in a path to the home 8 | directory. 9 | 10 | **Why not just use `os/user`?** The built-in `os/user` package requires 11 | cgo on Darwin systems. This means that any Go code that uses that package 12 | cannot cross compile. But 99% of the time the use for `os/user` is just to 13 | retrieve the home directory, which we can do for the current user without 14 | cgo. This library does that, enabling cross-compilation. 15 | -------------------------------------------------------------------------------- /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/cgroups/cgroups_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package cgroups 4 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/fs_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package fs 4 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/name.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package fs 4 | 5 | import ( 6 | "github.com/opencontainers/runc/libcontainer/cgroups" 7 | "github.com/opencontainers/runc/libcontainer/configs" 8 | ) 9 | 10 | type NameGroup struct { 11 | GroupName string 12 | } 13 | 14 | func (s *NameGroup) Name() string { 15 | return s.GroupName 16 | } 17 | 18 | func (s *NameGroup) Apply(d *cgroupData) error { 19 | return nil 20 | } 21 | 22 | func (s *NameGroup) Set(path string, cgroup *configs.Cgroup) error { 23 | return nil 24 | } 25 | 26 | func (s *NameGroup) Remove(d *cgroupData) error { 27 | return nil 28 | } 29 | 30 | func (s *NameGroup) GetStats(path string, stats *cgroups.Stats) error { 31 | return nil 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/net_cls.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package fs 4 | 5 | import ( 6 | "github.com/opencontainers/runc/libcontainer/cgroups" 7 | "github.com/opencontainers/runc/libcontainer/configs" 8 | ) 9 | 10 | type NetClsGroup struct { 11 | } 12 | 13 | func (s *NetClsGroup) Name() string { 14 | return "net_cls" 15 | } 16 | 17 | func (s *NetClsGroup) Apply(d *cgroupData) error { 18 | _, err := d.join("net_cls") 19 | if err != nil && !cgroups.IsNotFound(err) { 20 | return err 21 | } 22 | return nil 23 | } 24 | 25 | func (s *NetClsGroup) Set(path string, cgroup *configs.Cgroup) error { 26 | if cgroup.Resources.NetClsClassid != "" { 27 | if err := writeFile(path, "net_cls.classid", cgroup.Resources.NetClsClassid); err != nil { 28 | return err 29 | } 30 | } 31 | 32 | return nil 33 | } 34 | 35 | func (s *NetClsGroup) Remove(d *cgroupData) error { 36 | return removePath(d.path("net_cls")) 37 | } 38 | 39 | func (s *NetClsGroup) GetStats(path string, stats *cgroups.Stats) error { 40 | return nil 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/net_prio.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package fs 4 | 5 | import ( 6 | "github.com/opencontainers/runc/libcontainer/cgroups" 7 | "github.com/opencontainers/runc/libcontainer/configs" 8 | ) 9 | 10 | type NetPrioGroup struct { 11 | } 12 | 13 | func (s *NetPrioGroup) Name() string { 14 | return "net_prio" 15 | } 16 | 17 | func (s *NetPrioGroup) Apply(d *cgroupData) error { 18 | _, err := d.join("net_prio") 19 | if err != nil && !cgroups.IsNotFound(err) { 20 | return err 21 | } 22 | return nil 23 | } 24 | 25 | func (s *NetPrioGroup) Set(path string, cgroup *configs.Cgroup) error { 26 | for _, prioMap := range cgroup.Resources.NetPrioIfpriomap { 27 | if err := writeFile(path, "net_prio.ifpriomap", prioMap.CgroupString()); err != nil { 28 | return err 29 | } 30 | } 31 | 32 | return nil 33 | } 34 | 35 | func (s *NetPrioGroup) Remove(d *cgroupData) error { 36 | return removePath(d.path("net_prio")) 37 | } 38 | 39 | func (s *NetPrioGroup) GetStats(path string, stats *cgroups.Stats) error { 40 | return nil 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/perf_event.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package fs 4 | 5 | import ( 6 | "github.com/opencontainers/runc/libcontainer/cgroups" 7 | "github.com/opencontainers/runc/libcontainer/configs" 8 | ) 9 | 10 | type PerfEventGroup struct { 11 | } 12 | 13 | func (s *PerfEventGroup) Name() string { 14 | return "perf_event" 15 | } 16 | 17 | func (s *PerfEventGroup) Apply(d *cgroupData) error { 18 | // we just want to join this group even though we don't set anything 19 | if _, err := d.join("perf_event"); err != nil && !cgroups.IsNotFound(err) { 20 | return err 21 | } 22 | return nil 23 | } 24 | 25 | func (s *PerfEventGroup) Set(path string, cgroup *configs.Cgroup) error { 26 | return nil 27 | } 28 | 29 | func (s *PerfEventGroup) Remove(d *cgroupData) error { 30 | return removePath(d.path("perf_event")) 31 | } 32 | 33 | func (s *PerfEventGroup) GetStats(path string, stats *cgroups.Stats) error { 34 | return nil 35 | } 36 | -------------------------------------------------------------------------------- /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/mount.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type Mount struct { 4 | // Source path for the mount. 5 | Source string `json:"source"` 6 | 7 | // Destination path for the mount inside the container. 8 | Destination string `json:"destination"` 9 | 10 | // Device the mount is for. 11 | Device string `json:"device"` 12 | 13 | // Mount flags. 14 | Flags int `json:"flags"` 15 | 16 | // Propagation Flags 17 | PropagationFlags []int `json:"propagation_flags"` 18 | 19 | // Mount data applied to the mount. 20 | Data string `json:"data"` 21 | 22 | // Relabel source if set, "z" indicates shared, "Z" indicates unshared. 23 | Relabel string `json:"relabel"` 24 | 25 | // Optional Command to be run before Source is mounted. 26 | PremountCmds []Command `json:"premount_cmds"` 27 | 28 | // Optional Command to be run after Source is mounted. 29 | PostmountCmds []Command `json:"postmount_cmds"` 30 | } 31 | -------------------------------------------------------------------------------- /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 functions 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 functions 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/system/proc.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "io/ioutil" 5 | "path/filepath" 6 | "strconv" 7 | "strings" 8 | ) 9 | 10 | // look in /proc to find the process start time so that we can verify 11 | // that this pid has started after ourself 12 | func GetProcessStartTime(pid int) (string, error) { 13 | data, err := ioutil.ReadFile(filepath.Join("/proc", strconv.Itoa(pid), "stat")) 14 | if err != nil { 15 | return "", err 16 | } 17 | 18 | parts := strings.Split(string(data), " ") 19 | // the starttime is located at pos 22 20 | // from the man page 21 | // 22 | // starttime %llu (was %lu before Linux 2.6) 23 | // (22) The time the process started after system boot. In kernels before Linux 2.6, this 24 | // value was expressed in jiffies. Since Linux 2.6, the value is expressed in clock ticks 25 | // (divide by sysconf(_SC_CLK_TCK)). 26 | return parts[22-1], nil // starts at 1 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_386.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID32, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_arm.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Setuid sets the uid of the calling thread to the specified uid. 10 | func Setuid(uid int) (err error) { 11 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETUID32, uintptr(uid), 0, 0) 12 | if e1 != 0 { 13 | err = e1 14 | } 15 | return 16 | } 17 | 18 | // Setgid sets the gid of the calling thread to the specified gid. 19 | func Setgid(gid int) (err error) { 20 | _, _, e1 := syscall.RawSyscall(syscall.SYS_SETGID32, uintptr(gid), 0, 0) 21 | if e1 != 0 { 22 | err = e1 23 | } 24 | return 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/runc/libcontainer/system/sysconfig.go: -------------------------------------------------------------------------------- 1 | // +build cgo,linux cgo,freebsd 2 | 3 | package system 4 | 5 | /* 6 | #include 7 | */ 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/pborman/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. 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 | // The uuid package generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security Services. 8 | package uuid 9 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/json.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Google Inc. 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 uuid 6 | 7 | import "errors" 8 | 9 | func (u UUID) MarshalJSON() ([]byte, error) { 10 | if len(u) == 0 { 11 | return []byte(`""`), nil 12 | } 13 | return []byte(`"` + u.String() + `"`), nil 14 | } 15 | 16 | func (u *UUID) UnmarshalJSON(data []byte) error { 17 | if len(data) == 0 || string(data) == `""` { 18 | return nil 19 | } 20 | if len(data) < 2 || data[0] != '"' || data[len(data)-1] != '"' { 21 | return errors.New("invalid UUID format") 22 | } 23 | data = data[1 : len(data)-1] 24 | uu := Parse(string(data)) 25 | if uu == nil { 26 | return errors.New("invalid UUID format") 27 | } 28 | *u = uu 29 | return nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/version4.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. 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 uuid 6 | 7 | // Random returns a Random (Version 4) UUID or panics. 8 | // 9 | // The strength of the UUIDs is based on the strength of the crypto/rand 10 | // package. 11 | // 12 | // A note about uniqueness derived from from the UUID Wikipedia entry: 13 | // 14 | // Randomly generated UUIDs have 122 random bits. One's annual risk of being 15 | // hit by a meteorite is estimated to be one chance in 17 billion, that 16 | // means the probability is about 0.00000000006 (6 × 10−11), 17 | // equivalent to the odds of creating a few tens of trillions of UUIDs in a 18 | // year and having one duplicate. 19 | func NewRandom() UUID { 20 | uuid := make([]byte, 16) 21 | randomBits([]byte(uuid)) 22 | uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 23 | uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 24 | return uuid 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/NOTICE: -------------------------------------------------------------------------------- 1 | Prometheus instrumentation library for Go applications 2 | Copyright 2012-2015 The Prometheus Authors 3 | 4 | This product includes software developed at 5 | SoundCloud Ltd. (http://soundcloud.com/). 6 | 7 | 8 | The following components are included in this product: 9 | 10 | goautoneg 11 | http://bitbucket.org/ww/goautoneg 12 | Copyright 2011, Open Knowledge Foundation Ltd. 13 | See README.txt for license details. 14 | 15 | perks - a fork of https://github.com/bmizerany/perks 16 | https://github.com/beorn7/perks 17 | Copyright 2013-2015 Blake Mizerany, Björn Rabenstein 18 | See https://github.com/beorn7/perks/blob/master/README.md for license details. 19 | 20 | Go support for Protocol Buffers - Google's data interchange format 21 | http://github.com/golang/protobuf/ 22 | Copyright 2010 The Go Authors 23 | See source code for license details. 24 | 25 | Support for streaming Protocol Buffer messages for the Go language (golang). 26 | https://github.com/matttproud/golang_protobuf_extensions 27 | Copyright 2013 Matt T. Proud 28 | Licensed under the Apache License, Version 2.0 29 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/.gitignore: -------------------------------------------------------------------------------- 1 | command-line-arguments.test 2 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_model/NOTICE: -------------------------------------------------------------------------------- 1 | Data model artifacts for Prometheus. 2 | Copyright 2012-2015 The Prometheus Authors 3 | 4 | This product includes software developed at 5 | SoundCloud Ltd. (http://soundcloud.com/). 6 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/common/model/model.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // Package model contains common data structures that are shared across 15 | // Prometheus componenets and libraries. 16 | package model 17 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.3 4 | - 1.4 5 | - tip 6 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/AUTHORS.md: -------------------------------------------------------------------------------- 1 | The Prometheus project was started by Matt T. Proud (emeritus) and 2 | Julius Volz in 2012. 3 | 4 | Maintainers of this repository: 5 | 6 | * Tobias Schmidt 7 | 8 | The following individuals have contributed code to this repository 9 | (listed in alphabetical order): 10 | 11 | * Tobias Schmidt 12 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Prometheus uses GitHub to manage reviews of pull requests. 4 | 5 | * If you have a trivial fix or improvement, go ahead and create a pull 6 | request, addressing (with `@...`) one or more of the maintainers 7 | (see [AUTHORS.md](AUTHORS.md)) in the description of the pull request. 8 | 9 | * If you plan to do something more involved, first discuss your ideas 10 | on our [mailing list](https://groups.google.com/forum/?fromgroups#!forum/prometheus-developers). 11 | This will avoid unnecessary work and surely give you and us a good deal 12 | of inspiration. 13 | 14 | * Relevant coding style guidelines are the [Go Code Review 15 | Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) 16 | and the _Formatting and style_ section of Peter Bourgon's [Go: Best 17 | Practices for Production 18 | Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style). 19 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/NOTICE: -------------------------------------------------------------------------------- 1 | procfs provides functions to retrieve system, kernel and process 2 | metrics from the pseudo-filesystem proc. 3 | 4 | Copyright 2014-2015 The Prometheus Authors 5 | 6 | This product includes software developed at 7 | SoundCloud Ltd. (http://soundcloud.com/). 8 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/README.md: -------------------------------------------------------------------------------- 1 | # procfs 2 | 3 | This procfs package provides functions to retrieve system, kernel and process 4 | metrics from the pseudo-filesystem proc. 5 | 6 | [![GoDoc](https://godoc.org/github.com/prometheus/procfs?status.png)](https://godoc.org/github.com/prometheus/procfs) 7 | [![Build Status](https://travis-ci.org/prometheus/procfs.svg?branch=master)](https://travis-ci.org/prometheus/procfs) 8 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/fs.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "path" 7 | ) 8 | 9 | // FS represents the pseudo-filesystem proc, which provides an interface to 10 | // kernel data structures. 11 | type FS string 12 | 13 | // DefaultMountPoint is the common mount point of the proc filesystem. 14 | const DefaultMountPoint = "/proc" 15 | 16 | // NewFS returns a new FS mounted under the given mountPoint. It will error 17 | // if the mount point can't be read. 18 | func NewFS(mountPoint string) (FS, error) { 19 | info, err := os.Stat(mountPoint) 20 | if err != nil { 21 | return "", fmt.Errorf("could not read %s: %s", mountPoint, err) 22 | } 23 | if !info.IsDir() { 24 | return "", fmt.Errorf("mount point %s is not a directory", mountPoint) 25 | } 26 | 27 | return FS(mountPoint), nil 28 | } 29 | 30 | func (fs FS) stat(p string) (os.FileInfo, error) { 31 | return os.Stat(path.Join(string(fs), p)) 32 | } 33 | 34 | func (fs FS) open(p string) (*os.File, error) { 35 | return os.Open(path.Join(string(fs), p)) 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.swp 3 | *.8 4 | *.6 5 | _obj 6 | _test* 7 | markdown 8 | tags 9 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/.travis.yml: -------------------------------------------------------------------------------- 1 | # Travis CI (http://travis-ci.org/) is a continuous integration service for 2 | # open source projects. This file configures it to run unit tests for 3 | # blackfriday. 4 | 5 | language: go 6 | 7 | go: 8 | - 1.2 9 | - 1.3 10 | 11 | install: 12 | - go get -d -t -v ./... 13 | - go build -v ./... 14 | 15 | script: 16 | - go test -v ./... 17 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/sanitized_anchor_name/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.4 4 | install: 5 | - go get golang.org/x/tools/cmd/vet 6 | script: 7 | - go get -t -v ./... 8 | - diff -u <(echo -n) <(gofmt -d ./) 9 | - go tool vet ./ 10 | - go test -v -race ./... 11 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/sanitized_anchor_name/README.md: -------------------------------------------------------------------------------- 1 | sanitized_anchor_name [![Build Status](https://travis-ci.org/shurcooL/sanitized_anchor_name.svg?branch=master)](https://travis-ci.org/shurcooL/sanitized_anchor_name) 2 | ===================== 3 | 4 | Package `sanitized_anchor_name` provides a func to create sanitized anchor names. 5 | 6 | Its logic can be reused by multiple packages to create interoperable anchor names and links to those anchors. 7 | 8 | At this time, it does not try to ensure that generated anchor names are unique, that responsibility falls on the caller. 9 | 10 | Example 11 | ======= 12 | 13 | ```Go 14 | anchorName := sanitized_anchor_name.Create("This is a header") 15 | 16 | fmt.Println(anchorName) 17 | 18 | // Output: 19 | // this-is-a-header 20 | ``` 21 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/sanitized_anchor_name/main.go: -------------------------------------------------------------------------------- 1 | // Package sanitized_anchor_name provides a func to create sanitized anchor names. 2 | // 3 | // Its logic can be reused by multiple packages to create interoperable anchor names 4 | // and links to those anchors. 5 | // 6 | // At this time, it does not try to ensure that generated anchor names 7 | // are unique, that responsibility falls on the caller. 8 | package sanitized_anchor_name 9 | 10 | import "unicode" 11 | 12 | // Create returns a sanitized anchor name for the given text. 13 | func Create(text string) string { 14 | var anchorName []rune 15 | var futureDash = false 16 | for _, r := range []rune(text) { 17 | switch { 18 | case unicode.IsLetter(r) || unicode.IsNumber(r): 19 | if futureDash && len(anchorName) > 0 { 20 | anchorName = append(anchorName, '-') 21 | } 22 | futureDash = false 23 | anchorName = append(anchorName, unicode.ToLower(r)) 24 | default: 25 | futureDash = true 26 | } 27 | } 28 | return string(anchorName) 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | 24 | cobra.test 25 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/.mailmap: -------------------------------------------------------------------------------- 1 | Steve Francia 2 | Bjørn Erik Pedersen 3 | Fabiano Franz 4 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.3.3 4 | - 1.4.2 5 | - 1.5.1 6 | - tip 7 | script: 8 | - go test -v ./... 9 | - go build 10 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/man_docs.md: -------------------------------------------------------------------------------- 1 | # Generating Man Pages For Your Own cobra.Command 2 | 3 | Generating man pages from a cobra command is incredibly easy. An example is as follows: 4 | 5 | ```go 6 | package main 7 | 8 | import ( 9 | "github.com/spf13/cobra" 10 | ) 11 | 12 | func main() { 13 | cmd := &cobra.Command{ 14 | Use: "test", 15 | Short: "my test program", 16 | } 17 | header := &cobra.GenManHeader{ 18 | Title: "MINE", 19 | Section: "3", 20 | } 21 | cmd.GenManTree(header, "/tmp") 22 | } 23 | ``` 24 | 25 | That will get you a man page `/tmp/test.1` 26 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.3 7 | - 1.4 8 | - 1.5 9 | - tip 10 | 11 | install: 12 | - go get github.com/golang/lint/golint 13 | - export PATH=$GOPATH/bin:$PATH 14 | - go install ./... 15 | 16 | script: 17 | - verify/all.sh 18 | - go test ./... 19 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/helper_not_unsafe.go: -------------------------------------------------------------------------------- 1 | //+build !unsafe 2 | 3 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 4 | // Use of this source code is governed by a MIT license found in the LICENSE file. 5 | 6 | package codec 7 | 8 | // stringView returns a view of the []byte as a string. 9 | // In unsafe mode, it doesn't incur allocation and copying caused by conversion. 10 | // In regular safe mode, it is an allocation and copy. 11 | func stringView(v []byte) string { 12 | return string(v) 13 | } 14 | 15 | // bytesView returns a view of the string as a []byte. 16 | // In unsafe mode, it doesn't incur allocation and copying caused by conversion. 17 | // In regular safe mode, it is an allocation and copy. 18 | func bytesView(v string) []byte { 19 | return []byte(v) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/prebuild.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | //go:generate bash prebuild.sh 4 | -------------------------------------------------------------------------------- /vendor/gopkg.in/libgit2/git2go.v23/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: required 4 | 5 | install: ./script/install-libgit2.sh 6 | 7 | go: 8 | - 1.1 9 | - 1.2 10 | - 1.3 11 | - 1.4 12 | - 1.5 13 | - tip 14 | 15 | matrix: 16 | allow_failures: 17 | - go: tip 18 | -------------------------------------------------------------------------------- /vendor/gopkg.in/libgit2/git2go.v23/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | test: 4 | go run script/check-MakeGitError-thread-lock.go 5 | go test ./... 6 | 7 | install: 8 | go install ./... 9 | -------------------------------------------------------------------------------- /vendor/gopkg.in/libgit2/git2go.v23/graph.go: -------------------------------------------------------------------------------- 1 | package git 2 | 3 | /* 4 | #include 5 | */ 6 | import "C" 7 | import ( 8 | "runtime" 9 | ) 10 | 11 | func (repo *Repository) DescendantOf(commit, ancestor *Oid) (bool, error) { 12 | runtime.LockOSThread() 13 | defer runtime.UnlockOSThread() 14 | 15 | ret := C.git_graph_descendant_of(repo.ptr, commit.toC(), ancestor.toC()) 16 | if ret < 0 { 17 | return false, MakeGitError(ret) 18 | } 19 | 20 | return (ret > 0), nil 21 | } 22 | 23 | func (repo *Repository) AheadBehind(local, upstream *Oid) (ahead, behind int, err error) { 24 | runtime.LockOSThread() 25 | defer runtime.UnlockOSThread() 26 | 27 | var aheadT C.size_t 28 | var behindT C.size_t 29 | 30 | ret := C.git_graph_ahead_behind(&aheadT, &behindT, repo.ptr, local.toC(), upstream.toC()) 31 | if ret < 0 { 32 | return 0, 0, MakeGitError(ret) 33 | } 34 | 35 | return int(aheadT), int(behindT), nil 36 | } 37 | -------------------------------------------------------------------------------- /vendor/gopkg.in/libgit2/git2go.v23/reset.go: -------------------------------------------------------------------------------- 1 | package git 2 | 3 | /* 4 | #include 5 | */ 6 | import "C" 7 | import "runtime" 8 | 9 | type ResetType int 10 | 11 | const ( 12 | ResetSoft ResetType = C.GIT_RESET_SOFT 13 | ResetMixed ResetType = C.GIT_RESET_MIXED 14 | ResetHard ResetType = C.GIT_RESET_HARD 15 | ) 16 | 17 | func (r *Repository) ResetToCommit(commit *Commit, resetType ResetType, opts *CheckoutOpts) error { 18 | runtime.LockOSThread() 19 | defer runtime.UnlockOSThread() 20 | ret := C.git_reset(r.ptr, commit.gitObject.ptr, C.git_reset_t(resetType), opts.toC()) 21 | 22 | if ret < 0 { 23 | return MakeGitError(ret) 24 | } 25 | return nil 26 | } 27 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - bgrant0607 3 | - erictune 4 | - lavalamp 5 | - smarterclayton 6 | - thockin 7 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package api contains the latest (or "internal") version of the 18 | // Kubernetes API objects. This is the API objects as represented in memory. 19 | // The contract presented to clients is located in the versioned packages, 20 | // which are sub-directories. The first one is "v1". Those packages 21 | // describe how a particular version is serialized to storage/network. 22 | package api 23 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/errors/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package errors provides detailed error types for api field validation. 18 | package errors 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/meta/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package meta provides functions for retrieving API metadata from objects 18 | // belonging to the Kubernetes API 19 | package meta 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/unversioned/well_known_labels.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package unversioned 18 | 19 | const LabelHostname = "kubernetes.io/hostname" 20 | const LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone" 21 | const LabelZoneRegion = "failure-domain.beta.kubernetes.io/region" 22 | const LabelInstanceType = "beta.kubernetes.io/instance-type" 23 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/v1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package v1 is the v1 version of the API. 18 | package v1 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/api/validation/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package validation has functions for validating the correctness of api 18 | // objects and explaining what is wrong with them when they aren't valid. 19 | package validation 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apimachinery/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package apimachinery contains the generic API machinery code that 18 | // is common to both server and clients. 19 | // This package should never import specific API objects. 20 | package apimachinery 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/authorization/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package authorization 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/authorization/v1beta1/conversion.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package v1beta1 18 | 19 | import ( 20 | "k8s.io/kubernetes/pkg/runtime" 21 | ) 22 | 23 | func addConversionFuncs(scheme *runtime.Scheme) { 24 | // Add non-generated conversion functions 25 | err := scheme.AddConversionFuncs() 26 | if err != nil { 27 | // If one of the conversion functions is malformed, detect it immediately. 28 | panic(err) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/authorization/v1beta1/conversion_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-conversions.sh 18 | 19 | package v1beta1 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedConversionFuncs() 25 | if err != nil { 26 | // If one of the conversion functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/authorization/v1beta1/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package v1beta1 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/authorization/v1beta1/defaults.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package v1beta1 18 | 19 | import ( 20 | "k8s.io/kubernetes/pkg/runtime" 21 | ) 22 | 23 | func addDefaultingFuncs(scheme *runtime.Scheme) { 24 | scheme.AddDefaultingFuncs() 25 | } 26 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/autoscaling/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package autoscaling 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v1/defaults.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package v1 18 | 19 | import ( 20 | "k8s.io/kubernetes/pkg/runtime" 21 | ) 22 | 23 | func addDefaultingFuncs(scheme *runtime.Scheme) { 24 | scheme.AddDefaultingFuncs( 25 | func(obj *HorizontalPodAutoscaler) { 26 | if obj.Spec.MinReplicas == nil { 27 | minReplicas := int32(1) 28 | obj.Spec.MinReplicas = &minReplicas 29 | } 30 | }, 31 | ) 32 | } 33 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/batch/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package batch 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/componentconfig/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package componentconfig 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/extensions/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package extensions 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/metrics/deep_copy_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY $KUBEROOT/hack/update-generated-deep-copies.sh. 18 | 19 | package metrics 20 | 21 | import api "k8s.io/kubernetes/pkg/api" 22 | 23 | func init() { 24 | err := api.Scheme.AddGeneratedDeepCopyFuncs() 25 | if err != nil { 26 | // if one of the deep copy functions is malformed, detect it immediately. 27 | panic(err) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/metrics/types.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package metrics 18 | 19 | import "k8s.io/kubernetes/pkg/api/unversioned" 20 | 21 | // Placeholder top-level node resource metrics. 22 | type RawNode struct { 23 | unversioned.TypeMeta `json:",inline"` 24 | } 25 | 26 | // Placeholder top-level pod resource metrics. 27 | type RawPod struct { 28 | unversioned.TypeMeta `json:",inline"` 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/apis/metrics/v1alpha1/types.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package v1alpha1 18 | 19 | import "k8s.io/kubernetes/pkg/api/unversioned" 20 | 21 | // Placeholder top-level node resource metrics. 22 | type RawNode struct { 23 | unversioned.TypeMeta `json:",inline"` 24 | } 25 | 26 | // Placeholder top-level pod resource metrics. 27 | type RawPod struct { 28 | unversioned.TypeMeta `json:",inline"` 29 | } 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/auth/user/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package user contains utilities for dealing with simple user exchange in the auth 18 | // packages. The user.Info interface defines an interface for exchanging that info. 19 | package user 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/capabilities/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // package capbabilities manages system level capabilities 18 | package capabilities 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/client/cache/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package cache is a client-side caching mechanism. It is useful for 18 | // reducing the number of server calls you'd otherwise need to make. 19 | // Reflector watches a server and updates a Store. Two stores are provided; 20 | // one that simply caches objects (for example, to allow a scheduler to 21 | // list currently available nodes), and one that additionally acts as 22 | // a FIFO queue (for example, to allow a scheduler to process incoming 23 | // pods). 24 | package cache 25 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/client/record/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package record has all client logic for recording and reporting events. 18 | package record 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package unversioned has the automatically generated clients for unversioned resources. 18 | package unversioned 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package unversioned has the automatically generated clients for unversioned resources. 18 | package unversioned 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned/generated_expansion.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package unversioned 18 | 19 | type DaemonSetExpansion interface{} 20 | 21 | type HorizontalPodAutoscalerExpansion interface{} 22 | 23 | type IngressExpansion interface{} 24 | 25 | type JobExpansion interface{} 26 | 27 | type ThirdPartyResourceExpansion interface{} 28 | 29 | type ReplicaSetExpansion interface{} 30 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/controller/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - bprashanth 3 | - davidopp 4 | - derekwaynecarr 5 | - mikedanese 6 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/controller/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package controller contains code for controllers (like the replication 18 | // controller). 19 | package controller 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/controller/framework/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package framework implements all the grunt work involved in running a simple controller. 18 | package framework 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/conversion/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - derekwaynecarr 3 | - lavalamp 4 | - smarterclayton 5 | - wojtek-t 6 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/conversion/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package conversion provides go object versioning. 18 | // 19 | // Specifically, conversion provides a way for you to define multiple versions 20 | // of the same object. You may write functions which implement conversion logic, 21 | // but for the fields which did not change, copying is automated. This makes it 22 | // easy to modify the structures you use in memory without affecting the format 23 | // you store on disk or respond to in your external API calls. 24 | package conversion 25 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/conversion/queryparams/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package queryparams provides conversion from versioned 18 | // runtime objects to URL query values 19 | package queryparams 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/credentialprovider/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - erictune 3 | - liggitt 4 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/credentialprovider/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package credentialprovider supplies interfaces and implementations for 18 | // docker registry providers to expose their authentication scheme. 19 | package credentialprovider 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/fieldpath/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fieldpath supplies methods for extracting fields from objects 18 | // given a path to a field. 19 | package fieldpath 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/fields/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fields implements a simple field system, parsing and matching 18 | // selectors with sets of fields. 19 | package fields 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/kubectl/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - bgrant0607 3 | - brendandburns 4 | - deads2k 5 | - janetkuo 6 | - jlowdermilk 7 | - smarterclayton 8 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/kubectl/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package kubectl is a set of libraries that are used by the kubectl command line tool. 18 | // They are separated out into a library to support unit testing. Most functionality should 19 | // be included in this package, and the main kubectl should really just be an entry point. 20 | package kubectl 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/kubectl/interfaces.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kubectl 18 | 19 | import ( 20 | "k8s.io/kubernetes/pkg/api" 21 | client "k8s.io/kubernetes/pkg/client/restclient" 22 | ) 23 | 24 | // RESTClient is a client helper for dealing with RESTful resources 25 | // in a generic way. 26 | type RESTClient interface { 27 | Get() *client.Request 28 | Post() *client.Request 29 | Patch(api.PatchType) *client.Request 30 | Delete() *client.Request 31 | Put() *client.Request 32 | } 33 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/labels/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package labels implements a simple label system, parsing and matching 18 | // selectors with sets of labels. 19 | package labels 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/master/ports/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package ports defines ports used by various pieces of the kubernetes 18 | // infrastructure. 19 | package ports 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/runtime/OWNERS: -------------------------------------------------------------------------------- 1 | assignees: 2 | - caesarxuchao 3 | - deads2k 4 | - lavalamp 5 | - smarterclayton 6 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/types/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package types implements various generic types used throughout kubernetes. 18 | package types 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/types/uid.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package types 18 | 19 | // UID is a type that holds unique ID values, including UUIDs. Because we 20 | // don't ONLY use UUIDs, this is an alias to string. Being a type captures 21 | // intent and helps make sure that UIDs and names do not get conflated. 22 | type UID string 23 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/types/unix_user_id.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package types 18 | 19 | // int64 is used as a safe bet against wrap-around (uid's are general 20 | // int32) and to support uid_t -1, and -2. 21 | 22 | type UnixUserID int64 23 | type UnixGroupID int64 24 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package util implements various utility functions used in both testing and implementation 18 | // of Kubernetes. Package util may not depend on any other package in the Kubernetes 19 | // package tree. 20 | package util 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/errors/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package errors implements various utility functions and types around errors. 18 | package errors 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/integer/integer.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package integer 18 | 19 | func IntMax(a, b int) int { 20 | if b > a { 21 | return b 22 | } 23 | return a 24 | } 25 | 26 | func IntMin(a, b int) int { 27 | if b < a { 28 | return b 29 | } 30 | return a 31 | } 32 | 33 | func Int64Max(a, b int64) int64 { 34 | if b > a { 35 | return b 36 | } 37 | return a 38 | } 39 | 40 | func Int64Min(a, b int64) int64 { 41 | if b < a { 42 | return b 43 | } 44 | return a 45 | } 46 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/jsonpath/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // package jsonpath is a template engine using jsonpath syntax, 18 | // which can be seen at http://goessner.net/articles/JsonPath/. 19 | // In addition, it has {range} {end} function to iterate list and slice. 20 | package jsonpath 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/labels/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package labels provides utilities to work with Kubernetes labels. 18 | package labels 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/net/sets/README.md: -------------------------------------------------------------------------------- 1 | This package contains hand-coded set implementations that should be similar to 2 | the autogenerated ones in `pkg/util/sets`. 3 | 4 | We can't simply use net.IPNet as a map-key in Go (because it contains a 5 | `[]byte`). 6 | 7 | We could use the same workaround we use here (a string representation as the 8 | key) to autogenerate sets. If we do that, or decide on an alternate approach, 9 | we should replace the implementations in this package with the autogenerated 10 | versions. 11 | 12 | It is expected that callers will alias this import as `netsets` 13 | i.e. `import netsets "k8s.io/kubernetes/pkg/util/net/sets"` 14 | 15 | 16 | 17 | [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/pkg/util/net/sets/README.md?pixel)]() 18 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/pod/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package pod provides utilities to work with Kubernetes pod and pod templates. 18 | package pod 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/resource_container_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | /* 4 | Copyright 2015 The Kubernetes Authors All rights reserved. 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | 19 | package util 20 | 21 | import ( 22 | "errors" 23 | ) 24 | 25 | func RunInResourceContainer(containerName string) error { 26 | return errors.New("resource-only containers unsupported in this platform") 27 | } 28 | 29 | func ApplyRLimitForSelf(maxOpenFiles uint64) error { 30 | return errors.New("SetRLimit unsupported in this platform") 31 | } 32 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/sets/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // This file was autogenerated by set-gen. Do not edit it manually! 18 | 19 | // Package sets has auto-generated set types. 20 | package sets 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/sets/empty.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // This file was autogenerated by set-gen. Do not edit it manually! 18 | 19 | package sets 20 | 21 | // Empty is public since it is used by some internal API objects for conversions between external 22 | // string arrays and internal sets, and conversion logic requires public types today. 23 | type Empty struct{} 24 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/umask.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | /* 4 | Copyright 2014 The Kubernetes Authors All rights reserved. 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | 19 | package util 20 | 21 | import ( 22 | "syscall" 23 | ) 24 | 25 | func Umask(mask int) (old int, err error) { 26 | return syscall.Umask(mask), nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/umask_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | /* 4 | Copyright 2014 The Kubernetes Authors All rights reserved. 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | 19 | package util 20 | 21 | import ( 22 | "errors" 23 | ) 24 | 25 | func Umask(mask int) (old int, err error) { 26 | return 0, errors.New("platform and architecture is not supported") 27 | } 28 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/util/wait/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package wait provides tools for polling or listening for changes 18 | // to a condition. 19 | package wait 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/version/.gitattributes: -------------------------------------------------------------------------------- 1 | base.go export-subst 2 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/version/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package version supplies version information collected at build time to 18 | // kubernetes components. 19 | package version 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/watch/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package watch contains a generic watchable interface, and a fake for 18 | // testing code that uses the watch interface. 19 | package watch 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/kubernetes/pkg/watch/json/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package json implements a simple encoder and decoder for streams 18 | // of watch events over io.Writer/Readers 19 | package json 20 | --------------------------------------------------------------------------------