diff --git a/vendor.conf b/vendor.conf index 4bfb56006..d489352c8 100644 --- a/vendor.conf +++ b/vendor.conf @@ -6,7 +6,6 @@ github.com/Sirupsen/logrus 10f801ebc38b33738c9d17d50860f484a0988ff5 github.com/aws/aws-sdk-go fa107560b5f3528a859a1a1511086646731bb1a8 github.com/dgrijalva/jwt-go 6c8dedd55f8a2e41f605de6d5d66e51ed1f299fc github.com/docker/docker 8d96619e5a367798cffcb740cfc41e0a505a5232 -github.com/docker/infrakit cb420e3e50ea60afe58538b1d3cab1cb14059433 github.com/go-ini/ini afbc45e87f3ba324c532d12c71918ef52e0fb194 github.com/golang/protobuf c9c7427a2a70d2eb3bafa0ab2dc163e45f143317 github.com/googleapis/gax-go 8c5154c0fe5bf18cf649634d4c6df50897a32751 @@ -17,7 +16,6 @@ github.com/packethost/packngo 91d54000aa56874149d348a884ba083c41d38091 github.com/radu-matei/azure-sdk-for-go 3b12823551999669c9a325a32472508e0af7978e github.com/radu-matei/azure-vhd-utils e52754d5569d2a643a7775f72ff2a6cf524f4c25 github.com/rn/iso9660wrap 4606f848a055435cdef85305960b0e1bb788d506 -github.com/surma/gocpio fcb68777e7dc4ea43ffce871b552c0d073c17495 github.com/vmware/govmomi 6f8ebd89d521d9f9af7a6c2219c4deee511020dd golang.org/x/crypto 573951cbe80bb6352881271bb276f48749eab6f4 golang.org/x/net a6577fac2d73be281a500b310739095313165611 diff --git a/vendor/github.com/docker/infrakit/LICENSE b/vendor/github.com/docker/infrakit/LICENSE deleted file mode 100644 index 6d630cf59..000000000 --- a/vendor/github.com/docker/infrakit/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 Docker, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/docker/infrakit/README.md b/vendor/github.com/docker/infrakit/README.md deleted file mode 100644 index dd6901c5a..000000000 --- a/vendor/github.com/docker/infrakit/README.md +++ /dev/null @@ -1,235 +0,0 @@ -InfraKit -======== - -[![Circle CI](https://circleci.com/gh/docker/infrakit.png?style=shield&circle-token=50d2063f283f98b7d94746416c979af3102275b5)](https://circleci.com/gh/docker/infrakit) -[![Go Report Card](https://goreportcard.com/badge/github.com/docker/infrakit)](https://goreportcard.com/report/github.com/docker/infrakit) -[![codecov.io](https://codecov.io/github/docker/infrakit/coverage.svg?branch=master&token=z08ZKeIJfA)](https://codecov.io/github/docker/infrakit?branch=master) - -_InfraKit_ is a toolkit for creating and managing declarative, self-healing infrastructure. -It breaks infrastructure automation down into simple, pluggable components. These components work together to actively -ensure the infrastructure state matches the user's specifications. -Although _InfraKit_ emphasizes primitives for building self-healing infrastructure, it also can be used passively like -conventional tools. - -To get started, try the [tutorial](docs/tutorial.md). - -### Who InfraKit is for - -_InfraKit_ is designed to support setup and management of base infrastructure. For example, it can help you manage a -system like a cluster or container orchestrator, ideally relieving you of building custom release and maintenance tools. -As a result, it is a low-level tool intended to be used by infrastructure operators directly or indirectly -(as a toolkit) through a higher-level tool. Since _InfraKit_ is pluggable, it allows you to manage resources in diverse -environments while using shared components and consistent interfaces. - -## Plugins -_InfraKit_ makes extensive use of _Plugins_ to manage arbitrary systems in diverse environments, which can be composed -to meet different needs. - -See the [plugins](docs/plugins) documentation for more details. - - -## Building -### Your Environment - -Make sure you check out the project following a convention for building Go projects. For example, - -```shell - -# Install Go - https://golang.org/dl/ -# Assuming your go compiler is in /usr/local/go -export PATH=/usr/local/go/bin:$PATH - -# Your dev environment -mkdir -p ~/go -export GOPATH=!$ -export PATH=$GOPATH/bin:$PATH - -mkdir -p ~/go/src/github.com/docker -cd !$ -git clone git@github.com:docker/infrakit.git -cd infrakit -``` - -We recommended go version 1.7.1 or greater for all platforms. - -Also install a few build tools: -```shell -make get-tools -``` - -### Running tests -```shell -$ make ci -``` - -### Binaries -```shell -$ make binaries -``` -Executables will be placed in the `./build` directory. -This will produce binaries for tools and several reference Plugin implementations: - + [`infrakit`](cmd/cli/README.md): a command line interface to interact with plugins - + [`infrakit-group-default`](cmd/group/README.md): the default [Group plugin](./pkg/spi/group) - + [`infrakit-instance-file`](examples/instance/file): an Instance plugin using dummy files to represent instances - + [`infrakit-instance-terraform`](examples/instance/terraform): - an Instance plugin integrating [Terraform](https://www.terraform.io) - + [`infrakit-instance-vagrant`](examples/instance/vagrant): - an Instance plugin using [Vagrant](https://www.vagrantup.com/) - + [`infrakit-instance-maas`](examples/instance/maas): - an Instance plugin using [MaaS](https://maas.io) - + [`infrakit-flavor-vanilla`](examples/flavor/vanilla): - a Flavor plugin for plain vanilla set up with user data and labels - + [`infrakit-flavor-zookeeper`](examples/flavor/zookeeper): - a Flavor plugin for [Apache ZooKeeper](https://zookeeper.apache.org/) ensemble members - + [`infrakit-flavor-swarm`](examples/flavor/swarm): - a Flavor plugin for Docker in [Swarm mode](https://docs.docker.com/engine/swarm/). - -All provided binaries have a `help` sub-command to get usage and a `version` sub-command to identify the build revision. - - -# Design - -## Configuration -_InfraKit_ uses JSON for configuration because it is composable and a widely accepted format for many -infrastructure SDKs and tools. Since the system is highly component-driven, our JSON format follows -simple patterns to support the composition of components. - -A common pattern for a JSON object looks like this: - -```json -{ - "SomeKey": "ValueForTheKey", - "Properties": { - } -} -``` - -There is only one `Properties` field in this JSON and its value is a JSON object. The opaque -JSON value for `Properties` is decoded via the Go `Spec` struct defined within the package of the plugin -- -for example -- [`vanilla.Spec`](pkg/plugin/flavor/vanilla/flavor.go). - -The JSON above is a _value_, but the type of the value belongs outside the structure. For example, the -default Group [Spec](pkg/plugin/group/types/types.go) is composed of an Instance plugin, a Flavor plugin, and an -Allocation: - -```json -{ - "ID": "name-of-the-group", - "Properties": { - "Allocation": { - }, - "Instance": { - "Plugin": "name-of-the-instance-plugin", - "Properties": { - } - }, - "Flavor": { - "Plugin": "name-of-the-flavor-plugin", - "Properties": { - } - } - } -} -``` -The group's Spec has `Instance` and `Flavor` fields which are used to indicate the type, and the value of the -fields follow the pattern of `` and `Properties` as shown above. - -The `Allocation` determines how the Group is managed. Allocation has two properties: - - `Size`: an integer for the number of instances to maintain in the Group - - `LogicalIDs`: a list of string identifiers, one will be associated with each Instance - -Exactly one of these fields must be set, which defines whether the Group is treated as 'cattle' (`Size`) or 'pets' -(`LogicalIDs`). It is up to the Instance and Flavor plugins to determine how to use `LogicalID` values. - -As an example, if you wanted to manage a Group of NGINX servers, you could -write a custom Group plugin for ultimate customization. The most concise configuration looks something like this: - -```json -{ - "ID": "nginx", - "Plugin": "my-nginx-group-plugin", - "Properties": { - "port": 8080 - } -} -```` - -However, you would likely prefer to use the default Group plugin and implement a Flavor plugin to focus on -application-specific behavior. This gives you immediate support for any infrastructure that has an Instance plugin. -Your resulting configuration might look something like this: - -```json -{ - "ID": "nginx", - "Plugin": "group", - "Properties": { - "Allocation": { - "Size": 10 - }, - "Instance": { - "Plugin": "aws", - "Properties": { - "region": "us-west-2", - "ami": "ami-123456" - } - }, - "Flavor": { - "Plugin": "nginx", - "Properties": { - "port": 8080 - } - } - } -} -``` - -Once the configuration is ready, you will tell a Group plugin to - + watch it - + update it - + destroy it - -Watching the group as specified in the configuration means that the Group plugin will create -the instances if they don't already exist. New instances will be created if for any reason -existing instances have disappeared such that the state doesn't match your specifications. - -Updating the group tells the Group plugin that your configuration may have changed. It will -then determine the changes necessary to ensure the state of the infrastructure matches the new -specification. - -## Docs - -Additional documentation can be found [here](docs). - -## Reporting security issues - -The maintainers take security seriously. If you discover a security issue, -please bring it to their attention right away! - -Please **DO NOT** file a public issue, instead send your report privately to -[security@docker.com](mailto:security@docker.com). - -Security reports are greatly appreciated and we will publicly thank you for it. -We also like to send gifts—if you're into Docker schwag, make sure to let -us know. We currently do not offer a paid security bounty program, but are not -ruling it out in the future. - - -## Design goals - -_InfraKit_ is currently focused on supporting setup and management of base infrastructure, such as a cluster -orchestrator. The image below illustrates an architecture we are working towards supporting - a Docker cluster in Swarm -mode. - -![arch image](docs/images/arch.png) - -This configuration co-locates _InfraKit_ with Swarm manager nodes and offers high availability of _InfraKit_ itself and -Swarm managers (using attached storage). _InfraKit_ is shown managing two groups - managers and workers that will be -continuously monitored, and may be modified with rolling updates. - -Countless configurations are possible with _InfraKit_, but we believe achieving support for this configuration will -enable a large number of real-world use cases. - -## Copyright and license - -Copyright © 2016 Docker, Inc. All rights reserved. Released under the Apache 2.0 -license. See [LICENSE](LICENSE) for the full license text. diff --git a/vendor/github.com/docker/infrakit/vendor.conf b/vendor/github.com/docker/infrakit/vendor.conf deleted file mode 100644 index 5df1140a0..000000000 --- a/vendor/github.com/docker/infrakit/vendor.conf +++ /dev/null @@ -1,81 +0,0 @@ -# Vendor configuration for trash (https://github.com/rancher/trash) - -# Install trash with `go get github.com/rancher/trash` -# Synchronize the vendor/ directory with `vendor.conf` by running `trash`. -# Update dependencies by running `trash -u`. - -# package -github.com/docker/infrakit - -github.com/Masterminds/sprig 2.8.0 -github.com/Microsoft/go-winio 0.3.6 -github.com/Sirupsen/logrus v0.11.0-5-gabc6f20 -github.com/aokoli/goutils 1.0.0 -github.com/armon/go-radix 4239b77 -github.com/beorn7/perks 4c0e845 -github.com/beorn7/perks/quantile 4c0e845 -github.com/coreos/etcd/auth/authpb v3.1.3 -github.com/coreos/etcd/clientv3 v3.1.3 -github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes v3.1.3 -github.com/coreos/etcd/etcdserver/etcdserverpb v3.1.3 -github.com/coreos/etcd/mvcc/mvccpb v3.1.3 -github.com/coreos/etcd/pkg/tlsutil v3.1.3 -github.com/davecgh/go-spew v1.0.0-9-g346938d -github.com/docker/distribution v2.6.0-rc.1-4-g7694c31 -github.com/docker/docker 3a68292 -github.com/docker/go-connections v0.2.1-10-gf512407 -github.com/docker/go-units v0.3.1-8-g8a7beac -github.com/ghodss/yaml 73d445a93680fa1a78ae23a5839bad48f32ba1ee -github.com/golang/glog 23def4e -github.com/golang/mock bd3c8e8 -github.com/golang/protobuf/jsonpb 4bd1920723d7b7c925de087aa32e2187708897f7 -github.com/golang/protobuf/proto 4bd1920723d7b7c925de087aa32e2187708897f7 -github.com/gorilla/handlers v1.1-12-ge1b2144 -github.com/gorilla/mux 757bef9 -github.com/gorilla/rpc 22c016f -github.com/grpc-ecosystem/go-grpc-prometheus v1.1 -github.com/grpc-ecosystem/grpc-gateway/runtime 84398b94e188ee336f307779b57b3aa91af7063c -github.com/grpc-ecosystem/grpc-gateway/utilities 84398b94e188ee336f307779b57b3aa91af7063c -github.com/inconshreveable/mousetrap 76626ae -github.com/jmespath/go-jmespath 0.2.2-14-gbd40a43 -github.com/juju/ansiterm 35c59b9 -github.com/juju/errors 6f54ff6 -github.com/juju/gomaasapi 31d8415 -github.com/juju/loggo 3b7ece4 -github.com/juju/schema e4e0580 -github.com/juju/utils 8f0eda3 -github.com/juju/version 1f41e27 -github.com/lunixbochs/vtclean 4fbf763 -github.com/mattn/go-colorable d228849 -github.com/mattn/go-isatty 30a891c -github.com/matttproud/golang_protobuf_extensions v1.0.0 -github.com/nightlyone/lockfile 1d49c98 -github.com/opencontainers/runc v1.0.0-rc2-137-g43c4300 -github.com/pkg/errors v0.8.0-2-g248dadf -github.com/pmezard/go-difflib v1.0.0 -github.com/prometheus/client_golang/prometheus v0.8.0 -github.com/prometheus/client_model 6f38060 -github.com/prometheus/common 49fee29 -github.com/prometheus/procfs a1dba9c -github.com/satori/go.uuid v1.1.0 -github.com/spf13/afero 06b7e5f -github.com/spf13/cobra 6e91dde -github.com/spf13/pflag 5ccb023 -github.com/stretchr/testify v1.1.4-4-g976c720 -github.com/twmb/algoimpl 716f8e7 -github.com/vaughan0/go-ini a98ad7e -golang.org/x/crypto/pbkdf2 b07d8c9 -golang.org/x/net 0dd7c8d -golang.org/x/sys b699b70 -golang.org/x/text a263ba8 -google.golang.org/grpc v1.0.4 -google.golang.org/grpc/codes v1.0.4 -google.golang.org/grpc/credentials v1.0.4 -google.golang.org/grpc/grpclog v1.0.4 -google.golang.org/grpc/metadata v1.0.4 -gopkg.in/inconshreveable/log15.v2 v2.11 -gopkg.in/juju/names.v2 0847c26 -gopkg.in/mgo.v2/bson 3f83fa5 -gopkg.in/mgo.v2/internal 3f83fa5 -gopkg.in/tylerb/graceful.v1 v1.2.13 -gopkg.in/yaml.v2 a5b47d3 diff --git a/vendor/github.com/surma/gocpio/LICENSE b/vendor/github.com/surma/gocpio/LICENSE deleted file mode 100644 index 480219eff..000000000 --- a/vendor/github.com/surma/gocpio/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 Surma - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/surma/gocpio/README.md b/vendor/github.com/surma/gocpio/README.md deleted file mode 100644 index 6884f0c08..000000000 --- a/vendor/github.com/surma/gocpio/README.md +++ /dev/null @@ -1,11 +0,0 @@ -`gocpio` is a simple library similar to Go’s `tar` or `zip` package for -accessing cpio archives. It’s not pretty and only implements the new ASCII -format. Maybe I’ll refactor and implement other formats some day. - -Links ------ - -* [Reference](http://people.freebsd.org/~kientzle/libarchive/man/cpio.5.txt) - -------- -Version 1.1.0 \ No newline at end of file diff --git a/vendor/github.com/surma/gocpio/common.go b/vendor/github.com/surma/gocpio/common.go deleted file mode 100644 index 458bdf0fe..000000000 --- a/vendor/github.com/surma/gocpio/common.go +++ /dev/null @@ -1,46 +0,0 @@ -// Package cpio implements access to cpio archives. -// Implementation of the new ASCII formate (SVR4) defined here: -// http://people.freebsd.org/~kientzle/libarchive/man/cpio.5.txt -package cpio - -const ( - VERSION = "1.1.0" -) - -// Header represents file meta data in an archive. -// Some fields may not be populated. -type Header struct { - Mode int64 // permission and mode bits. - Uid int // user id of owner. - Gid int // group id of owner. - Mtime int64 // modified time; seconds since epoch. - Size int64 // length in bytes. - Devmajor int64 // major number of character or block device. - Devminor int64 // minor number of character or block device. - Type int64 - Name string // name of header file entry. -} - -func (h *Header) IsTrailer() bool { - return h.Name == trailer.Name && - h.Uid == trailer.Uid && - h.Gid == trailer.Gid && - h.Mtime == trailer.Mtime -} - -// File types -const ( - TYPE_SOCK = 014 - TYPE_SYMLINK = 012 - TYPE_REG = 010 - TYPE_BLK = 006 - TYPE_DIR = 004 - TYPE_CHAR = 002 - TYPE_FIFO = 001 -) - -var ( - trailer = Header{ - Name: "TRAILER!!!", - } -) diff --git a/vendor/github.com/surma/gocpio/reader.go b/vendor/github.com/surma/gocpio/reader.go deleted file mode 100644 index 253711a96..000000000 --- a/vendor/github.com/surma/gocpio/reader.go +++ /dev/null @@ -1,181 +0,0 @@ -package cpio - -import ( - "errors" - "io" - "strconv" -) - -type Reader struct { - r io.Reader - pos int64 - remaining_bytes int -} - -func NewReader(r io.Reader) *Reader { - return &Reader{ - r: r, - } -} - -func disassemble(mode int64) (fmode int64, ftype int64) { - fmode = mode & 0xFFF - ftype = (mode >> 12) & 0xF - return -} - -func getPrefix(buf *[]byte, len int) (pre []byte) { - pre, *buf = (*buf)[0:len], (*buf)[len:] - return -} - -func Btoi(s string, base int) (int, error) { - i, e := strconv.ParseInt(s, base, 64) - return int(i), e -} - -var ( - ErrInvalidHeader = errors.New("Did not find valid magic number") -) - -func parseHeader(buf []byte) (*Header, int64, error) { - magic := string(getPrefix(&buf, 6)) - raw_inode := getPrefix(&buf, 8) - raw_mode := getPrefix(&buf, 8) - raw_uid := getPrefix(&buf, 8) - raw_gid := getPrefix(&buf, 8) - raw_nlinks := getPrefix(&buf, 8) - raw_mtime := getPrefix(&buf, 8) - raw_size := getPrefix(&buf, 8) - raw_major := getPrefix(&buf, 8) - raw_minor := getPrefix(&buf, 8) - raw_devmajor := getPrefix(&buf, 8) - raw_devminor := getPrefix(&buf, 8) - raw_namelen := getPrefix(&buf, 8) - raw_check := getPrefix(&buf, 8) - - _, _, _, _, _ = raw_inode, raw_nlinks, raw_major, raw_minor, raw_check - - if magic != "070701" { - return nil, 0, ErrInvalidHeader - } - - hdr := &Header{} - - mode, e := strconv.ParseInt(string(raw_mode), 16, 64) - if e != nil { - return nil, 0, e - } - - hdr.Mode, hdr.Type = disassemble(mode) - - hdr.Uid, e = Btoi(string(raw_uid), 16) - if e != nil { - return nil, 0, e - } - - hdr.Gid, e = Btoi(string(raw_gid), 16) - if e != nil { - return nil, 0, e - } - - hdr.Mtime, e = strconv.ParseInt(string(raw_mtime), 16, 64) - if e != nil { - return nil, 0, e - } - - hdr.Size, e = strconv.ParseInt(string(raw_size), 16, 64) - if e != nil { - return nil, 0, e - } - - hdr.Devmajor, e = strconv.ParseInt(string(raw_devmajor), 16, 64) - if e != nil { - return nil, 0, e - } - - hdr.Devminor, e = strconv.ParseInt(string(raw_devminor), 16, 64) - if e != nil { - return nil, 0, e - } - - namelen, e := strconv.ParseInt(string(raw_namelen), 16, 64) - if e != nil { - return nil, 0, e - } - - return hdr, namelen, nil -} - -func (r *Reader) Next() (*Header, error) { - e := r.skipRest() - if e != nil { - return nil, e - } - e = r.skipPadding(4) - if e != nil { - return nil, e - } - - raw_hdr := make([]byte, 110) - _, e = r.countedRead(raw_hdr) - if e != nil { - return nil, e - } - - hdr, namelen, e := parseHeader(raw_hdr) - if e != nil { - return nil, e - } - - bname := make([]byte, namelen) - _, e = r.countedRead(bname) - if e != nil { - return nil, e - } - - hdr.Name = string(bname[0 : namelen-1]) //Exclude terminating zero - r.remaining_bytes = int(hdr.Size) - return hdr, r.skipPadding(4) -} - -func (r *Reader) skipRest() error { - buf := make([]byte, 1) - for ; r.remaining_bytes > 0; r.remaining_bytes-- { - _, e := r.countedRead(buf) - if e != nil { - return e - } - } - return nil -} - -// Skips to the next position which is a multiple of mod. -func (r *Reader) skipPadding(mod int64) error { - numBytesToRead := ((mod - (r.pos % mod)) % mod) - buf := make([]byte, numBytesToRead) - _, e := r.countedRead(buf) - return e -} - -func (r *Reader) Read(b []byte) (n int, e error) { - if r.remaining_bytes == 0 { - return 0, io.EOF - } - - if len(b) > r.remaining_bytes { - b = b[0:r.remaining_bytes] - } - n, e = r.countedRead(b) - r.remaining_bytes -= n - return -} - -func (r *Reader) countedRead(b []byte) (n int, e error) { - if len(b) == 0 { - return - } - n, e = r.r.Read(b) - r.pos += int64(n) - return -} diff --git a/vendor/github.com/surma/gocpio/writer.go b/vendor/github.com/surma/gocpio/writer.go deleted file mode 100644 index c5a33e84c..000000000 --- a/vendor/github.com/surma/gocpio/writer.go +++ /dev/null @@ -1,118 +0,0 @@ -package cpio - -import ( - "io" - "fmt" -) - -// A writer enables sequential writing of cpio archives. -// A call to WriteHeader begins a new file. Every call to -// write afterwards appends to that file, writing at most -// hdr.Size bytes in total. -type Writer struct { - w io.Writer - inode int64 - length int64 - remaining_bytes int -} - -func NewWriter(w io.Writer) *Writer { - return &Writer{ - w: w, - inode: 721, - } -} - -func assemble(mode, typev int64) int64 { - return mode&0xFFF | ((typev & 0xF) << 12) -} - -func (w *Writer) WriteHeader(hdr *Header) error { - // Bring last file to the defined length - e := w.zeros(int64(w.remaining_bytes)) - if e != nil { - return e - } - e = w.pad(4) - if e != nil { - return e - } - bname := []byte(hdr.Name) - nlinks := 1 - if hdr.Type == TYPE_DIR { - nlinks = 2 - } - shdr := fmt.Sprintf("%s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x", - "070701", - w.inode, - assemble(hdr.Mode, hdr.Type), - hdr.Uid, - hdr.Gid, - nlinks, - hdr.Mtime, - hdr.Size, - 3, // major - 1, // minor - hdr.Devmajor, - hdr.Devminor, - len(bname)+1, // +1 for terminating zero - 0) // check - _, e = w.countedWrite([]byte(shdr)) - if e != nil { - return e - } - - _, e = w.countedWrite(bname) - if e != nil { - return e - } - - _, e = w.countedWrite([]byte{0}) - if e != nil { - return e - } - w.inode++ - w.remaining_bytes = int(hdr.Size) - return w.pad(4) -} - -func (w *Writer) zeros(num int64) error { - for ; num > 0; num-- { - _, e := w.countedWrite([]byte{0}) - if e != nil { - return e - } - } - return nil -} - -// Brings the length of the file to a multiple of mod -func (w *Writer) pad(mod int64) error { - - return w.zeros((mod - (w.length % mod)) % mod) -} - -func (w *Writer) Write(b []byte) (n int, e error) { - if len(b) > w.remaining_bytes { - b = b[0:w.remaining_bytes] - } - n, e = w.countedWrite(b) - w.remaining_bytes -= n - return -} - -func (w *Writer) countedWrite(b []byte) (n int, e error) { - n, e = w.w.Write(b) - w.length += int64(n) - return n, e -} - -// Writes trailer -// Does not close underlying writer -func (w *Writer) Close() error { - e := w.WriteHeader(&trailer) - if e != nil { - return e - } - return w.pad(512) -}