diff --git a/Gopkg.lock b/Gopkg.lock index a118c53c9..0df27697a 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -2,98 +2,127 @@ [[projects]] + digest = "1:4d6f036ea3fe636bcb2e89850bcdc62a771354e157cd51b8b22a2de8562bf663" name = "cloud.google.com/go" packages = ["compute/metadata"] + pruneopts = "NUT" revision = "f52f9bc132541d2aa914f42100c36d10b1ef7e0c" version = "v0.37.0" [[projects]] + digest = "1:26b14a6dc72ace253599e969997d5ecf2143c63833c015179786bc756c76eaa4" name = "github.com/Microsoft/go-winio" packages = ["."] + pruneopts = "NUT" revision = "1a8911d1ed007260465c3bfbbc785ac6915a0bb8" version = "v0.4.12" [[projects]] + digest = "1:0a111edd8693fd977f42a0c4f199a0efb13c20aec9da99ad8830c7bb6a87e8d6" name = "github.com/PuerkitoBio/purell" packages = ["."] + pruneopts = "NUT" revision = "44968752391892e1b0d0b821ee79e9a85fa13049" version = "v1.1.1" [[projects]] branch = "master" + digest = "1:8098cd40cd09879efbf12e33bcd51ead4a66006ac802cd563a66c4f3373b9727" name = "github.com/PuerkitoBio/urlesc" packages = ["."] + pruneopts = "NUT" revision = "de5bf2ad457846296e2031421a34e2568e304e35" [[projects]] + digest = "1:bb9033d47c116ea3b981ff159bdef73df8351b0b9700da2066339b97211b1bf0" name = "github.com/Sirupsen/logrus" packages = ["."] + pruneopts = "NUT" revision = "dae0fa8d5b0c810a8ab733fbd5510c7cae84eca4" version = "v1.4.0" [[projects]] branch = "master" + digest = "1:1e31f7a894b511019f6d5ce4a9462cb60151440645bb25dd48b5940ff2bbbdf1" name = "github.com/aead/chacha20" packages = [ ".", - "chacha" + "chacha", ] + pruneopts = "NUT" revision = "8b13a72661dae6e9e5dea04f344f0dc95ea29547" [[projects]] + digest = "1:680b63a131506e668818d630d3ca36123ff290afa0afc9f4be21940adca3f27d" name = "github.com/appscode/jsonpatch" packages = ["."] + pruneopts = "NUT" revision = "7c0e3b262f30165a8ec3d0b4c6059fd92703bfb2" version = "1.0.0" [[projects]] branch = "master" + digest = "1:707ebe952a8b3d00b343c01536c79c73771d100f63ec6babeaed5c79e2b8a8dd" name = "github.com/beorn7/perks" packages = ["quantile"] + pruneopts = "NUT" revision = "3a771d992973f24aa725d07868b467d1ddfceafb" [[projects]] + digest = "1:4d43362859489b0672b9a1544d5ae02231202a43172c7eda7a55d44799f97f53" name = "github.com/bifurcation/mint" packages = [ ".", - "syntax" + "syntax", ] + pruneopts = "NUT" revision = "824af65410658916142a7600349144e1289f2110" [[projects]] + digest = "1:cdee563173093e5ae7ab2a19c298e0904129719e1919a3c532b7bb0c3398b818" name = "github.com/cenkalti/backoff" packages = ["."] + pruneopts = "NUT" revision = "1e4cf3da559842a91afcb6ea6141451e6c30c618" version = "v2.1.1" [[projects]] + digest = "1:f438d91be142877c3ad83157992c91de787ddfbddcc2a7da1ef6ef61606cadc4" name = "github.com/cheekybits/genny" packages = ["generic"] + pruneopts = "NUT" revision = "d2cf3cdd35ce0d789056c4bc02a4d6349c947caf" version = "v1.0.0" [[projects]] + digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec" name = "github.com/davecgh/go-spew" packages = ["spew"] + pruneopts = "NUT" revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" version = "v1.1.1" [[projects]] + digest = "1:7a6852b35eb5bbc184561443762d225116ae630c26a7c4d90546619f1e7d2ad2" name = "github.com/dgrijalva/jwt-go" packages = ["."] + pruneopts = "NUT" revision = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e" version = "v3.2.0" [[projects]] branch = "master" + digest = "1:5b5643142a4d48d55f7a2ad09da4565be2b0ecc554c903a25d18b18159d39b9f" name = "github.com/docker/distribution" packages = [ "digestset", - "reference" + "reference", ] + pruneopts = "NUT" revision = "6d62eb1d4a3515399431b713fde3ce5a9b40e8d5" [[projects]] + digest = "1:addad6aa992efe1cd74f5bec0b069a68b35db1da8b042581002215d59b3ac54d" name = "github.com/docker/docker" packages = [ "api", @@ -115,109 +144,141 @@ "pkg/ioutils", "pkg/longpath", "pkg/system", - "pkg/tlsconfig" + "pkg/tlsconfig", ] + pruneopts = "NUT" revision = "90d35abf7b3535c1c319c872900fbd76374e521c" version = "v17.05.0-ce-rc3" [[projects]] branch = "master" + digest = "1:0c6d0df813996e4b7bfd40eb2f0671755159576e0b38263babeef1ee7bbfe4d0" name = "github.com/docker/go-connections" packages = [ "nat", "sockets", - "tlsconfig" + "tlsconfig", ] + pruneopts = "NUT" revision = "97c2040d34dfae1d1b1275fa3a78dbdd2f41cf7e" [[projects]] + digest = "1:4340101f42556a9cb2f7a360a0e95a019bfef6247d92e6c4c46f2433cf86a482" name = "github.com/docker/go-units" packages = ["."] + pruneopts = "NUT" revision = "47565b4f722fb6ceae66b95f853feed578a4a51c" version = "v0.3.3" [[projects]] branch = "master" + digest = "1:ce43438a8204a4259b4461153a392bc3e504bef7e4785a8192344f002c7bd935" name = "github.com/docker/libtrust" packages = ["."] + pruneopts = "NUT" revision = "aabc10ec26b754e797f9028f4589c5b7bd90dc20" [[projects]] + digest = "1:b7ffca49e9cfd3dfb04a8e0a59347708c6f78f68476a32c5e0a0edca5d1b258c" name = "github.com/dustin/go-humanize" packages = ["."] + pruneopts = "NUT" revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e" version = "v1.0.0" [[projects]] + digest = "1:3267a1e17bf240decf62c364e861d79e68b52b5804d63b510b0baed70b9a6aee" name = "github.com/emicklei/go-restful" packages = [ ".", - "log" + "log", ] + pruneopts = "NUT" revision = "85d198d05a92d31823b852b4a5928114912e8949" version = "v2.9.0" [[projects]] + digest = "1:70e2ebe3622a59b59cb111fd547fcb62d6abe0fdeb268325e98cb369789ef8c6" name = "github.com/emicklei/go-restful-openapi" packages = ["."] + pruneopts = "NUT" revision = "b7062368c258c9e8f8cbe9dd2e6aebfa1b747be6" version = "v1.0.0" [[projects]] branch = "master" + digest = "1:1ccd7321e62f680a988bba496f0f5a9c80410b8104d55b0f6b8ecf84ad328476" name = "github.com/flynn/go-shlex" packages = ["."] + pruneopts = "NUT" revision = "3f9db97f856818214da2e1057f8ad84803971cff" [[projects]] + digest = "1:81466b4218bf6adddac2572a30ac733a9255919bc2f470b4827a317bd4ee1756" name = "github.com/ghodss/yaml" packages = ["."] + pruneopts = "NUT" revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7" version = "v1.0.0" [[projects]] + digest = "1:b5df43d8cd265a39f9d375d76ad00b53d6ec8ff8074f598eb173e4939a196a3c" name = "github.com/go-ldap/ldap" packages = ["."] + pruneopts = "NUT" revision = "729c20c2694d870bcd631f0dadaecd088bd7ccbc" version = "v3.0.2" [[projects]] + digest = "1:53becd66889185091b58ea3fc49294996f2179fb05a89702f4de7d15e581b509" name = "github.com/go-logr/logr" packages = ["."] + pruneopts = "NUT" revision = "9fb12b3b21c5415d16ac18dc5cd42c1cfdd40c4e" version = "v0.1.0" [[projects]] + digest = "1:340497a512995aa69c0add901d79a2096b3449d35a44a6f1f1115091a9f8c687" name = "github.com/go-logr/zapr" packages = ["."] + pruneopts = "NUT" revision = "03f06a783fbb7dfaf3f629c7825480e43a7105e6" version = "v0.1.1" [[projects]] + digest = "1:260f7ebefc63024c8dfe2c9f1a2935a89fa4213637a1f522f592f80c001cc441" name = "github.com/go-openapi/jsonpointer" packages = ["."] + pruneopts = "NUT" revision = "ef5f0afec364d3b9396b7b77b43dbe26bf1f8004" version = "v0.18.0" [[projects]] + digest = "1:98abd61947ff5c7c6fcfec5473d02a4821ed3a2dd99a4fbfdb7925b0dd745546" name = "github.com/go-openapi/jsonreference" packages = ["."] + pruneopts = "NUT" revision = "8483a886a90412cd6858df4ea3483dce9c8e35a3" version = "v0.18.0" [[projects]] + digest = "1:4da4ea0a664ba528965683d350f602d0f11464e6bb2e17aad0914723bc25d163" name = "github.com/go-openapi/spec" packages = ["."] + pruneopts = "NUT" revision = "5b6cdde3200976e3ecceb2868706ee39b6aff3e4" version = "v0.18.0" [[projects]] + digest = "1:dc0f590770e5a6c70ea086232324f7b7dc4857c60eca63ab8ff78e0a5cfcdbf3" name = "github.com/go-openapi/swag" packages = ["."] + pruneopts = "NUT" revision = "1d29f06aebd59ccdf11ae04aa0334ded96e2d909" version = "v0.18.0" [[projects]] + digest = "1:589fc282fd63dd84be3c91d87feaaa67a969612ba1ca33b911755fd95f460358" name = "github.com/go-redis/redis" packages = [ ".", @@ -226,181 +287,231 @@ "internal/hashtag", "internal/pool", "internal/proto", - "internal/util" + "internal/util", ] + pruneopts = "NUT" revision = "d22fde8721cc915a55aeb6b00944a76a92bfeb6e" version = "v6.15.2" [[projects]] + digest = "1:13e9a236e56e18fecb73f5b2f2eb7f60060a1a9bc27e5a7328ab22e275ecb63e" name = "github.com/go-sql-driver/mysql" packages = ["."] + pruneopts = "NUT" revision = "72cd26f257d44c1114970e19afddcd812016007e" version = "v1.4.1" [[projects]] + digest = "1:9059915429f7f3a5f18cfa6b7cab9a28721d7ac6db4079a62044aa229eb7f2a8" name = "github.com/gobuffalo/envy" packages = ["."] + pruneopts = "NUT" revision = "fa0dfdc10b5366ce365b7d9d1755a03e4e797bc5" version = "v1.6.15" [[projects]] + digest = "1:f1631663db3b95aec6a1610560b33ede5e70011b0e8cad87b110016a6fbfc2db" name = "github.com/gogo/protobuf" packages = [ "proto", - "sortkeys" + "sortkeys", ] + pruneopts = "NUT" revision = "ba06b47c162d49f2af050fb4c75bcbc86a159d5c" version = "v1.2.1" [[projects]] branch = "master" + digest = "1:e2b86e41f3d669fc36b50d31d32d22c8ac656c75aa5ea89717ce7177e134ff2a" name = "github.com/golang/glog" packages = ["."] + pruneopts = "NUT" revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998" [[projects]] branch = "master" + digest = "1:b7cb6054d3dff43b38ad2e92492f220f57ae6087ee797dca298139776749ace8" name = "github.com/golang/groupcache" packages = ["lru"] + pruneopts = "NUT" revision = "5b532d6fd5efaf7fa130d4e859a2fde0fc3a9e1b" [[projects]] + digest = "1:a8b59d8995b50db3b206d9160817e00aace183e456cb60abf5157de16d12e3c9" name = "github.com/golang/protobuf" packages = [ "proto", "ptypes", "ptypes/any", "ptypes/duration", - "ptypes/timestamp" + "ptypes/timestamp", ] + pruneopts = "NUT" revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30" version = "v1.3.1" [[projects]] branch = "master" + digest = "1:05f95ffdfcf651bdb0f05b40b69e7f5663047f8da75c72d58728acb59b5cc107" name = "github.com/google/btree" packages = ["."] + pruneopts = "NUT" revision = "4030bb1f1f0c35b30ca7009e9ebd06849dd45306" [[projects]] branch = "master" + digest = "1:52c5834e2bebac9030c97cc0798ac11c3aa8a39f098aeb419f142533da6cd3cc" name = "github.com/google/gofuzz" packages = ["."] + pruneopts = "NUT" revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1" [[projects]] + digest = "1:ab3ec1fe3e39bac4b3ab63390767766622be35b7cab03f47f787f9ec60522a53" name = "github.com/google/uuid" packages = ["."] + pruneopts = "NUT" revision = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4" version = "v1.1.1" [[projects]] + digest = "1:add738701bd5b2b985c0c37011092c57218bdc46caf1e682a73dc210ad36b03f" name = "github.com/googleapis/gnostic" packages = [ "OpenAPIv2", "compiler", - "extensions" + "extensions", ] + pruneopts = "NUT" revision = "7c663266750e7d82587642f65e60bc4083f1f84e" version = "v0.2.0" [[projects]] + digest = "1:f9c7b395f10bd6d881b1f2d71715906b4481a04e46870cdd2647d50caa3358c2" name = "github.com/gorilla/mux" packages = ["."] + pruneopts = "NUT" revision = "a7962380ca08b5a188038c69871b8d3fbdf31e89" version = "v1.7.0" [[projects]] + digest = "1:4a0c072e44da763409da72d41492373a034baf2e6d849c76d239b4abdfbb6c49" name = "github.com/gorilla/websocket" packages = ["."] + pruneopts = "NUT" revision = "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d" version = "v1.4.0" [[projects]] branch = "master" + digest = "1:790debb569e0ca4a39c168cae515a5f6b353229ca351c0b4208ef6964934aaed" name = "github.com/gregjones/httpcache" packages = [ ".", - "diskcache" + "diskcache", ] + pruneopts = "NUT" revision = "3befbb6ad0cc97d4c25d851e9528915809e1a22f" [[projects]] + digest = "1:f499d582d00ecc9744962e23ef8f271cb85e0d63014a99527b0ed66b618a24f0" name = "github.com/hashicorp/go-syslog" packages = ["."] + pruneopts = "NUT" revision = "8d1874e3e8d1862b74e0536851e218c4571066a5" version = "v1.0.0" [[projects]] + digest = "1:c7d9de42b661ba85788f5f631cbac165795a2ff7dc1c59a4241d6228b129c3e4" name = "github.com/hashicorp/go-version" packages = ["."] + pruneopts = "NUT" revision = "d40cf49b3a77bba84a7afdbd7f1dc295d114efb1" version = "v1.1.0" [[projects]] + digest = "1:52094d0f8bdf831d1a2401e9b6fee5795fdc0b2a2d1f8bb1980834c289e79129" name = "github.com/hashicorp/golang-lru" packages = [ ".", - "simplelru" + "simplelru", ] + pruneopts = "NUT" revision = "7087cb70de9f7a8bc0a10c375cb0d2280a8edf9c" version = "v0.5.1" [[projects]] + digest = "1:e4d4b786065b1879481dcfa5da9886f40fde00d6ab7dadea53d6d7dc943c4792" name = "github.com/hpcloud/tail" packages = [ ".", "ratelimiter", "util", "watch", - "winfile" + "winfile", ] + pruneopts = "NUT" revision = "a30252cb686a21eb2d0b98132633053ec2f7f1e5" version = "v1.0.0" [[projects]] + digest = "1:aaa38889f11896ee3644d77e17dc7764cc47f5f3d3b488268df2af2b52541c5f" name = "github.com/imdario/mergo" packages = ["."] + pruneopts = "NUT" revision = "7c29201646fa3de8506f701213473dd407f19646" version = "v0.3.7" [[projects]] + digest = "1:406338ad39ab2e37b7f4452906442a3dbf0eb3379dd1f06aafb5c07e769a5fbb" name = "github.com/inconshreveable/mousetrap" packages = ["."] + pruneopts = "NUT" revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" version = "v1.0" [[projects]] branch = "master" + digest = "1:4e4b686999d470502871c6df51c47a5413edd50a667b09c63391542cf7bf83e8" name = "github.com/jimstudt/http-authentication" packages = ["basic"] + pruneopts = "NUT" revision = "3eca13d6893afd7ecabe15f4445f5d2872a1b012" [[projects]] + digest = "1:2ddfc1382a659966038282873c9e33e7694fa503130d445e97c4fdc3b8c5db66" name = "github.com/jinzhu/gorm" packages = ["."] + pruneopts = "NUT" revision = "472c70caa40267cb89fd8facb07fe6454b578626" version = "v1.9.2" [[projects]] branch = "master" + digest = "1:802f75230c29108e787d40679f9bf5da1a5673eaf5c10eb89afd993e18972909" name = "github.com/jinzhu/inflection" packages = ["."] + pruneopts = "NUT" revision = "04140366298a54a039076d798123ffa108fff46c" [[projects]] + digest = "1:da62aa6632d04e080b8a8b85a59ed9ed1550842a0099a55f3ae3a20d02a3745a" name = "github.com/joho/godotenv" packages = ["."] + pruneopts = "NUT" revision = "23d116af351c84513e1946b527c88823e476be13" version = "v1.3.0" [[projects]] + digest = "1:4e903242fe176238aaa469f59d7035f5abf2aa9acfefb8964ddd203651b574e9" name = "github.com/json-iterator/go" packages = ["."] + pruneopts = "NUT" revision = "0ff49de124c6f76f8494e194af75bde0f1a49a29" version = "v1.1.6" [[projects]] + digest = "1:8c4c4f442d26906bec1ece789e0510db50653e04995ab31242ee89cf427e07d2" name = "github.com/kiali/kiali" packages = [ "business", @@ -423,51 +534,81 @@ "prometheus/internalmetrics", "status", "util", - "util/intutil" + "util/intutil", ] + pruneopts = "NUT" revision = "4e0f3eff11a4ab3a743328cac78c9fe9be36498c" version = "v0.15.0" [[projects]] + digest = "1:f44ca3e400a23dc9cf76a09d71891da95193c0c7da2008205f8f20154f49b22d" name = "github.com/klauspost/cpuid" packages = ["."] + pruneopts = "NUT" revision = "e7e905edc00ea8827e58662220139109efea09db" version = "v1.2.0" [[projects]] branch = "master" + digest = "1:c5ef63322e47aaf183978f09b6382f8e3d0db2ad92cf2f7d918dd0082efaffee" name = "github.com/knative/pkg" packages = [ "apis/istio", "apis/istio/common/v1alpha1", - "apis/istio/v1alpha3" + "apis/istio/v1alpha3", ] + pruneopts = "NUT" revision = "cd278f2d3394c865fda66bca12459e879e0279b8" [[projects]] + digest = "1:58999a98719fddbac6303cb17e8d85b945f60b72f48e3a2df6b950b97fa926f1" name = "github.com/konsorten/go-windows-terminal-sequences" packages = ["."] + pruneopts = "NUT" revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e" version = "v1.0.2" [[projects]] branch = "master" + digest = "1:78cf6bdecb0014413eeafe6cc8b9ffda3c8510c7f252cab6cb4e4cd26bee9609" name = "github.com/kubernetes-sigs/application" packages = [ "pkg/component", "pkg/customresource", "pkg/finalizer", - "pkg/resource" + "pkg/resource", ] + pruneopts = "NUT" revision = "4ead7f1b87048b7717b3e474a21fdc07e6bce636" +[[projects]] + digest = "1:917d2500b71bdd4be2a28fa5fb45eb1a8a3e07184b5f7faf90f8fb3edaef2b62" + name = "github.com/kubesphere/s2ioperator" + packages = [ + "pkg/apis/devops/v1alpha1", + "pkg/client/clientset/versioned", + "pkg/client/clientset/versioned/scheme", + "pkg/client/clientset/versioned/typed/devops/v1alpha1", + "pkg/client/informers/externalversions", + "pkg/client/informers/externalversions/devops", + "pkg/client/informers/externalversions/devops/v1alpha1", + "pkg/client/informers/externalversions/internalinterfaces", + "pkg/client/listers/devops/v1alpha1", + ] + pruneopts = "NUT" + revision = "cb9f6d6145324977e5904ded95de7bfca7a01151" + version = "v0.0.4" + [[projects]] branch = "master" + digest = "1:2d137c17dacc803b85c06b7a0cc9e9a1d68e3104e567caf27fea2fb067ef424e" name = "github.com/lucas-clemente/aes12" packages = ["."] + pruneopts = "NUT" revision = "cd47fb39b79f867c6e4e5cd39cf7abd799f71670" [[projects]] + digest = "1:3a12648ef8bab4b7310adf715fe4d74fc1d52eb81f1df6e9fcb168770ffdbd6e" name = "github.com/lucas-clemente/quic-go" packages = [ ".", @@ -480,40 +621,50 @@ "internal/protocol", "internal/utils", "internal/wire", - "qerr" + "qerr", ] + pruneopts = "NUT" revision = "714f38d5d0aff85894fd890718b991e361f03e7d" version = "v0.10.1" [[projects]] branch = "master" + digest = "1:b0074de3abb351adbc353b4f621359949d3cfd4a02847b2074fbc7047c3d0113" name = "github.com/lucas-clemente/quic-go-certificates" packages = ["."] + pruneopts = "NUT" revision = "d2f86524cced5186554df90d92529757d22c1cb6" [[projects]] branch = "master" + digest = "1:0b14bf0c424137a702e793fe3570f41320cc3b8495d124e279a4c362c57f214b" name = "github.com/mailru/easyjson" packages = [ "buffer", "jlexer", - "jwriter" + "jwriter", ] + pruneopts = "NUT" revision = "1de009706dbeb9d05f18586f0735fcdb7c524481" [[projects]] + digest = "1:56dbf15e091bf7926cb33a57cb6bdfc658fc6d3498d2f76f10a97ce7856f1fde" name = "github.com/markbates/inflect" packages = ["."] + pruneopts = "NUT" revision = "24b83195037b3bc61fcda2d28b7b0518bce293b6" version = "v1.0.4" [[projects]] + digest = "1:5985ef4caf91ece5d54817c11ea25f182697534f8ae6521eadcd628c142ac4b6" name = "github.com/matttproud/golang_protobuf_extensions" packages = ["pbutil"] + pruneopts = "NUT" revision = "c12348ce28de40eed0136aa2b644d0ee0650e56c" version = "v1.0.1" [[projects]] + digest = "1:0a36dc212d1b91a38b435accb11764fe6506c503cc6b75a014b4fd0bd9db44df" name = "github.com/mholt/caddy" packages = [ ".", @@ -553,57 +704,73 @@ "caddytls", "onevent", "onevent/hook", - "telemetry" + "telemetry", ] + pruneopts = "NUT" revision = "80dfb8b2a7f89b120a627bc4d866a1dc5ed3d92f" version = "v0.11.5" [[projects]] branch = "master" + digest = "1:bd070c3513a00c87f32654c774c559283598fecd19db97360c8876fff8ff620b" name = "github.com/mholt/certmagic" packages = ["."] + pruneopts = "NUT" revision = "e3e89d1096d76d61680f8eeb8f67649baa6c54b8" [[projects]] + digest = "1:e68c51f73a9fa89a6cfbd25f24543b37f96a7ac142dcf4e2adcadad6fec230e3" name = "github.com/miekg/dns" packages = ["."] + pruneopts = "NUT" revision = "cc8cd02140663157ce797c6650488d6c8563f31f" version = "v1.1.6" [[projects]] + digest = "1:f9f72e583aaacf1d1ac5d6121abd4afd3c690baa9e14e1d009df26bf831ba347" name = "github.com/mitchellh/go-homedir" packages = ["."] + pruneopts = "NUT" revision = "af06845cf3004701891bf4fdb884bfe4920b3727" version = "v1.1.0" [[projects]] + digest = "1:2f42fa12d6911c7b7659738758631bec870b7e9b4c6be5444f963cdcfccc191f" name = "github.com/modern-go/concurrent" packages = ["."] + pruneopts = "NUT" revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94" version = "1.0.3" [[projects]] + digest = "1:c6aca19413b13dc59c220ad7430329e2ec454cc310bc6d8de2c7e2b93c18a0f6" name = "github.com/modern-go/reflect2" packages = ["."] + pruneopts = "NUT" revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd" version = "1.0.1" [[projects]] + digest = "1:93bfc0a09815fa2b1269c4e065e2591a9eac2c93bc78ccd6f73612ecb4bad1e7" name = "github.com/naoina/go-stringutil" packages = ["."] + pruneopts = "NUT" revision = "6b638e95a32d0c1131db0e7fe83775cbea4a0d0b" version = "v0.1.0" [[projects]] + digest = "1:9cd0478666845c9fb37ce8458c8b455d73c0a74d1e4c7603be298d9e28df83a1" name = "github.com/naoina/toml" packages = [ ".", - "ast" + "ast", ] + pruneopts = "NUT" revision = "e6f5723bf2a66af014955e0888881314cf294129" version = "v0.1.1" [[projects]] + digest = "1:a84acfd5bc2d90ec8d9e0c2f2728aa8f2a33512f1247a099be4330ef9b926094" name = "github.com/onsi/ginkgo" packages = [ ".", @@ -623,12 +790,14 @@ "reporters/stenographer", "reporters/stenographer/support/go-colorable", "reporters/stenographer/support/go-isatty", - "types" + "types", ] + pruneopts = "NUT" revision = "eea6ad008b96acdaa524f5b409513bf062b500ad" version = "v1.8.0" [[projects]] + digest = "1:ad29fb22a545681b5b5d0e07bc9fe20cbdaf3f954ffcad361017f3e34ac6b4ce" name = "github.com/onsi/gomega" packages = [ ".", @@ -644,149 +813,187 @@ "matchers/support/goraph/edge", "matchers/support/goraph/node", "matchers/support/goraph/util", - "types" + "types", ] + pruneopts = "NUT" revision = "90e289841c1ed79b7a598a7cd9959750cb5e89e2" version = "v1.5.0" [[projects]] + digest = "1:e0cc8395ea893c898ff5eb0850f4d9851c1f57c78c232304a026379a47a552d0" name = "github.com/opencontainers/go-digest" packages = ["."] + pruneopts = "NUT" revision = "279bed98673dd5bef374d3b6e4b09e2af76183bf" version = "v1.0.0-rc1" [[projects]] + digest = "1:290add25d7ce226bce0d6880f38c4fbb7129346827a71f37293143cf9dade289" name = "github.com/openshift/api" packages = [ "apps/v1", - "project/v1" + "project/v1", ] + pruneopts = "NUT" revision = "0d921e363e951d89f583292c60d013c318df64dc" version = "v3.9.0" [[projects]] + digest = "1:93b1d84c5fa6d1ea52f4114c37714cddd84d5b78f151b62bb101128dd51399bf" name = "github.com/pborman/uuid" packages = ["."] + pruneopts = "NUT" revision = "adf5a7427709b9deb95d29d3fa8a2bf9cfd388f1" version = "v1.2" [[projects]] branch = "master" + digest = "1:3bf17a6e6eaa6ad24152148a631d18662f7212e21637c2699bff3369b7f00fa2" name = "github.com/petar/GoLLRB" packages = ["llrb"] + pruneopts = "NUT" revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4" [[projects]] + digest = "1:6c6d91dc326ed6778783cff869c49fb2f61303cdd2ebbcf90abe53505793f3b6" name = "github.com/peterbourgon/diskv" packages = ["."] + pruneopts = "NUT" revision = "5f041e8faa004a95c88a202771f4cc3e991971e6" version = "v2.0.1" [[projects]] + digest = "1:14715f705ff5dfe0ffd6571d7d201dd8e921030f8070321a79380d8ca4ec1a24" name = "github.com/pkg/errors" packages = ["."] + pruneopts = "NUT" revision = "ba968bfe8b2f7e042a574c888954fccecfa385b4" version = "v0.8.1" [[projects]] + digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe" name = "github.com/pmezard/go-difflib" packages = ["difflib"] + pruneopts = "NUT" revision = "792786c7400a136282c1664665ae0a8db921c6c2" version = "v1.0.0" [[projects]] + digest = "1:a6b0f01bc76800f17cb666c82e1dde9f219fa35cd6989a351a9f0ef8a5a7cbd6" name = "github.com/prometheus/client_golang" packages = [ "api", "api/prometheus/v1", "prometheus", "prometheus/internal", - "prometheus/promhttp" + "prometheus/promhttp", ] + pruneopts = "NUT" revision = "505eaef017263e299324067d40ca2c48f6a2cf50" version = "v0.9.2" [[projects]] branch = "master" + digest = "1:0f37e09b3e92aaeda5991581311f8dbf38944b36a3edec61cc2d1991f527554a" name = "github.com/prometheus/client_model" packages = ["go"] + pruneopts = "NUT" revision = "fd36f4220a901265f90734c3183c5f0c91daa0b8" [[projects]] + digest = "1:718e954e70b5f876b6bf756173ddc35603be265423e8d80661b1882cb1bd9a91" name = "github.com/prometheus/common" packages = [ "expfmt", "internal/bitbucket.org/ww/goautoneg", - "model" + "model", ] + pruneopts = "NUT" revision = "cfeb6f9992ffa54aaa4f2170ade4067ee478b250" version = "v0.2.0" [[projects]] branch = "master" + digest = "1:2aa721eb10a93c6216e8b864b42e78c20f787aa5b11010f8cfba5f7a8891f13f" name = "github.com/prometheus/procfs" packages = [ ".", "internal/util", "iostats", "nfs", - "xfs" + "xfs", ] + pruneopts = "NUT" revision = "e56f2e22fc761e82a34aca553f6725e2aff4fe6c" [[projects]] + digest = "1:9e5d599747d9210d7dee1d10efe147f344f99f9521bb3c6d557ab65f4c2cf4ef" name = "github.com/rogpeppe/go-internal" packages = [ "modfile", "module", - "semver" + "semver", ] + pruneopts = "NUT" revision = "1cf9852c553c5b7da2d5a4a091129a7822fed0c9" version = "v1.2.2" [[projects]] + digest = "1:d9afa09f6a45f68ec50047f8187c9d273b1fbf507858a104064bb6d9eb2e2795" name = "github.com/russross/blackfriday" packages = ["."] + pruneopts = "NUT" revision = "05f3235734ad95d0016f6a23902f06461fcf567a" version = "v1.5.2" [[projects]] + digest = "1:d0af1fc7035b6d64dfbe4af440d8c70e593ea44e60284d98b74787db004a7452" name = "github.com/spf13/afero" packages = [ ".", - "mem" + "mem", ] + pruneopts = "NUT" revision = "f4711e4db9e9a1d3887343acb72b2bbfc2f686f5" version = "v1.2.1" [[projects]] + digest = "1:2c3b60fc961b7ddca4336bb7bb39146cb73ea2ad73d4afc6b4ffea05571e712a" name = "github.com/spf13/cobra" packages = ["."] + pruneopts = "NUT" revision = "ef82de70bb3f60c65fb8eebacbb2d122ef517385" version = "v0.0.3" [[projects]] + digest = "1:9d8420bbf131d1618bde6530af37c3799340d3762cc47210c1d9532a4c3a2779" name = "github.com/spf13/pflag" packages = ["."] + pruneopts = "NUT" revision = "298182f68c66c05229eb03ac171abe6e309ee79a" version = "v1.0.3" [[projects]] + digest = "1:60a46e2410edbf02b419f833372dd1d24d7aa1b916a990a7370e792fada1eadd" name = "github.com/stretchr/objx" packages = ["."] + pruneopts = "NUT" revision = "477a77ecc69700c7cdeb1fa9e129548e1c1c393c" version = "v0.1.1" [[projects]] + digest = "1:5f1187480cbc19150e63c774ed8007e7e64c1cb919a5e9ff7b0a0e5e1900775e" name = "github.com/stretchr/testify" packages = [ "assert", - "mock" + "mock", ] + pruneopts = "NUT" revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053" version = "v1.3.0" [[projects]] + digest = "1:6ae48b637ad9c325f1eeb116f1780cc310fe93d524bc8a2eb78a350f21a35dff" name = "github.com/xenolf/lego" packages = [ "acme", @@ -804,24 +1011,30 @@ "lego", "log", "platform/wait", - "registration" + "registration", ] + pruneopts = "NUT" revision = "2952cdaebd4da7cd560e195343bdd3cb78a67643" version = "v2.3.0" [[projects]] + digest = "1:22f696cee54865fb8e9ff91df7b633f6b8f22037a8015253c6b6a71ca82219c7" name = "go.uber.org/atomic" packages = ["."] + pruneopts = "NUT" revision = "1ea20fb1cbb1cc08cbd0d913a96dead89aa18289" version = "v1.3.2" [[projects]] + digest = "1:58ca93bdf81bac106ded02226b5395a0595d5346cdc4caa8d9c1f3a5f8f9976e" name = "go.uber.org/multierr" packages = ["."] + pruneopts = "NUT" revision = "3c4937480c32f4c13a875a1829af76c98ca3d40a" version = "v1.1.0" [[projects]] + digest = "1:244145848a183fe658a95c682d379142595c79733d854a7d4076fa72fb1b9eb8" name = "go.uber.org/zap" packages = [ ".", @@ -829,13 +1042,15 @@ "internal/bufferpool", "internal/color", "internal/exit", - "zapcore" + "zapcore", ] + pruneopts = "NUT" revision = "ff33455a0e382e8a81d14dd7c922020b6b5e7982" version = "v1.9.1" [[projects]] branch = "master" + digest = "1:c7b6921d7671083242df0454b03ead5849175f650b15d31097c2af3ec2b9f34c" name = "golang.org/x/crypto" packages = [ "curve25519", @@ -844,12 +1059,14 @@ "hkdf", "ocsp", "pbkdf2", - "ssh/terminal" + "ssh/terminal", ] + pruneopts = "NUT" revision = "a1f597ede03a7bef967a422b5b3a5bd08805a01e" [[projects]] branch = "master" + digest = "1:4ef584461a8ab7d5e5883daca745b525450fe886a6839e583fbe24b65af527f1" name = "golang.org/x/net" packages = [ "bpf", @@ -867,33 +1084,39 @@ "internal/socks", "ipv4", "ipv6", - "proxy" + "proxy", ] + pruneopts = "NUT" revision = "9f648a60d9775ef5c977e7669d1673a7a67bef33" [[projects]] branch = "master" + digest = "1:cd20b2392f53dd5a6b3aff0ac551d02fae60274c673bf2b885e9a3ddadff5c4f" name = "golang.org/x/oauth2" packages = [ ".", "google", "internal", "jws", - "jwt" + "jwt", ] + pruneopts = "NUT" revision = "e64efc72b421e893cbf63f17ba2221e7d6d0b0f3" [[projects]] branch = "master" + digest = "1:a243573e9643276548ac3219e2243ccb7b3abce72d3fe442170a0dbf64a997a2" name = "golang.org/x/sys" packages = [ "cpu", "unix", - "windows" + "windows", ] + pruneopts = "NUT" revision = "fead79001313d15903fb4605b4a1b781532cd93e" [[projects]] + digest = "1:0ebfea43f83a5127e01acb49438dffeb32416312c3b73fa87c7fa6e39f7e03bc" name = "golang.org/x/text" packages = [ "collate", @@ -922,19 +1145,23 @@ "unicode/cldr", "unicode/norm", "unicode/rangetable", - "width" + "width", ] + pruneopts = "NUT" revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" version = "v0.3.0" [[projects]] branch = "master" + digest = "1:9fdc2b55e8e0fafe4b41884091e51e77344f7dc511c5acedcfd98200003bff90" name = "golang.org/x/time" packages = ["rate"] + pruneopts = "NUT" revision = "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef" [[projects]] branch = "master" + digest = "1:bfe8b9dd25f69b3d6d87c7f1b6c9e0d5f09e89f2470b21f299e875fb97a8c051" name = "golang.org/x/tools" packages = [ "container/intsets", @@ -949,11 +1176,13 @@ "internal/fastwalk", "internal/gopathwalk", "internal/module", - "internal/semver" + "internal/semver", ] + pruneopts = "NUT" revision = "8b67d361bba210f5fbb3c1a0fc121e0847b10b57" [[projects]] + digest = "1:faa5e95fa65f513292bea81c0baa5b8697e3a4c04b77a968327d9b73bfa9e8e0" name = "google.golang.org/appengine" packages = [ ".", @@ -966,59 +1195,75 @@ "internal/modules", "internal/remote_api", "internal/urlfetch", - "urlfetch" + "urlfetch", ] + pruneopts = "NUT" revision = "e9657d882bb81064595ca3b56cbe2546bbabf7b1" version = "v1.4.0" [[projects]] + digest = "1:797db40073a8a1d30cc43864b6190372f2fca7af38b1cf1532e4e92a8283e075" name = "gopkg.in/asn1-ber.v1" packages = ["."] + pruneopts = "NUT" revision = "f715ec2f112d1e4195b827ad68cf44017a3ef2b1" version = "v1.3" [[projects]] + digest = "1:1b91ae0dc69a41d4c2ed23ea5cffb721ea63f5037ca4b81e6d6771fbb8f45129" name = "gopkg.in/fsnotify.v1" packages = ["."] + pruneopts = "NUT" revision = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9" source = "https://github.com/fsnotify/fsnotify.git" version = "v1.4.7" [[projects]] + digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a" name = "gopkg.in/inf.v0" packages = ["."] + pruneopts = "NUT" revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf" version = "v0.9.1" [[projects]] + digest = "1:80c34337e8a734e190f2d1b716cae774cca74db98315166f92074434e9af0227" name = "gopkg.in/natefinch/lumberjack.v2" packages = ["."] + pruneopts = "NUT" revision = "a96e63847dc3c67d17befa69c303767e2f84e54f" version = "v2.1" [[projects]] + digest = "1:bca78b987070b8659f4679cf6a6888d23bec62ed98583a6bdf5088b75bdfac7b" name = "gopkg.in/square/go-jose.v2" packages = [ ".", "cipher", - "json" + "json", ] + pruneopts = "NUT" revision = "628223f44a71f715d2881ea69afc795a1e9c01be" version = "v2.3.0" [[projects]] branch = "v1" + digest = "1:8fb1ccb16a6cfecbfdfeb84d8ea1cc7afa8f9ef16526bc2326f72d993e32cef1" name = "gopkg.in/tomb.v1" packages = ["."] + pruneopts = "NUT" revision = "dd632973f1e7218eb1089048e0798ec9ae7dceb8" [[projects]] + digest = "1:18108594151654e9e696b27b181b953f9a90b16bf14d253dd1b397b025a1487f" name = "gopkg.in/yaml.v2" packages = ["."] + pruneopts = "NUT" revision = "51d6538a90f86fe93ac480b35f37b2be17fef232" version = "v2.2.2" [[projects]] + digest = "1:54a81502271a4e19f45dabc7ac58b6ba06513c0fff6f1ce9c555bde0e5061113" name = "k8s.io/api" packages = [ "admission/v1beta1", @@ -1053,24 +1298,28 @@ "settings/v1alpha1", "storage/v1", "storage/v1alpha1", - "storage/v1beta1" + "storage/v1beta1", ] + pruneopts = "NUT" revision = "05914d821849570fba9eacfb29466f2d8d3cd229" version = "kubernetes-1.13.1" [[projects]] + digest = "1:3a662c31f0b40195b3d619fe065a5756c7d167e893811843fb991cdee0898dcc" name = "k8s.io/apiextensions-apiserver" packages = [ "pkg/apis/apiextensions", "pkg/apis/apiextensions/v1beta1", "pkg/client/clientset/clientset", "pkg/client/clientset/clientset/scheme", - "pkg/client/clientset/clientset/typed/apiextensions/v1beta1" + "pkg/client/clientset/clientset/typed/apiextensions/v1beta1", ] + pruneopts = "NUT" revision = "0fe22c71c47604641d9aa352c785b7912c200562" version = "kubernetes-1.13.1" [[projects]] + digest = "1:6892d9a65ba272b1b84b4244bed3bd8f86dd9ca5759c4d1f591353332cf388db" name = "k8s.io/apimachinery" packages = [ "pkg/api/errors", @@ -1117,23 +1366,27 @@ "pkg/version", "pkg/watch", "third_party/forked/golang/json", - "third_party/forked/golang/reflect" + "third_party/forked/golang/reflect", ] + pruneopts = "NUT" revision = "2b1284ed4c93a43499e781493253e2ac5959c4fd" - version = "kubernetes-1.13.0" + version = "kubernetes-1.13.1" [[projects]] branch = "master" + digest = "1:2222d2c05e987340ddd2792997d834d74a7dec466fe7b507bf3071f484fa2d14" name = "k8s.io/apiserver" packages = [ "pkg/apis/audit", "pkg/authentication/user", "pkg/authorization/authorizer", - "pkg/endpoints/request" + "pkg/endpoints/request", ] + pruneopts = "NUT" revision = "39e839dff03462945cc991fb9dac4469c951772d" [[projects]] + digest = "1:f11d97a5cfe3bdfa414391693763675007879344228ee519a6f355ec9cfdd00c" name = "k8s.io/client-go" packages = [ "discovery", @@ -1277,13 +1530,14 @@ "util/integer", "util/jsonpath", "util/retry", - "util/workqueue" + "util/workqueue", ] + pruneopts = "NUT" revision = "8d9ed539ba3134352c586810e749e58df4e94e4f" version = "kubernetes-1.13.1" [[projects]] - branch = "release-1.13" + digest = "1:8f29fd4c578cae70e2e1673656e19e9bae4896c72b458f42b824dfe03d7ea3b2" name = "k8s.io/code-generator" packages = [ "cmd/client-gen", @@ -1294,12 +1548,15 @@ "cmd/client-gen/generators/util", "cmd/client-gen/path", "cmd/client-gen/types", - "pkg/util" + "pkg/util", ] + pruneopts = "T" revision = "c2090bec4d9b1fb25de3812f868accc2bc9ecbae" + version = "kubernetes-1.13.1" [[projects]] branch = "master" + digest = "1:8279bfdd72fb8eb68d03b5a43acbff4109a79725a2717d98e90f15915eefdbd0" name = "k8s.io/gengo" packages = [ "args", @@ -1309,35 +1566,45 @@ "generator", "namer", "parser", - "types" + "types", ] + pruneopts = "NUT" revision = "b90029ef6cd877cb3f422d75b3a07707e3aac6b7" [[projects]] + digest = "1:c263611800c3a97991dbcf9d3bc4de390f6224aaa8ca0a7226a9d734f65a416a" name = "k8s.io/klog" packages = ["."] + pruneopts = "NUT" revision = "71442cd4037d612096940ceb0f3fec3f7fff66e0" version = "v0.2.0" [[projects]] branch = "master" + digest = "1:03a96603922fc1f6895ae083e1e16d943b55ef0656b56965351bd87e7d90485f" name = "k8s.io/kube-openapi" packages = ["pkg/util/proto"] + pruneopts = "NUT" revision = "15615b16d372105f0c69ff47dfe7402926a65aaa" [[projects]] + digest = "1:631b2ca05cd438462c9f87f26e16cb65f8cd61aba05bcb8b06a8bd199e264ec2" name = "k8s.io/kubernetes" packages = ["pkg/util/slice"] + pruneopts = "NUT" revision = "c27b913fddd1a6c480c229191a087698aa92f0b1" version = "v1.13.4" [[projects]] branch = "master" + digest = "1:93cbc4fa2be8f4b012dce390eadcd6a2064f06b7547edc9df151ee034d892d22" name = "sigs.k8s.io/application" packages = ["pkg/apis/app/v1beta1"] + pruneopts = "NUT" revision = "4ead7f1b87048b7717b3e474a21fdc07e6bce636" [[projects]] + digest = "1:41e0826a5968b00d321ba7981be205017ca2bea433a8f85c01e2b3f4c62445eb" name = "sigs.k8s.io/controller-runtime" packages = [ "pkg/cache", @@ -1375,12 +1642,14 @@ "pkg/webhook/internal/cert/writer", "pkg/webhook/internal/cert/writer/atomic", "pkg/webhook/internal/metrics", - "pkg/webhook/types" + "pkg/webhook/types", ] + pruneopts = "NUT" revision = "12d98582e72927b6cd0123e2b4e819f9341ce62c" version = "v0.1.10" [[projects]] + digest = "1:170bb3fef81543de085fe9bcdfc97c8677563151b5badba8f6e8ebeabb73a310" name = "sigs.k8s.io/controller-tools" packages = [ "cmd/controller-gen", @@ -1392,30 +1661,118 @@ "pkg/rbac", "pkg/util", "pkg/webhook", - "pkg/webhook/internal" + "pkg/webhook/internal", ] + pruneopts = "NUT" revision = "fbf141159251d035089e7acdd5a343f8cec91b94" version = "v0.1.9" [[projects]] + digest = "1:a9ab998a89bcd0ee9a5cf293943b79e2f889aa6a587b4f2ca3de113340e20418" name = "sigs.k8s.io/testing_frameworks" packages = [ "integration", "integration/addr", - "integration/internal" + "integration/internal", ] + pruneopts = "NUT" revision = "d348cb12705b516376e0c323bacca72b00a78425" version = "v0.1.1" [[projects]] + digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c" name = "sigs.k8s.io/yaml" packages = ["."] + pruneopts = "NUT" revision = "fd68e9863619f6ec2fdd8625fe1f02e7c877e480" version = "v1.1.0" [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "9c1d98a69374a4d7fbddc9df92f3ba83c5d4a0753b887577c161b2802f9c9494" + input-imports = [ + "github.com/dgrijalva/jwt-go", + "github.com/docker/docker/api/types", + "github.com/docker/docker/client", + "github.com/emicklei/go-restful", + "github.com/emicklei/go-restful-openapi", + "github.com/go-ldap/ldap", + "github.com/go-openapi/spec", + "github.com/go-redis/redis", + "github.com/go-sql-driver/mysql", + "github.com/golang/glog", + "github.com/jinzhu/gorm", + "github.com/json-iterator/go", + "github.com/kiali/kiali/config", + "github.com/kiali/kiali/handlers", + "github.com/knative/pkg/apis/istio/common/v1alpha1", + "github.com/knative/pkg/apis/istio/v1alpha3", + "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1", + "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned", + "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions", + "github.com/mholt/caddy", + "github.com/mholt/caddy/caddy/caddymain", + "github.com/mholt/caddy/caddyhttp/httpserver", + "github.com/mitchellh/go-homedir", + "github.com/onsi/ginkgo", + "github.com/onsi/gomega", + "github.com/spf13/cobra", + "github.com/spf13/pflag", + "golang.org/x/net/context", + "golang.org/x/tools/container/intsets", + "gopkg.in/yaml.v2", + "k8s.io/api/apps/v1", + "k8s.io/api/apps/v1beta2", + "k8s.io/api/batch/v1", + "k8s.io/api/batch/v1beta1", + "k8s.io/api/core/v1", + "k8s.io/api/extensions/v1beta1", + "k8s.io/api/policy/v1beta1", + "k8s.io/api/rbac/v1", + "k8s.io/api/storage/v1", + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions", + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1", + "k8s.io/apimachinery/pkg/api/errors", + "k8s.io/apimachinery/pkg/api/resource", + "k8s.io/apimachinery/pkg/apis/meta/v1", + "k8s.io/apimachinery/pkg/labels", + "k8s.io/apimachinery/pkg/runtime", + "k8s.io/apimachinery/pkg/runtime/schema", + "k8s.io/apimachinery/pkg/types", + "k8s.io/apimachinery/pkg/util/json", + "k8s.io/apimachinery/pkg/util/runtime", + "k8s.io/apimachinery/pkg/util/wait", + "k8s.io/apiserver/pkg/authorization/authorizer", + "k8s.io/apiserver/pkg/endpoints/request", + "k8s.io/client-go/informers", + "k8s.io/client-go/informers/core/v1", + "k8s.io/client-go/informers/rbac/v1", + "k8s.io/client-go/kubernetes", + "k8s.io/client-go/kubernetes/scheme", + "k8s.io/client-go/plugin/pkg/client/auth/gcp", + "k8s.io/client-go/rest", + "k8s.io/client-go/tools/cache", + "k8s.io/client-go/tools/clientcmd", + "k8s.io/client-go/util/workqueue", + "k8s.io/code-generator/cmd/client-gen", + "k8s.io/gengo/examples/deepcopy-gen/generators", + "k8s.io/gengo/examples/defaulter-gen/generators", + "k8s.io/kubernetes/pkg/util/slice", + "sigs.k8s.io/application/pkg/apis/app/v1beta1", + "sigs.k8s.io/controller-runtime/pkg/client", + "sigs.k8s.io/controller-runtime/pkg/client/config", + "sigs.k8s.io/controller-runtime/pkg/controller", + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil", + "sigs.k8s.io/controller-runtime/pkg/envtest", + "sigs.k8s.io/controller-runtime/pkg/handler", + "sigs.k8s.io/controller-runtime/pkg/manager", + "sigs.k8s.io/controller-runtime/pkg/reconcile", + "sigs.k8s.io/controller-runtime/pkg/runtime/log", + "sigs.k8s.io/controller-runtime/pkg/runtime/scheme", + "sigs.k8s.io/controller-runtime/pkg/runtime/signals", + "sigs.k8s.io/controller-runtime/pkg/source", + "sigs.k8s.io/controller-tools/cmd/controller-gen", + "sigs.k8s.io/testing_frameworks/integration", + ] solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 1194798a1..5f0f1a6ed 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -15,6 +15,9 @@ required = [ "sigs.k8s.io/controller-runtime/pkg/source", "sigs.k8s.io/testing_frameworks/integration", # for integration testing "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1", + "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned", + "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions", + "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" ] [[constraint]] @@ -49,6 +52,10 @@ required = [ name="sigs.k8s.io/controller-tools" version="v0.1.7" +[[constraint]] + name="github.com/kubesphere/s2ioperator" + version="v0.0.4" + [[override]] name="github.com/bifurcation/mint" revision="824af65410658916142a7600349144e1289f2110" diff --git a/cmd/ks-apiserver/app/server.go b/cmd/ks-apiserver/app/server.go index ff18a2f2d..cd909beb8 100644 --- a/cmd/ks-apiserver/app/server.go +++ b/cmd/ks-apiserver/app/server.go @@ -173,5 +173,13 @@ func waitForResourceSync() { informerFactory.Start(stopChan) informerFactory.WaitForCacheSync(stopChan) + + s2iInformerFactory := informers.S2iSharedInformerFactory() + s2iInformerFactory.Devops().V1alpha1().S2iBuilderTemplates().Lister() + s2iInformerFactory.Devops().V1alpha1().S2iRuns().Lister() + s2iInformerFactory.Devops().V1alpha1().S2iBuilders().Lister() + + s2iInformerFactory.Start(stopChan) + s2iInformerFactory.WaitForCacheSync(stopChan) log.Println("resources sync success") } diff --git a/pkg/informers/informers.go b/pkg/informers/informers.go index c8071e22c..624804ded 100644 --- a/pkg/informers/informers.go +++ b/pkg/informers/informers.go @@ -18,24 +18,37 @@ package informers import ( - "kubesphere.io/kubesphere/pkg/simple/client/k8s" "sync" "time" + s2iInformers "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions" + "k8s.io/client-go/informers" + + "kubesphere.io/kubesphere/pkg/simple/client/k8s" ) const defaultResync = 600 * time.Second var ( - once sync.Once - informerFactory informers.SharedInformerFactory + k8sOnce sync.Once + s2iOnce sync.Once + informerFactory informers.SharedInformerFactory + s2iInformerFactory s2iInformers.SharedInformerFactory ) func SharedInformerFactory() informers.SharedInformerFactory { - once.Do(func() { + k8sOnce.Do(func() { k8sClient := k8s.Client() informerFactory = informers.NewSharedInformerFactory(k8sClient, defaultResync) }) return informerFactory } + +func S2iSharedInformerFactory() s2iInformers.SharedInformerFactory { + s2iOnce.Do(func() { + k8sClient := k8s.S2iClient() + s2iInformerFactory = s2iInformers.NewSharedInformerFactory(k8sClient, defaultResync) + }) + return s2iInformerFactory +} diff --git a/pkg/models/resources/resources.go b/pkg/models/resources/resources.go index 615c56897..a5c536bc1 100644 --- a/pkg/models/resources/resources.go +++ b/pkg/models/resources/resources.go @@ -37,11 +37,14 @@ func init() { namespacedResources[StatefulSets] = &statefulSetSearcher{} namespacedResources[Pods] = &podSearcher{} namespacedResources[Roles] = &roleSearcher{} + namespacedResources[S2iBuilders] = &s2iBuilderSearcher{} + namespacedResources[S2iRuns] = &s2iRunSearcher{} clusterResources[Nodes] = &nodeSearcher{} clusterResources[Namespaces] = &namespaceSearcher{} clusterResources[ClusterRoles] = &clusterRoleSearcher{} clusterResources[StorageClasses] = &storageClassesSearcher{} + clusterResources[S2iBuilderTemplates] = &s2iBuilderTemplateSearcher{} } var namespacedResources = make(map[string]namespacedSearcherInterface) @@ -82,6 +85,9 @@ const ( Namespaces = "namespaces" StorageClasses = "storageclasses" ClusterRoles = "clusterroles" + S2iBuilderTemplates = "s2ibuildertemplates" + S2iBuilders = "s2ibuilders" + S2iRuns = "s2iruns" ) type namespacedSearcherInterface interface { diff --git a/pkg/models/resources/s2ibuilder.go b/pkg/models/resources/s2ibuilder.go new file mode 100644 index 000000000..b5cfa137d --- /dev/null +++ b/pkg/models/resources/s2ibuilder.go @@ -0,0 +1,125 @@ +/* + + Copyright 2019 The KubeSphere Authors. + + 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. + +*/ + +package resources + +import ( + "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "kubesphere.io/kubesphere/pkg/informers" + "kubesphere.io/kubesphere/pkg/params" + "sort" + "strings" +) + +type s2iBuilderSearcher struct { +} + +// exactly Match +func (*s2iBuilderSearcher) match(match map[string]string, item *v1alpha1.S2iBuilder) bool { + for k, v := range match { + switch k { + case name: + if item.Name != v && item.Labels[displayName] != v { + return false + } + default: + return false + } + } + return true +} + +// Fuzzy searchInNamespace +func (*s2iBuilderSearcher) fuzzy(fuzzy map[string]string, item *v1alpha1.S2iBuilder) bool { + for k, v := range fuzzy { + switch k { + case name: + if !strings.Contains(item.Name, v) && !strings.Contains(item.Labels[displayName], v) { + return false + } + case label: + if !searchFuzzy(item.Labels, "", v) { + return false + } + case annotation: + if !searchFuzzy(item.Annotations, "", v) { + return false + } + return false + case app: + if !strings.Contains(item.Labels[chart], v) && !strings.Contains(item.Labels[release], v) { + return false + } + case keyword: + if !strings.Contains(item.Name, v) && !searchFuzzy(item.Labels, "", v) && !searchFuzzy(item.Annotations, "", v) { + return false + } + default: + if !searchFuzzy(item.Labels, k, v) && !searchFuzzy(item.Annotations, k, v) { + return false + } + } + } + return true +} + +func (*s2iBuilderSearcher) compare(a, b *v1alpha1.S2iBuilder, orderBy string) bool { + switch orderBy { + case createTime: + return a.CreationTimestamp.Time.Before(b.CreationTimestamp.Time) + case name: + fallthrough + default: + return strings.Compare(a.Name, b.Name) <= 0 + } +} + +func (s *s2iBuilderSearcher) search(namespace string, conditions *params.Conditions, orderBy string, reverse bool) ([]interface{}, error) { + s2iBuilders, err := informers.S2iSharedInformerFactory().Devops().V1alpha1().S2iBuilders().Lister().S2iBuilders(namespace).List(labels.Everything()) + + if err != nil { + return nil, err + } + + result := make([]*v1alpha1.S2iBuilder, 0) + + if len(conditions.Match) == 0 && len(conditions.Fuzzy) == 0 { + result = s2iBuilders + } else { + for _, item := range s2iBuilders { + if s.match(conditions.Match, item) && s.fuzzy(conditions.Fuzzy, item) { + result = append(result, item) + } + } + } + sort.Slice(result, func(i, j int) bool { + if reverse { + tmp := i + i = j + j = tmp + } + return s.compare(result[i], result[j], orderBy) + }) + + r := make([]interface{}, 0) + for _, i := range result { + r = append(r, i) + } + return r, nil +} diff --git a/pkg/models/resources/s2ibuildertemplate.go b/pkg/models/resources/s2ibuildertemplate.go new file mode 100644 index 000000000..9557a64fb --- /dev/null +++ b/pkg/models/resources/s2ibuildertemplate.go @@ -0,0 +1,121 @@ +/* + + Copyright 2019 The KubeSphere Authors. + + 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. + +*/ +package resources + +import ( + "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "kubesphere.io/kubesphere/pkg/informers" + "kubesphere.io/kubesphere/pkg/params" + "sort" + "strings" + + "k8s.io/apimachinery/pkg/labels" +) + +type s2iBuilderTemplateSearcher struct { +} + +// exactly Match +func (*s2iBuilderTemplateSearcher) match(match map[string]string, item *v1alpha1.S2iBuilderTemplate) bool { + for k, v := range match { + switch k { + case name: + if item.Name != v && item.Labels[displayName] != v { + return false + } + default: + return false + } + } + return true +} + +// Fuzzy searchInNamespace +func (*s2iBuilderTemplateSearcher) fuzzy(fuzzy map[string]string, item *v1alpha1.S2iBuilderTemplate) bool { + for k, v := range fuzzy { + switch k { + case name: + if !strings.Contains(item.Name, v) && !strings.Contains(item.Labels[displayName], v) { + return false + } + case label: + if !searchFuzzy(item.Labels, "", v) { + return false + } + case annotation: + if !searchFuzzy(item.Annotations, "", v) { + return false + } + return false + case keyword: + if !strings.Contains(item.Name, v) && !searchFuzzy(item.Labels, "", v) && !searchFuzzy(item.Annotations, "", v) { + return false + } + default: + if !searchFuzzy(item.Labels, k, v) && !searchFuzzy(item.Annotations, k, v) { + return false + } + } + } + return true +} + +func (*s2iBuilderTemplateSearcher) compare(a, b *v1alpha1.S2iBuilderTemplate, orderBy string) bool { + switch orderBy { + case createTime: + return a.CreationTimestamp.Time.Before(b.CreationTimestamp.Time) + case name: + fallthrough + default: + return strings.Compare(a.Name, b.Name) <= 0 + } +} + +func (s *s2iBuilderTemplateSearcher) search(conditions *params.Conditions, orderBy string, reverse bool) ([]interface{}, error) { + builderTemplates, err := informers.S2iSharedInformerFactory().Devops().V1alpha1().S2iBuilderTemplates().Lister().List(labels.Everything()) + + if err != nil { + return nil, err + } + + result := make([]*v1alpha1.S2iBuilderTemplate, 0) + + if len(conditions.Match) == 0 && len(conditions.Fuzzy) == 0 { + result = builderTemplates + } else { + for _, item := range builderTemplates { + if s.match(conditions.Match, item) && s.fuzzy(conditions.Fuzzy, item) { + result = append(result, item) + } + } + } + sort.Slice(result, func(i, j int) bool { + if reverse { + tmp := i + i = j + j = tmp + } + return s.compare(result[i], result[j], orderBy) + }) + + r := make([]interface{}, 0) + for _, i := range result { + r = append(r, i) + } + return r, nil +} diff --git a/pkg/models/resources/s2irun.go b/pkg/models/resources/s2irun.go new file mode 100644 index 000000000..bed9a14c9 --- /dev/null +++ b/pkg/models/resources/s2irun.go @@ -0,0 +1,128 @@ +/* + + Copyright 2019 The KubeSphere Authors. + + 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. + +*/ + +package resources + +import ( + "sort" + "strings" + + "kubesphere.io/kubesphere/pkg/informers" + "kubesphere.io/kubesphere/pkg/params" + + "k8s.io/apimachinery/pkg/labels" + + "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" +) + +type s2iRunSearcher struct { +} + +// exactly Match +func (*s2iRunSearcher) match(match map[string]string, item *v1alpha1.S2iRun) bool { + for k, v := range match { + switch k { + case name: + if item.Name != v && item.Labels[displayName] != v { + return false + } + default: + return false + } + } + return true +} + +// Fuzzy searchInNamespace +func (*s2iRunSearcher) fuzzy(fuzzy map[string]string, item *v1alpha1.S2iRun) bool { + for k, v := range fuzzy { + switch k { + case name: + if !strings.Contains(item.Name, v) && !strings.Contains(item.Labels[displayName], v) { + return false + } + case label: + if !searchFuzzy(item.Labels, "", v) { + return false + } + case annotation: + if !searchFuzzy(item.Annotations, "", v) { + return false + } + return false + case app: + if !strings.Contains(item.Labels[chart], v) && !strings.Contains(item.Labels[release], v) { + return false + } + case keyword: + if !strings.Contains(item.Name, v) && !searchFuzzy(item.Labels, "", v) && !searchFuzzy(item.Annotations, "", v) { + return false + } + default: + if !searchFuzzy(item.Labels, k, v) && !searchFuzzy(item.Annotations, k, v) { + return false + } + } + } + return true +} + +func (*s2iRunSearcher) compare(a, b *v1alpha1.S2iRun, orderBy string) bool { + switch orderBy { + case createTime: + return a.CreationTimestamp.Time.Before(b.CreationTimestamp.Time) + case name: + fallthrough + default: + return strings.Compare(a.Name, b.Name) <= 0 + } +} + +func (s *s2iRunSearcher) search(namespace string, conditions *params.Conditions, orderBy string, reverse bool) ([]interface{}, error) { + s2iRuns, err := informers.S2iSharedInformerFactory().Devops().V1alpha1().S2iRuns().Lister().S2iRuns(namespace).List(labels.Everything()) + + if err != nil { + return nil, err + } + + result := make([]*v1alpha1.S2iRun, 0) + + if len(conditions.Match) == 0 && len(conditions.Fuzzy) == 0 { + result = s2iRuns + } else { + for _, item := range s2iRuns { + if s.match(conditions.Match, item) && s.fuzzy(conditions.Fuzzy, item) { + result = append(result, item) + } + } + } + sort.Slice(result, func(i, j int) bool { + if reverse { + tmp := i + i = j + j = tmp + } + return s.compare(result[i], result[j], orderBy) + }) + + r := make([]interface{}, 0) + for _, i := range result { + r = append(r, i) + } + return r, nil +} diff --git a/pkg/simple/client/k8s/k8sclient.go b/pkg/simple/client/k8s/k8sclient.go index 156f51dd9..0481cb3ca 100644 --- a/pkg/simple/client/k8s/k8sclient.go +++ b/pkg/simple/client/k8s/k8sclient.go @@ -25,12 +25,11 @@ import ( "os" "sync" - "k8s.io/client-go/tools/clientcmd" - "github.com/mitchellh/go-homedir" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + "k8s.io/client-go/tools/clientcmd" ) var ( diff --git a/pkg/simple/client/k8s/s2iclient.go b/pkg/simple/client/k8s/s2iclient.go new file mode 100644 index 000000000..4d9929897 --- /dev/null +++ b/pkg/simple/client/k8s/s2iclient.go @@ -0,0 +1,31 @@ +package k8s + +import ( + "log" + "sync" + + s2i "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" +) + +var ( + s2iClient *s2i.Clientset + s2iClientOnce sync.Once +) + +func S2iClient() *s2i.Clientset { + + s2iClientOnce.Do(func() { + + config, err := Config() + + if err != nil { + log.Fatalln(err) + } + + s2iClient = s2i.NewForConfigOrDie(config) + + KubeConfig = config + }) + + return s2iClient +} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go b/vendor/github.com/kubesphere/s2ioperator/LICENSE similarity index 88% rename from vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go rename to vendor/github.com/kubesphere/s2ioperator/LICENSE index 38393d541..261eeb9e9 100644 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go +++ b/vendor/github.com/kubesphere/s2ioperator/LICENSE @@ -1,37 +1,3 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initApache2() { - Licenses["apache"] = License{ - Name: "Apache 2.0", - PossibleMatches: []string{"apache", "apache20", "apache 2.0", "apache2.0", "apache-2.0"}, - Header: ` -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.`, - Text: ` Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -233,6 +199,3 @@ limitations under the License.`, 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/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/code_framework.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/code_framework.go new file mode 100644 index 000000000..77a48e73a --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/code_framework.go @@ -0,0 +1,12 @@ +package v1alpha1 + +type CodeFramework string + +const ( + Ruby CodeFramework = "ruby" + Go CodeFramework = "go" + Java CodeFramework = "Java" + JavaTomcat CodeFramework = "JavaTomcat" + Nodejs CodeFramework = "Nodejs" + Python CodeFramework = "python" +) diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/doc.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/doc.go new file mode 100644 index 000000000..af3e3591a --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/doc.go @@ -0,0 +1,23 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ + +// Package v1alpha1 contains API Schema definitions for the devops v1alpha1 API group +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/kubesphere/s2ioperator/pkg/apis/devops +// +k8s:defaulter-gen=TypeMeta +// +groupName=devops.kubesphere.io +package v1alpha1 diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/register.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/register.go new file mode 100644 index 000000000..eb65d4f4a --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/register.go @@ -0,0 +1,46 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ + +// NOTE: Boilerplate only. Ignore this file. + +// Package v1alpha1 contains API Schema definitions for the devops v1alpha1 API group +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/kubesphere/s2ioperator/pkg/apis/devops +// +k8s:defaulter-gen=TypeMeta +// +groupName=devops.kubesphere.io +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/runtime/scheme" +) + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "devops.kubesphere.io", Version: "v1alpha1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} + + // AddToScheme is required by pkg/client/... + AddToScheme = SchemeBuilder.AddToScheme +) + +// Resource is required by pkg/client/listers/... +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuilder_types.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuilder_types.go new file mode 100644 index 000000000..7133c145b --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuilder_types.go @@ -0,0 +1,459 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ + +package v1alpha1 + +import ( + "fmt" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! +// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. + +type RunState string + +const ( + NotRunning RunState = "Not Running Yet" + Running RunState = "Running" + Successful = "Successful" + Failed = "Failed" + Unknown = "Unknown" +) +const ( + AutoScaleAnnotations = "devops.kubesphere.io/autoscale" + WorkloadLatestS2iRunTemplateLabel = "devops.kubesphere.io/s2ir" + S2irCompletedScaleAnnotations = "devops.kubesphere.io/completedscale" + WorkLoadCompletedInitAnnotations = "devops.kubesphere.io/inithasbeencomplted" +) +const ( + KindDeployment = "Deployment" + KindStatefulSet = "StatefulSet" +) + +// EnvironmentSpec specifies a single environment variable. +type EnvironmentSpec struct { + Name string + Value string +} + +// ProxyConfig holds proxy configuration. +type ProxyConfig struct { + HTTPProxy string + HTTPSProxy string +} + +// CGroupLimits holds limits used to constrain container resources. +type CGroupLimits struct { + MemoryLimitBytes int64 + CPUShares int64 + CPUPeriod int64 + CPUQuota int64 + MemorySwap int64 + Parent string +} + +// VolumeSpec represents a single volume mount point. +type VolumeSpec struct { + // Source is a reference to the volume source. + Source string + // Destination is the path to mount the volume to - absolute or relative. + Destination string + // Keep indicates if the mounted data should be kept in the final image. + Keep bool +} + +// DockerConfig contains the configuration for a Docker connection. +type DockerConfig struct { + // Endpoint is the docker network endpoint or socket + Endpoint string + + // CertFile is the certificate file path for a TLS connection + CertFile string + + // KeyFile is the key file path for a TLS connection + KeyFile string + + // CAFile is the certificate authority file path for a TLS connection + CAFile string + + // UseTLS indicates if TLS must be used + UseTLS bool + + // TLSVerify indicates if TLS peer must be verified + TLSVerify bool +} + +// AuthConfig is our abstraction of the Registry authorization information for whatever +// docker client we happen to be based on +type AuthConfig struct { + Username string `json:"username"` + Password string `json:"password"` + Email string `json:"email,omitempty"` + ServerAddress string `json:"server_address,omitempty"` +} + +// ContainerConfig is the abstraction of the docker client provider (formerly go-dockerclient, now either +// engine-api or kube docker client) container.Config type that is leveraged by s2i or origin +type ContainerConfig struct { + Labels map[string]string + Env []string +} + +type PullPolicy string + +const ( + // PullAlways means that we always attempt to pull the latest image. + PullAlways PullPolicy = "always" + + // PullNever means that we never pull an image, but only use a local image. + PullNever PullPolicy = "never" + + // PullIfNotPresent means that we pull if the image isn't present on disk. + PullIfNotPresent PullPolicy = "if-not-present" + + // DefaultBuilderPullPolicy specifies the default pull policy to use + DefaultBuilderPullPolicy = PullIfNotPresent + + // DefaultRuntimeImagePullPolicy specifies the default pull policy to use. + DefaultRuntimeImagePullPolicy = PullIfNotPresent + + // DefaultPreviousImagePullPolicy specifies policy for pulling the previously + // build Docker image when doing incremental build + DefaultPreviousImagePullPolicy = PullIfNotPresent +) + +// DockerNetworkMode specifies the network mode setting for the docker container +type DockerNetworkMode string + +const ( + // DockerNetworkModeHost places the container in the default (host) network namespace. + DockerNetworkModeHost DockerNetworkMode = "host" + // DockerNetworkModeBridge instructs docker to create a network namespace for this container connected to the docker0 bridge via a veth-pair. + DockerNetworkModeBridge DockerNetworkMode = "bridge" + // DockerNetworkModeContainerPrefix is the string prefix used by NewDockerNetworkModeContainer. + DockerNetworkModeContainerPrefix string = "container:" + // DockerNetworkModeNetworkNamespacePrefix is the string prefix used when sharing a namespace from a CRI-O container. + DockerNetworkModeNetworkNamespacePrefix string = "netns:" +) + +type TriggerSource string + +const ( + Default TriggerSource = "Manual" + Github TriggerSource = "Github" + Gitlab TriggerSource = "Gitlab" + SVN TriggerSource = "SVN" + Others TriggerSource = "Others" +) + +// NewDockerNetworkModeContainer creates a DockerNetworkMode value which instructs docker to place the container in the network namespace of an existing container. +// It can be used, for instance, to place the s2i container in the network namespace of the infrastructure container of a k8s pod. +func NewDockerNetworkModeContainer(id string) DockerNetworkMode { + return DockerNetworkMode(DockerNetworkModeContainerPrefix + id) +} + +// String implements the String() function of pflags.Value so this can be used as +// command line parameter. +// This method is really used just to show the default value when printing help. +// It will not default the configuration. +func (p *PullPolicy) String() string { + if len(string(*p)) == 0 { + return string(DefaultBuilderPullPolicy) + } + return string(*p) +} + +// Type implements the Type() function of pflags.Value interface +func (p *PullPolicy) Type() string { + return "string" +} + +// Set implements the Set() function of pflags.Value interface +// The valid options are "always", "never" or "if-not-present" +func (p *PullPolicy) Set(v string) error { + switch v { + case "always": + *p = PullAlways + case "never": + *p = PullNever + case "if-not-present": + *p = PullIfNotPresent + default: + return fmt.Errorf("invalid value %q, valid values are: always, never or if-not-present", v) + } + return nil +} + +type S2iConfig struct { + // DisplayName is a result image display-name label. This defaults to the + // output image name. + DisplayName string `json:"displayName,omitempty"` + + // Description is a result image description label. The default is no + // description. + Description string `json:"description,omitempty"` + + // BuilderImage describes which image is used for building the result images. + BuilderImage string `json:"builderImage,omitempty"` + + // BuilderImageVersion provides optional version information about the builder image. + BuilderImageVersion string `json:"builderImageVersion,omitempty"` + + // BuilderBaseImageVersion provides optional version information about the builder base image. + BuilderBaseImageVersion string `json:"builderBaseImageVersion,omitempty"` + + // RuntimeImage specifies the image that will be a base for resulting image + // and will be used for running an application. By default, BuilderImage is + // used for building and running, but the latter may be overridden. + RuntimeImage string `json:"runtimeImage,omitempty"` + + //OutputImageName is a result image name without tag, default is latest. tag will append to ImageName in the end + OutputImageName string `json:"outputImageName,omitempty"` + // RuntimeImagePullPolicy specifies when to pull a runtime image. + RuntimeImagePullPolicy PullPolicy `json:"runtimeImagePullPolicy,omitempty"` + + // RuntimeAuthentication holds the authentication information for pulling the + // runtime Docker images from private repositories. + RuntimeAuthentication AuthConfig `json:"runtimeAuthentication,omitempty"` + + // RuntimeArtifacts specifies a list of source/destination pairs that will + // be copied from builder to a runtime image. Source can be a file or + // directory. Destination must be a directory. Regardless whether it + // is an absolute or relative path, it will be placed into image's WORKDIR. + // Destination also can be empty or equals to ".", in this case it just + // refers to a root of WORKDIR. + // In case it's empty, S2I will try to get this list from + // io.openshift.s2i.assemble-input-files label on a RuntimeImage. + RuntimeArtifacts []VolumeSpec `json:"runtimeArtifacts,omitempty"` + + // DockerConfig describes how to access host docker daemon. + DockerConfig *DockerConfig `json:"dockerConfig,omitempty"` + + // PullAuthentication holds the authentication information for pulling the + // Docker images from private repositories + PullAuthentication AuthConfig `json:"pullAuthentication,omitempty"` + + // PullAuthentication holds the authentication information for pulling the + // Docker images from private repositories + PushAuthentication AuthConfig `json:"pushAuthentication,omitempty"` + + // IncrementalAuthentication holds the authentication information for pulling the + // previous image from private repositories + IncrementalAuthentication AuthConfig `json:"incrementalAuthentication,omitempty"` + + // DockerNetworkMode is used to set the docker network setting to --net=container: + // when the builder is invoked from a container. + DockerNetworkMode DockerNetworkMode `json:"dockerNetworkMode,omitempty"` + + // PreserveWorkingDir describes if working directory should be left after processing. + PreserveWorkingDir bool `json:"preserveWorkingDir,omitempty"` + + //ImageName Contains the registry address and reponame, tag should set by field tag alone + ImageName string `json:"imageName"` + // Tag is a result image tag name. + Tag string `json:"tag,omitempty"` + + // BuilderPullPolicy specifies when to pull the builder image + BuilderPullPolicy PullPolicy `json:"builderPullPolicy,omitempty"` + + // PreviousImagePullPolicy specifies when to pull the previously build image + // when doing incremental build + PreviousImagePullPolicy PullPolicy `json:"previousImagePullPolicy,omitempty"` + + // Incremental describes whether to try to perform incremental build. + Incremental bool `json:"incremental,omitempty"` + + // IncrementalFromTag sets an alternative image tag to look for existing + // artifacts. Tag is used by default if this is not set. + IncrementalFromTag string `json:"incrementalFromTag,omitempty"` + + // RemovePreviousImage describes if previous image should be removed after successful build. + // This applies only to incremental builds. + RemovePreviousImage bool `json:"removePreviousImage,omitempty"` + + // Environment is a map of environment variables to be passed to the image. + Environment []EnvironmentSpec `json:"environment,omitempty"` + + // LabelNamespace provides the namespace under which the labels will be generated. + LabelNamespace string `json:"labelNamespace,omitempty"` + + // CallbackURL is a URL which is called upon successful build to inform about that fact. + CallbackURL string `json:"callbackUrl,omitempty"` + + // ScriptsURL is a URL describing where to fetch the S2I scripts from during build process. + // This url can be a reference within the builder image if the scheme is specified as image:// + ScriptsURL string `json:"scriptsUrl,omitempty"` + + // Destination specifies a location where the untar operation will place its artifacts. + Destination string `json:"destination,omitempty"` + + // WorkingDir describes temporary directory used for downloading sources, scripts and tar operations. + WorkingDir string `json:"workingDir,omitempty"` + + // WorkingSourceDir describes the subdirectory off of WorkingDir set up during the repo download + // that is later used as the root for ignore processing + WorkingSourceDir string `json:"workingSourceDir,omitempty"` + + // LayeredBuild describes if this is build which layered scripts and sources on top of BuilderImage. + LayeredBuild bool `json:"layeredBuild,omitempty"` + + // Specify a relative directory inside the application repository that should + // be used as a root directory for the application. + ContextDir string `json:"contextDir,omitempty"` + + // AssembleUser specifies the user to run the assemble script in container + AssembleUser string `json:"assembleUser,omitempty"` + + // RunImage will trigger a "docker run ..." invocation of the produced image so the user + // can see if it operates as he would expect + RunImage bool `json:"runImage,omitempty"` + + // Usage allows for properly shortcircuiting s2i logic when `s2i usage` is invoked + Usage bool `json:"usage,omitempty"` + + // Injections specifies a list source/destination folders that are injected to + // the container that runs assemble. + // All files we inject will be truncated after the assemble script finishes. + Injections []VolumeSpec `json:"injections,omitempty"` + + // CGroupLimits describes the cgroups limits that will be applied to any containers + // run by s2i. + CGroupLimits *CGroupLimits `json:"cgroupLimits,omitempty"` + + // DropCapabilities contains a list of capabilities to drop when executing containers + DropCapabilities []string `json:"dropCapabilities,omitempty"` + + // ScriptDownloadProxyConfig optionally specifies the http and https proxy + // to use when downloading scripts + ScriptDownloadProxyConfig *ProxyConfig `json:"scriptDownloadProxyConfig,omitempty"` + + // ExcludeRegExp contains a string representation of the regular expression desired for + // deciding which files to exclude from the tar stream + ExcludeRegExp string `json:"excludeRegExp,omitempty"` + + // BlockOnBuild prevents s2i from performing a docker build operation + // if one is necessary to execute ONBUILD commands, or to layer source code into + // the container for images that don't have a tar binary available, if the + // image contains ONBUILD commands that would be executed. + BlockOnBuild bool `json:"blockOnBuild,omitempty"` + + // HasOnBuild will be set to true if the builder image contains ONBUILD instructions + HasOnBuild bool `json:"hasOnBuild,omitempty"` + + // BuildVolumes specifies a list of volumes to mount to container running the + // build. + BuildVolumes []string `json:"buildVolumes,omitempty"` + + // Labels specify labels and their values to be applied to the resulting image. Label keys + // must have non-zero length. The labels defined here override generated labels in case + // they have the same name. + Labels map[string]string `json:"labels,omitempty"` + + // SecurityOpt are passed as options to the docker containers launched by s2i. + SecurityOpt []string `json:"securityOpt,omitempty"` + + // KeepSymlinks indicates to copy symlinks as symlinks. Default behavior is to follow + // symlinks and copy files by content. + KeepSymlinks bool `json:"keepSymlinks,omitempty"` + + // AsDockerfile indicates the path where the Dockerfile should be written instead of building + // a new image. + AsDockerfile string `json:"asDockerfile,omitempty"` + + // ImageWorkDir is the default working directory for the builder image. + ImageWorkDir string `json:"imageWorkDir,omitempty"` + + // ImageScriptsURL is the default location to find the assemble/run scripts for a builder image. + // This url can be a reference within the builder image if the scheme is specified as image:// + ImageScriptsURL string `json:"imageScriptsUrl,omitempty"` + + // AddHost Add a line to /etc/hosts for test purpose or private use in LAN. Its format is host:IP,muliple hosts can be added by using multiple --add-host + AddHost []string `json:"addHost,omitempty"` + + //Export Push the result image to specify image registry in tag + Export bool `json:"export,omitempty"` + + //SourceURL is url of the codes such as https://github.com/a/b.git + SourceURL string `json:"sourceUrl"` +} + +type UserDefineTemplate struct { + //Name specify a template to use, so many fields in Config can left empty + Name string `json:"name,omitempty"` + //Parameters must use with `template`, fill some parameters which template will use + Parameters []Parameter `json:"parameters,omitempty"` + //BaseImage specify which version of this template to use + BaseImage string `json:"baseImage,omitempty"` +} + +// S2iBuilderSpec defines the desired state of S2iBuilder +type S2iBuilderSpec struct { + // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + // Important: Run "make" to regenerate code after modifying this file + Config *S2iConfig `json:"config,omitempty"` + //FromTemplate define some inputs from user + FromTemplate *UserDefineTemplate `json:"fromTemplate,omitempty"` +} + +// S2iBuilderStatus defines the observed state of S2iBuilder +type S2iBuilderStatus struct { + //RunCount represent the sum of s2irun of this builder + RunCount int `json:"runCount"` + //LastRunState return the state of the newest run of this builder + LastRunState RunState `json:"lastRunState,omitempty"` + //LastRunState return the name of the newest run of this builder + LastRunName *string `json:"lastRunName,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iBuilder is the Schema for the s2ibuilders API +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="RunCount",type="integer",JSONPath=".status.runCount" +// +kubebuilder:printcolumn:name="LastRunState",type="string",JSONPath=".status.lastRunState" +// +kubebuilder:printcolumn:name="LastRunName",type="string",JSONPath=".status.lastRunName" +// +kubebuilder:resource:shortName=s2ib +type S2iBuilder struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec S2iBuilderSpec `json:"spec,omitempty"` + Status S2iBuilderStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iBuilderList contains a list of S2iBuilder +type S2iBuilderList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []S2iBuilder `json:"items"` +} + +type S2iAutoScale struct { + Kind string `json:"kind"` + Name string `json:"name"` + InitReplicas *int32 `json:"initReplicas,omitempty"` + Containers []string `json:"containers,omitempty"` +} + +func init() { + SchemeBuilder.Register(&S2iBuilder{}, &S2iBuilderList{}) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuildertemplate_types.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuildertemplate_types.go new file mode 100644 index 000000000..84a6b4936 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2ibuildertemplate_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type Parameter struct { + Description string `json:"description,omitempty"` + Key string `json:"key,omitempty"` + Type string `json:"type,omitempty"` + OptValues []string `json:"optValues,omitempty"` + Required bool `json:"required,omitempty"` + DefaultValue string `json:"defaultValue,omitempty"` + Value string `json:"value,omitempty"` +} + +func (p *Parameter) ToEnvonment() *EnvironmentSpec { + var v string + if p.Value == "" && p.DefaultValue != "" { + v = p.DefaultValue + } else if p.Value != "" { + v = p.Value + } else { + return nil + } + return &EnvironmentSpec{ + Name: p.Key, + Value: v, + } +} + +// S2iBuilderTemplateSpec defines the desired state of S2iBuilderTemplate +type S2iBuilderTemplateSpec struct { + //DefaultBaseImage is the image that will be used by default + DefaultBaseImage string `json:"defaultBaseImage,omitempty"` + //BaseImages are the images this template will use. + BaseImages []string `json:"baseImages,omitempty"` + //CodeFramework means which language this template is designed for and which framework is using if has framework. Like Java, NodeJS etc + CodeFramework CodeFramework `json:"codeFramework,omitempty"` + // Parameters is a set of environment variables to be passed to the image. + Parameters []Parameter `json:"environment,omitempty"` + // Version of template + Version string `json:"version,omitempty"` + // Description illustrate the purpose of this template + Description string `json:"description,omitempty"` + // IconPath is used for frontend display + IconPath string `json:"iconPath,omitempty"` +} + +// S2iBuilderTemplateStatus defines the observed state of S2iBuilderTemplate +type S2iBuilderTemplateStatus struct { +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iBuilderTemplate is the Schema for the s2ibuildertemplates API +// +k8s:openapi-gen=true +// +kubebuilder:printcolumn:name="Framework",type="string",JSONPath=".spec.codeFramework" +// +kubebuilder:printcolumn:name="DefaultBaseImage",type="string",JSONPath=".spec.defaultBaseImage" +// +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +// +kubebuilder:resource:shortName=s2ibt +type S2iBuilderTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec S2iBuilderTemplateSpec `json:"spec,omitempty"` + Status S2iBuilderTemplateStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iBuilderTemplateList contains a list of S2iBuilderTemplate +type S2iBuilderTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []S2iBuilderTemplate `json:"items"` +} + +func init() { + SchemeBuilder.Register(&S2iBuilderTemplate{}, &S2iBuilderTemplateList{}) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2irun_types.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2irun_types.go new file mode 100644 index 000000000..fcda717b1 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/s2irun_types.go @@ -0,0 +1,87 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! +// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. + +// S2iRunSpec defines the desired state of S2iRun +type S2iRunSpec struct { + //BuilderName specify the name of s2ibuilder, required + BuilderName string `json:"builderName"` + //BackoffLimit limits the restart count of each s2irun. Default is 0 + BackoffLimit int32 `json:"backoffLimit,omitempty"` + //SecondsAfterFinished if is set and greater than zero, and the job created by s2irun become successful or failed , the job will be auto deleted after SecondsAfterFinished + SecondsAfterFinished int32 `json:"secondsAfterFinished,omitempty"` + //NewTag override the default tag in its s2ibuilder, image name cannot be changed. + NewTag string `json:"newTag,omitempty"` +} + +// S2iRunStatus defines the observed state of S2iRun +type S2iRunStatus struct { + // StartTime represent when this run began + StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"` + + // Represents time when the job was completed. It is not guaranteed to + // be set in happens-before order across separate operations. + // It is represented in RFC3339 form and is in UTC. + // +optional + CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,3,opt,name=completionTime"` + // RunState indicates whether this job is done or failed + RunState RunState `json:"runState,omitempty"` + //LogURL is uesd for external log handler to let user know where is log located in + LogURL string `json:"logURL,omitempty"` + //KubernetesJobName is the job name in k8s + KubernetesJobName string `json:"kubernetesJobName,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iRun is the Schema for the s2iruns API +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:shortName=s2ir +// +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.runState" +// +kubebuilder:printcolumn:name="K8sJobName",type="string",JSONPath=".status.kubernetesJobName" +// +kubebuilder:printcolumn:name="StartTime",type="date",JSONPath=".status.startTime" +// +kubebuilder:printcolumn:name="CompletionTime",type="date",JSONPath=".status.completionTime" +// +kubebuilder:printcolumn:name="LogURL",type="string",JSONPath=".status.logURL" +type S2iRun struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec S2iRunSpec `json:"spec,omitempty"` + Status S2iRunStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// S2iRunList contains a list of S2iRun +type S2iRunList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []S2iRun `json:"items"` +} + +func init() { + SchemeBuilder.Register(&S2iRun{}, &S2iRunList{}) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..96b10aef1 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,609 @@ +// +build !ignore_autogenerated + +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthConfig) DeepCopyInto(out *AuthConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig. +func (in *AuthConfig) DeepCopy() *AuthConfig { + if in == nil { + return nil + } + out := new(AuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CGroupLimits) DeepCopyInto(out *CGroupLimits) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CGroupLimits. +func (in *CGroupLimits) DeepCopy() *CGroupLimits { + if in == nil { + return nil + } + out := new(CGroupLimits) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerConfig) DeepCopyInto(out *ContainerConfig) { + *out = *in + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerConfig. +func (in *ContainerConfig) DeepCopy() *ContainerConfig { + if in == nil { + return nil + } + out := new(ContainerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerConfig) DeepCopyInto(out *DockerConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfig. +func (in *DockerConfig) DeepCopy() *DockerConfig { + if in == nil { + return nil + } + out := new(DockerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec. +func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec { + if in == nil { + return nil + } + out := new(EnvironmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Parameter) DeepCopyInto(out *Parameter) { + *out = *in + if in.OptValues != nil { + in, out := &in.OptValues, &out.OptValues + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter. +func (in *Parameter) DeepCopy() *Parameter { + if in == nil { + return nil + } + out := new(Parameter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig. +func (in *ProxyConfig) DeepCopy() *ProxyConfig { + if in == nil { + return nil + } + out := new(ProxyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iAutoScale) DeepCopyInto(out *S2iAutoScale) { + *out = *in + if in.InitReplicas != nil { + in, out := &in.InitReplicas, &out.InitReplicas + *out = new(int32) + **out = **in + } + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iAutoScale. +func (in *S2iAutoScale) DeepCopy() *S2iAutoScale { + if in == nil { + return nil + } + out := new(S2iAutoScale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilder) DeepCopyInto(out *S2iBuilder) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilder. +func (in *S2iBuilder) DeepCopy() *S2iBuilder { + if in == nil { + return nil + } + out := new(S2iBuilder) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iBuilder) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderList) DeepCopyInto(out *S2iBuilderList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]S2iBuilder, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderList. +func (in *S2iBuilderList) DeepCopy() *S2iBuilderList { + if in == nil { + return nil + } + out := new(S2iBuilderList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iBuilderList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderSpec) DeepCopyInto(out *S2iBuilderSpec) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = new(S2iConfig) + (*in).DeepCopyInto(*out) + } + if in.FromTemplate != nil { + in, out := &in.FromTemplate, &out.FromTemplate + *out = new(UserDefineTemplate) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderSpec. +func (in *S2iBuilderSpec) DeepCopy() *S2iBuilderSpec { + if in == nil { + return nil + } + out := new(S2iBuilderSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderStatus) DeepCopyInto(out *S2iBuilderStatus) { + *out = *in + if in.LastRunName != nil { + in, out := &in.LastRunName, &out.LastRunName + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderStatus. +func (in *S2iBuilderStatus) DeepCopy() *S2iBuilderStatus { + if in == nil { + return nil + } + out := new(S2iBuilderStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderTemplate) DeepCopyInto(out *S2iBuilderTemplate) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderTemplate. +func (in *S2iBuilderTemplate) DeepCopy() *S2iBuilderTemplate { + if in == nil { + return nil + } + out := new(S2iBuilderTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iBuilderTemplate) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderTemplateList) DeepCopyInto(out *S2iBuilderTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]S2iBuilderTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderTemplateList. +func (in *S2iBuilderTemplateList) DeepCopy() *S2iBuilderTemplateList { + if in == nil { + return nil + } + out := new(S2iBuilderTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iBuilderTemplateList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderTemplateSpec) DeepCopyInto(out *S2iBuilderTemplateSpec) { + *out = *in + if in.BaseImages != nil { + in, out := &in.BaseImages, &out.BaseImages + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]Parameter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderTemplateSpec. +func (in *S2iBuilderTemplateSpec) DeepCopy() *S2iBuilderTemplateSpec { + if in == nil { + return nil + } + out := new(S2iBuilderTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iBuilderTemplateStatus) DeepCopyInto(out *S2iBuilderTemplateStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iBuilderTemplateStatus. +func (in *S2iBuilderTemplateStatus) DeepCopy() *S2iBuilderTemplateStatus { + if in == nil { + return nil + } + out := new(S2iBuilderTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iConfig) DeepCopyInto(out *S2iConfig) { + *out = *in + out.RuntimeAuthentication = in.RuntimeAuthentication + if in.RuntimeArtifacts != nil { + in, out := &in.RuntimeArtifacts, &out.RuntimeArtifacts + *out = make([]VolumeSpec, len(*in)) + copy(*out, *in) + } + if in.DockerConfig != nil { + in, out := &in.DockerConfig, &out.DockerConfig + *out = new(DockerConfig) + **out = **in + } + out.PullAuthentication = in.PullAuthentication + out.PushAuthentication = in.PushAuthentication + out.IncrementalAuthentication = in.IncrementalAuthentication + if in.Environment != nil { + in, out := &in.Environment, &out.Environment + *out = make([]EnvironmentSpec, len(*in)) + copy(*out, *in) + } + if in.Injections != nil { + in, out := &in.Injections, &out.Injections + *out = make([]VolumeSpec, len(*in)) + copy(*out, *in) + } + if in.CGroupLimits != nil { + in, out := &in.CGroupLimits, &out.CGroupLimits + *out = new(CGroupLimits) + **out = **in + } + if in.DropCapabilities != nil { + in, out := &in.DropCapabilities, &out.DropCapabilities + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ScriptDownloadProxyConfig != nil { + in, out := &in.ScriptDownloadProxyConfig, &out.ScriptDownloadProxyConfig + *out = new(ProxyConfig) + **out = **in + } + if in.BuildVolumes != nil { + in, out := &in.BuildVolumes, &out.BuildVolumes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecurityOpt != nil { + in, out := &in.SecurityOpt, &out.SecurityOpt + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AddHost != nil { + in, out := &in.AddHost, &out.AddHost + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iConfig. +func (in *S2iConfig) DeepCopy() *S2iConfig { + if in == nil { + return nil + } + out := new(S2iConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iRun) DeepCopyInto(out *S2iRun) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iRun. +func (in *S2iRun) DeepCopy() *S2iRun { + if in == nil { + return nil + } + out := new(S2iRun) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iRun) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iRunList) DeepCopyInto(out *S2iRunList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]S2iRun, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iRunList. +func (in *S2iRunList) DeepCopy() *S2iRunList { + if in == nil { + return nil + } + out := new(S2iRunList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *S2iRunList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iRunSpec) DeepCopyInto(out *S2iRunSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iRunSpec. +func (in *S2iRunSpec) DeepCopy() *S2iRunSpec { + if in == nil { + return nil + } + out := new(S2iRunSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S2iRunStatus) DeepCopyInto(out *S2iRunStatus) { + *out = *in + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = (*in).DeepCopy() + } + if in.CompletionTime != nil { + in, out := &in.CompletionTime, &out.CompletionTime + *out = (*in).DeepCopy() + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S2iRunStatus. +func (in *S2iRunStatus) DeepCopy() *S2iRunStatus { + if in == nil { + return nil + } + out := new(S2iRunStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserDefineTemplate) DeepCopyInto(out *UserDefineTemplate) { + *out = *in + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]Parameter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefineTemplate. +func (in *UserDefineTemplate) DeepCopy() *UserDefineTemplate { + if in == nil { + return nil + } + out := new(UserDefineTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec. +func (in *VolumeSpec) DeepCopy() *VolumeSpec { + if in == nil { + return nil + } + out := new(VolumeSpec) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/clientset.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/clientset.go new file mode 100644 index 000000000..a4e682e32 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/clientset.go @@ -0,0 +1,97 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + devopsv1alpha1 "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + DevopsV1alpha1() devopsv1alpha1.DevopsV1alpha1Interface + // Deprecated: please explicitly pick a version if possible. + Devops() devopsv1alpha1.DevopsV1alpha1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + devopsV1alpha1 *devopsv1alpha1.DevopsV1alpha1Client +} + +// DevopsV1alpha1 retrieves the DevopsV1alpha1Client +func (c *Clientset) DevopsV1alpha1() devopsv1alpha1.DevopsV1alpha1Interface { + return c.devopsV1alpha1 +} + +// Deprecated: Devops retrieves the default version of DevopsClient. +// Please explicitly pick a version. +func (c *Clientset) Devops() devopsv1alpha1.DevopsV1alpha1Interface { + return c.devopsV1alpha1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.devopsV1alpha1, err = devopsv1alpha1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.devopsV1alpha1 = devopsv1alpha1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.devopsV1alpha1 = devopsv1alpha1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/doc.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/doc.go new file mode 100644 index 000000000..c94f528e1 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/doc.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..33a447aff --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/register.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..8f00896e2 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme/register.go @@ -0,0 +1,55 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + devopsv1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) +var localSchemeBuilder = runtime.SchemeBuilder{ + devopsv1alpha1.AddToScheme, +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +var AddToScheme = localSchemeBuilder.AddToScheme + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + utilruntime.Must(AddToScheme(Scheme)) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/devops_client.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/devops_client.go new file mode 100644 index 000000000..49f03b27d --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/devops_client.go @@ -0,0 +1,99 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type DevopsV1alpha1Interface interface { + RESTClient() rest.Interface + S2iBuildersGetter + S2iBuilderTemplatesGetter + S2iRunsGetter +} + +// DevopsV1alpha1Client is used to interact with features provided by the devops.kubesphere.io group. +type DevopsV1alpha1Client struct { + restClient rest.Interface +} + +func (c *DevopsV1alpha1Client) S2iBuilders(namespace string) S2iBuilderInterface { + return newS2iBuilders(c, namespace) +} + +func (c *DevopsV1alpha1Client) S2iBuilderTemplates() S2iBuilderTemplateInterface { + return newS2iBuilderTemplates(c) +} + +func (c *DevopsV1alpha1Client) S2iRuns(namespace string) S2iRunInterface { + return newS2iRuns(c, namespace) +} + +// NewForConfig creates a new DevopsV1alpha1Client for the given config. +func NewForConfig(c *rest.Config) (*DevopsV1alpha1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &DevopsV1alpha1Client{client}, nil +} + +// NewForConfigOrDie creates a new DevopsV1alpha1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *DevopsV1alpha1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new DevopsV1alpha1Client for the given RESTClient. +func New(c rest.Interface) *DevopsV1alpha1Client { + return &DevopsV1alpha1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1alpha1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *DevopsV1alpha1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/doc.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/doc.go new file mode 100644 index 000000000..a86048def --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1alpha1 diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/generated_expansion.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/generated_expansion.go new file mode 100644 index 000000000..ce8107965 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/generated_expansion.go @@ -0,0 +1,24 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +type S2iBuilderExpansion interface{} + +type S2iBuilderTemplateExpansion interface{} + +type S2iRunExpansion interface{} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuilder.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuilder.go new file mode 100644 index 000000000..de5d83383 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuilder.go @@ -0,0 +1,190 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + scheme "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// S2iBuildersGetter has a method to return a S2iBuilderInterface. +// A group's client should implement this interface. +type S2iBuildersGetter interface { + S2iBuilders(namespace string) S2iBuilderInterface +} + +// S2iBuilderInterface has methods to work with S2iBuilder resources. +type S2iBuilderInterface interface { + Create(*v1alpha1.S2iBuilder) (*v1alpha1.S2iBuilder, error) + Update(*v1alpha1.S2iBuilder) (*v1alpha1.S2iBuilder, error) + UpdateStatus(*v1alpha1.S2iBuilder) (*v1alpha1.S2iBuilder, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.S2iBuilder, error) + List(opts v1.ListOptions) (*v1alpha1.S2iBuilderList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iBuilder, err error) + S2iBuilderExpansion +} + +// s2iBuilders implements S2iBuilderInterface +type s2iBuilders struct { + client rest.Interface + ns string +} + +// newS2iBuilders returns a S2iBuilders +func newS2iBuilders(c *DevopsV1alpha1Client, namespace string) *s2iBuilders { + return &s2iBuilders{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the s2iBuilder, and returns the corresponding s2iBuilder object, and an error if there is any. +func (c *s2iBuilders) Get(name string, options v1.GetOptions) (result *v1alpha1.S2iBuilder, err error) { + result = &v1alpha1.S2iBuilder{} + err = c.client.Get(). + Namespace(c.ns). + Resource("s2ibuilders"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of S2iBuilders that match those selectors. +func (c *s2iBuilders) List(opts v1.ListOptions) (result *v1alpha1.S2iBuilderList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.S2iBuilderList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("s2ibuilders"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested s2iBuilders. +func (c *s2iBuilders) Watch(opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("s2ibuilders"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a s2iBuilder and creates it. Returns the server's representation of the s2iBuilder, and an error, if there is any. +func (c *s2iBuilders) Create(s2iBuilder *v1alpha1.S2iBuilder) (result *v1alpha1.S2iBuilder, err error) { + result = &v1alpha1.S2iBuilder{} + err = c.client.Post(). + Namespace(c.ns). + Resource("s2ibuilders"). + Body(s2iBuilder). + Do(). + Into(result) + return +} + +// Update takes the representation of a s2iBuilder and updates it. Returns the server's representation of the s2iBuilder, and an error, if there is any. +func (c *s2iBuilders) Update(s2iBuilder *v1alpha1.S2iBuilder) (result *v1alpha1.S2iBuilder, err error) { + result = &v1alpha1.S2iBuilder{} + err = c.client.Put(). + Namespace(c.ns). + Resource("s2ibuilders"). + Name(s2iBuilder.Name). + Body(s2iBuilder). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *s2iBuilders) UpdateStatus(s2iBuilder *v1alpha1.S2iBuilder) (result *v1alpha1.S2iBuilder, err error) { + result = &v1alpha1.S2iBuilder{} + err = c.client.Put(). + Namespace(c.ns). + Resource("s2ibuilders"). + Name(s2iBuilder.Name). + SubResource("status"). + Body(s2iBuilder). + Do(). + Into(result) + return +} + +// Delete takes name of the s2iBuilder and deletes it. Returns an error if one occurs. +func (c *s2iBuilders) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("s2ibuilders"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *s2iBuilders) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + var timeout time.Duration + if listOptions.TimeoutSeconds != nil { + timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("s2ibuilders"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched s2iBuilder. +func (c *s2iBuilders) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iBuilder, err error) { + result = &v1alpha1.S2iBuilder{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("s2ibuilders"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuildertemplate.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuildertemplate.go new file mode 100644 index 000000000..f2fc9ef6f --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2ibuildertemplate.go @@ -0,0 +1,179 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + scheme "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// S2iBuilderTemplatesGetter has a method to return a S2iBuilderTemplateInterface. +// A group's client should implement this interface. +type S2iBuilderTemplatesGetter interface { + S2iBuilderTemplates() S2iBuilderTemplateInterface +} + +// S2iBuilderTemplateInterface has methods to work with S2iBuilderTemplate resources. +type S2iBuilderTemplateInterface interface { + Create(*v1alpha1.S2iBuilderTemplate) (*v1alpha1.S2iBuilderTemplate, error) + Update(*v1alpha1.S2iBuilderTemplate) (*v1alpha1.S2iBuilderTemplate, error) + UpdateStatus(*v1alpha1.S2iBuilderTemplate) (*v1alpha1.S2iBuilderTemplate, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.S2iBuilderTemplate, error) + List(opts v1.ListOptions) (*v1alpha1.S2iBuilderTemplateList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iBuilderTemplate, err error) + S2iBuilderTemplateExpansion +} + +// s2iBuilderTemplates implements S2iBuilderTemplateInterface +type s2iBuilderTemplates struct { + client rest.Interface +} + +// newS2iBuilderTemplates returns a S2iBuilderTemplates +func newS2iBuilderTemplates(c *DevopsV1alpha1Client) *s2iBuilderTemplates { + return &s2iBuilderTemplates{ + client: c.RESTClient(), + } +} + +// Get takes name of the s2iBuilderTemplate, and returns the corresponding s2iBuilderTemplate object, and an error if there is any. +func (c *s2iBuilderTemplates) Get(name string, options v1.GetOptions) (result *v1alpha1.S2iBuilderTemplate, err error) { + result = &v1alpha1.S2iBuilderTemplate{} + err = c.client.Get(). + Resource("s2ibuildertemplates"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of S2iBuilderTemplates that match those selectors. +func (c *s2iBuilderTemplates) List(opts v1.ListOptions) (result *v1alpha1.S2iBuilderTemplateList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.S2iBuilderTemplateList{} + err = c.client.Get(). + Resource("s2ibuildertemplates"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested s2iBuilderTemplates. +func (c *s2iBuilderTemplates) Watch(opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Resource("s2ibuildertemplates"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a s2iBuilderTemplate and creates it. Returns the server's representation of the s2iBuilderTemplate, and an error, if there is any. +func (c *s2iBuilderTemplates) Create(s2iBuilderTemplate *v1alpha1.S2iBuilderTemplate) (result *v1alpha1.S2iBuilderTemplate, err error) { + result = &v1alpha1.S2iBuilderTemplate{} + err = c.client.Post(). + Resource("s2ibuildertemplates"). + Body(s2iBuilderTemplate). + Do(). + Into(result) + return +} + +// Update takes the representation of a s2iBuilderTemplate and updates it. Returns the server's representation of the s2iBuilderTemplate, and an error, if there is any. +func (c *s2iBuilderTemplates) Update(s2iBuilderTemplate *v1alpha1.S2iBuilderTemplate) (result *v1alpha1.S2iBuilderTemplate, err error) { + result = &v1alpha1.S2iBuilderTemplate{} + err = c.client.Put(). + Resource("s2ibuildertemplates"). + Name(s2iBuilderTemplate.Name). + Body(s2iBuilderTemplate). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *s2iBuilderTemplates) UpdateStatus(s2iBuilderTemplate *v1alpha1.S2iBuilderTemplate) (result *v1alpha1.S2iBuilderTemplate, err error) { + result = &v1alpha1.S2iBuilderTemplate{} + err = c.client.Put(). + Resource("s2ibuildertemplates"). + Name(s2iBuilderTemplate.Name). + SubResource("status"). + Body(s2iBuilderTemplate). + Do(). + Into(result) + return +} + +// Delete takes name of the s2iBuilderTemplate and deletes it. Returns an error if one occurs. +func (c *s2iBuilderTemplates) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Resource("s2ibuildertemplates"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *s2iBuilderTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + var timeout time.Duration + if listOptions.TimeoutSeconds != nil { + timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Resource("s2ibuildertemplates"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched s2iBuilderTemplate. +func (c *s2iBuilderTemplates) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iBuilderTemplate, err error) { + result = &v1alpha1.S2iBuilderTemplate{} + err = c.client.Patch(pt). + Resource("s2ibuildertemplates"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2irun.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2irun.go new file mode 100644 index 000000000..f104d1da6 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/typed/devops/v1alpha1/s2irun.go @@ -0,0 +1,190 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + scheme "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// S2iRunsGetter has a method to return a S2iRunInterface. +// A group's client should implement this interface. +type S2iRunsGetter interface { + S2iRuns(namespace string) S2iRunInterface +} + +// S2iRunInterface has methods to work with S2iRun resources. +type S2iRunInterface interface { + Create(*v1alpha1.S2iRun) (*v1alpha1.S2iRun, error) + Update(*v1alpha1.S2iRun) (*v1alpha1.S2iRun, error) + UpdateStatus(*v1alpha1.S2iRun) (*v1alpha1.S2iRun, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.S2iRun, error) + List(opts v1.ListOptions) (*v1alpha1.S2iRunList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iRun, err error) + S2iRunExpansion +} + +// s2iRuns implements S2iRunInterface +type s2iRuns struct { + client rest.Interface + ns string +} + +// newS2iRuns returns a S2iRuns +func newS2iRuns(c *DevopsV1alpha1Client, namespace string) *s2iRuns { + return &s2iRuns{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the s2iRun, and returns the corresponding s2iRun object, and an error if there is any. +func (c *s2iRuns) Get(name string, options v1.GetOptions) (result *v1alpha1.S2iRun, err error) { + result = &v1alpha1.S2iRun{} + err = c.client.Get(). + Namespace(c.ns). + Resource("s2iruns"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of S2iRuns that match those selectors. +func (c *s2iRuns) List(opts v1.ListOptions) (result *v1alpha1.S2iRunList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.S2iRunList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("s2iruns"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested s2iRuns. +func (c *s2iRuns) Watch(opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("s2iruns"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a s2iRun and creates it. Returns the server's representation of the s2iRun, and an error, if there is any. +func (c *s2iRuns) Create(s2iRun *v1alpha1.S2iRun) (result *v1alpha1.S2iRun, err error) { + result = &v1alpha1.S2iRun{} + err = c.client.Post(). + Namespace(c.ns). + Resource("s2iruns"). + Body(s2iRun). + Do(). + Into(result) + return +} + +// Update takes the representation of a s2iRun and updates it. Returns the server's representation of the s2iRun, and an error, if there is any. +func (c *s2iRuns) Update(s2iRun *v1alpha1.S2iRun) (result *v1alpha1.S2iRun, err error) { + result = &v1alpha1.S2iRun{} + err = c.client.Put(). + Namespace(c.ns). + Resource("s2iruns"). + Name(s2iRun.Name). + Body(s2iRun). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *s2iRuns) UpdateStatus(s2iRun *v1alpha1.S2iRun) (result *v1alpha1.S2iRun, err error) { + result = &v1alpha1.S2iRun{} + err = c.client.Put(). + Namespace(c.ns). + Resource("s2iruns"). + Name(s2iRun.Name). + SubResource("status"). + Body(s2iRun). + Do(). + Into(result) + return +} + +// Delete takes name of the s2iRun and deletes it. Returns an error if one occurs. +func (c *s2iRuns) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("s2iruns"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *s2iRuns) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + var timeout time.Duration + if listOptions.TimeoutSeconds != nil { + timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("s2iruns"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched s2iRun. +func (c *s2iRuns) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.S2iRun, err error) { + result = &v1alpha1.S2iRun{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("s2iruns"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/interface.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/interface.go new file mode 100644 index 000000000..295d64a6e --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/interface.go @@ -0,0 +1,45 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package devops + +import ( + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1" + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1alpha1 provides access to shared informers for resources in V1alpha1. + V1alpha1() v1alpha1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1alpha1 returns a new v1alpha1.Interface. +func (g *group) V1alpha1() v1alpha1.Interface { + return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/interface.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/interface.go new file mode 100644 index 000000000..5ecf79601 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/interface.go @@ -0,0 +1,58 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // S2iBuilders returns a S2iBuilderInformer. + S2iBuilders() S2iBuilderInformer + // S2iBuilderTemplates returns a S2iBuilderTemplateInformer. + S2iBuilderTemplates() S2iBuilderTemplateInformer + // S2iRuns returns a S2iRunInformer. + S2iRuns() S2iRunInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// S2iBuilders returns a S2iBuilderInformer. +func (v *version) S2iBuilders() S2iBuilderInformer { + return &s2iBuilderInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// S2iBuilderTemplates returns a S2iBuilderTemplateInformer. +func (v *version) S2iBuilderTemplates() S2iBuilderTemplateInformer { + return &s2iBuilderTemplateInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// S2iRuns returns a S2iRunInformer. +func (v *version) S2iRuns() S2iRunInformer { + return &s2iRunInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuilder.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuilder.go new file mode 100644 index 000000000..e052d62a4 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuilder.go @@ -0,0 +1,88 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + devopsv1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + versioned "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// S2iBuilderInformer provides access to a shared informer and lister for +// S2iBuilders. +type S2iBuilderInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.S2iBuilderLister +} + +type s2iBuilderInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewS2iBuilderInformer constructs a new informer for S2iBuilder type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewS2iBuilderInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredS2iBuilderInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredS2iBuilderInformer constructs a new informer for S2iBuilder type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredS2iBuilderInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iBuilders(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iBuilders(namespace).Watch(options) + }, + }, + &devopsv1alpha1.S2iBuilder{}, + resyncPeriod, + indexers, + ) +} + +func (f *s2iBuilderInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredS2iBuilderInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *s2iBuilderInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&devopsv1alpha1.S2iBuilder{}, f.defaultInformer) +} + +func (f *s2iBuilderInformer) Lister() v1alpha1.S2iBuilderLister { + return v1alpha1.NewS2iBuilderLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuildertemplate.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuildertemplate.go new file mode 100644 index 000000000..ef15735aa --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2ibuildertemplate.go @@ -0,0 +1,87 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + devopsv1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + versioned "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// S2iBuilderTemplateInformer provides access to a shared informer and lister for +// S2iBuilderTemplates. +type S2iBuilderTemplateInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.S2iBuilderTemplateLister +} + +type s2iBuilderTemplateInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewS2iBuilderTemplateInformer constructs a new informer for S2iBuilderTemplate type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewS2iBuilderTemplateInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredS2iBuilderTemplateInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredS2iBuilderTemplateInformer constructs a new informer for S2iBuilderTemplate type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredS2iBuilderTemplateInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iBuilderTemplates().List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iBuilderTemplates().Watch(options) + }, + }, + &devopsv1alpha1.S2iBuilderTemplate{}, + resyncPeriod, + indexers, + ) +} + +func (f *s2iBuilderTemplateInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredS2iBuilderTemplateInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *s2iBuilderTemplateInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&devopsv1alpha1.S2iBuilderTemplate{}, f.defaultInformer) +} + +func (f *s2iBuilderTemplateInformer) Lister() v1alpha1.S2iBuilderTemplateLister { + return v1alpha1.NewS2iBuilderTemplateLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2irun.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2irun.go new file mode 100644 index 000000000..87e97cde8 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops/v1alpha1/s2irun.go @@ -0,0 +1,88 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + devopsv1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + versioned "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// S2iRunInformer provides access to a shared informer and lister for +// S2iRuns. +type S2iRunInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.S2iRunLister +} + +type s2iRunInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewS2iRunInformer constructs a new informer for S2iRun type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewS2iRunInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredS2iRunInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredS2iRunInformer constructs a new informer for S2iRun type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredS2iRunInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iRuns(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.DevopsV1alpha1().S2iRuns(namespace).Watch(options) + }, + }, + &devopsv1alpha1.S2iRun{}, + resyncPeriod, + indexers, + ) +} + +func (f *s2iRunInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredS2iRunInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *s2iRunInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&devopsv1alpha1.S2iRun{}, f.defaultInformer) +} + +func (f *s2iRunInformer) Lister() v1alpha1.S2iRunLister { + return v1alpha1.NewS2iRunLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/factory.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/factory.go new file mode 100644 index 000000000..d268df3b8 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/factory.go @@ -0,0 +1,179 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" + devops "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/devops" + internalinterfaces "github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Devops() devops.Interface +} + +func (f *sharedInformerFactory) Devops() devops.Interface { + return devops.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/generic.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/generic.go new file mode 100644 index 000000000..9f74cf506 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/generic.go @@ -0,0 +1,65 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=devops.kubesphere.io, Version=v1alpha1 + case v1alpha1.SchemeGroupVersion.WithResource("s2ibuilders"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Devops().V1alpha1().S2iBuilders().Informer()}, nil + case v1alpha1.SchemeGroupVersion.WithResource("s2ibuildertemplates"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Devops().V1alpha1().S2iBuilderTemplates().Informer()}, nil + case v1alpha1.SchemeGroupVersion.WithResource("s2iruns"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Devops().V1alpha1().S2iRuns().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..4271b20df --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,39 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +// NewInformerFunc takes versioned.Interface and time.Duration to return a SharedIndexInformer. +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +// TweakListOptionsFunc is a function that transforms a v1.ListOptions. +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/expansion_generated.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/expansion_generated.go new file mode 100644 index 000000000..e977e7f62 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/expansion_generated.go @@ -0,0 +1,38 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +// S2iBuilderListerExpansion allows custom methods to be added to +// S2iBuilderLister. +type S2iBuilderListerExpansion interface{} + +// S2iBuilderNamespaceListerExpansion allows custom methods to be added to +// S2iBuilderNamespaceLister. +type S2iBuilderNamespaceListerExpansion interface{} + +// S2iBuilderTemplateListerExpansion allows custom methods to be added to +// S2iBuilderTemplateLister. +type S2iBuilderTemplateListerExpansion interface{} + +// S2iRunListerExpansion allows custom methods to be added to +// S2iRunLister. +type S2iRunListerExpansion interface{} + +// S2iRunNamespaceListerExpansion allows custom methods to be added to +// S2iRunNamespaceLister. +type S2iRunNamespaceListerExpansion interface{} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuilder.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuilder.go new file mode 100644 index 000000000..b8b94a064 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuilder.go @@ -0,0 +1,93 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// S2iBuilderLister helps list S2iBuilders. +type S2iBuilderLister interface { + // List lists all S2iBuilders in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.S2iBuilder, err error) + // S2iBuilders returns an object that can list and get S2iBuilders. + S2iBuilders(namespace string) S2iBuilderNamespaceLister + S2iBuilderListerExpansion +} + +// s2iBuilderLister implements the S2iBuilderLister interface. +type s2iBuilderLister struct { + indexer cache.Indexer +} + +// NewS2iBuilderLister returns a new S2iBuilderLister. +func NewS2iBuilderLister(indexer cache.Indexer) S2iBuilderLister { + return &s2iBuilderLister{indexer: indexer} +} + +// List lists all S2iBuilders in the indexer. +func (s *s2iBuilderLister) List(selector labels.Selector) (ret []*v1alpha1.S2iBuilder, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.S2iBuilder)) + }) + return ret, err +} + +// S2iBuilders returns an object that can list and get S2iBuilders. +func (s *s2iBuilderLister) S2iBuilders(namespace string) S2iBuilderNamespaceLister { + return s2iBuilderNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// S2iBuilderNamespaceLister helps list and get S2iBuilders. +type S2iBuilderNamespaceLister interface { + // List lists all S2iBuilders in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.S2iBuilder, err error) + // Get retrieves the S2iBuilder from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.S2iBuilder, error) + S2iBuilderNamespaceListerExpansion +} + +// s2iBuilderNamespaceLister implements the S2iBuilderNamespaceLister +// interface. +type s2iBuilderNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all S2iBuilders in the indexer for a given namespace. +func (s s2iBuilderNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.S2iBuilder, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.S2iBuilder)) + }) + return ret, err +} + +// Get retrieves the S2iBuilder from the indexer for a given namespace and name. +func (s s2iBuilderNamespaceLister) Get(name string) (*v1alpha1.S2iBuilder, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("s2ibuilder"), name) + } + return obj.(*v1alpha1.S2iBuilder), nil +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuildertemplate.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuildertemplate.go new file mode 100644 index 000000000..f7609f3d3 --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2ibuildertemplate.go @@ -0,0 +1,64 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// S2iBuilderTemplateLister helps list S2iBuilderTemplates. +type S2iBuilderTemplateLister interface { + // List lists all S2iBuilderTemplates in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.S2iBuilderTemplate, err error) + // Get retrieves the S2iBuilderTemplate from the index for a given name. + Get(name string) (*v1alpha1.S2iBuilderTemplate, error) + S2iBuilderTemplateListerExpansion +} + +// s2iBuilderTemplateLister implements the S2iBuilderTemplateLister interface. +type s2iBuilderTemplateLister struct { + indexer cache.Indexer +} + +// NewS2iBuilderTemplateLister returns a new S2iBuilderTemplateLister. +func NewS2iBuilderTemplateLister(indexer cache.Indexer) S2iBuilderTemplateLister { + return &s2iBuilderTemplateLister{indexer: indexer} +} + +// List lists all S2iBuilderTemplates in the indexer. +func (s *s2iBuilderTemplateLister) List(selector labels.Selector) (ret []*v1alpha1.S2iBuilderTemplate, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.S2iBuilderTemplate)) + }) + return ret, err +} + +// Get retrieves the S2iBuilderTemplate from the index for a given name. +func (s *s2iBuilderTemplateLister) Get(name string) (*v1alpha1.S2iBuilderTemplate, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("s2ibuildertemplate"), name) + } + return obj.(*v1alpha1.S2iBuilderTemplate), nil +} diff --git a/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2irun.go b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2irun.go new file mode 100644 index 000000000..6ea33fc9e --- /dev/null +++ b/vendor/github.com/kubesphere/s2ioperator/pkg/client/listers/devops/v1alpha1/s2irun.go @@ -0,0 +1,93 @@ +/* +Copyright 2019 The Kubesphere Authors. + +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. +*/ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// S2iRunLister helps list S2iRuns. +type S2iRunLister interface { + // List lists all S2iRuns in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.S2iRun, err error) + // S2iRuns returns an object that can list and get S2iRuns. + S2iRuns(namespace string) S2iRunNamespaceLister + S2iRunListerExpansion +} + +// s2iRunLister implements the S2iRunLister interface. +type s2iRunLister struct { + indexer cache.Indexer +} + +// NewS2iRunLister returns a new S2iRunLister. +func NewS2iRunLister(indexer cache.Indexer) S2iRunLister { + return &s2iRunLister{indexer: indexer} +} + +// List lists all S2iRuns in the indexer. +func (s *s2iRunLister) List(selector labels.Selector) (ret []*v1alpha1.S2iRun, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.S2iRun)) + }) + return ret, err +} + +// S2iRuns returns an object that can list and get S2iRuns. +func (s *s2iRunLister) S2iRuns(namespace string) S2iRunNamespaceLister { + return s2iRunNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// S2iRunNamespaceLister helps list and get S2iRuns. +type S2iRunNamespaceLister interface { + // List lists all S2iRuns in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.S2iRun, err error) + // Get retrieves the S2iRun from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.S2iRun, error) + S2iRunNamespaceListerExpansion +} + +// s2iRunNamespaceLister implements the S2iRunNamespaceLister +// interface. +type s2iRunNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all S2iRuns in the indexer for a given namespace. +func (s s2iRunNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.S2iRun, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.S2iRun)) + }) + return ret, err +} + +// Get retrieves the S2iRun from the indexer for a given namespace and name. +func (s s2iRunNamespaceLister) Get(name string) (*v1alpha1.S2iRun, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("s2irun"), name) + } + return obj.(*v1alpha1.S2iRun), nil +} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go deleted file mode 100644 index bc22e9732..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go +++ /dev/null @@ -1,683 +0,0 @@ -package cmd - -func initAgpl() { - Licenses["agpl"] = License{ - Name: "GNU Affero General Public License", - PossibleMatches: []string{"agpl", "affero gpl", "gnu agpl"}, - Header: ` -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see .`, - Text: ` GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go deleted file mode 100644 index 4a847e04a..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initBsdClause2() { - Licenses["freebsd"] = License{ - Name: "Simplified BSD License", - PossibleMatches: []string{"freebsd", "simpbsd", "simple bsd", "2-clause bsd", - "2 clause bsd", "simplified bsd license"}, - Header: `All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE.`, - Text: `{{ .copyright }} -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go deleted file mode 100644 index c7476b31f..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initBsdClause3() { - Licenses["bsd"] = License{ - Name: "NewBSD", - PossibleMatches: []string{"bsd", "newbsd", "3 clause bsd", "3-clause bsd"}, - Header: `All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE.`, - Text: `{{ .copyright }} -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go deleted file mode 100644 index 03e05b3a7..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go +++ /dev/null @@ -1,376 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initGpl2() { - Licenses["gpl2"] = License{ - Name: "GNU General Public License 2.0", - PossibleMatches: []string{"gpl2", "gnu gpl2", "gplv2"}, - Header: ` -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see .`, - Text: ` GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type 'show c' for details. - -The hypothetical commands 'show w' and 'show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than 'show w' and 'show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - 'Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go deleted file mode 100644 index ce07679c7..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go +++ /dev/null @@ -1,711 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initGpl3() { - Licenses["gpl3"] = License{ - Name: "GNU General Public License 3.0", - PossibleMatches: []string{"gpl3", "gplv3", "gpl", "gnu gpl3", "gnu gpl"}, - Header: ` -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see .`, - Text: ` GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type 'show c' for details. - -The hypothetical commands 'show w' and 'show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go deleted file mode 100644 index 0f8b96cad..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go +++ /dev/null @@ -1,186 +0,0 @@ -package cmd - -func initLgpl() { - Licenses["lgpl"] = License{ - Name: "GNU Lesser General Public License", - PossibleMatches: []string{"lgpl", "lesser gpl", "gnu lgpl"}, - Header: ` -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see .`, - Text: ` GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library.`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go deleted file mode 100644 index bd2d0c4fa..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -func initMit() { - Licenses["mit"] = License{ - Name: "MIT License", - PossibleMatches: []string{"mit"}, - Header: ` -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE.`, - Text: `The MIT License (MIT) - -{{ .copyright }} - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -`, - } -} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go b/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go deleted file mode 100644 index a070134dd..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright © 2015 Steve Francia . -// -// 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. - -// Parts inspired by https://github.com/ryanuber/go-license - -package cmd - -import ( - "strings" - "time" - - "github.com/spf13/viper" -) - -// Licenses contains all possible licenses a user can choose from. -var Licenses = make(map[string]License) - -// License represents a software license agreement, containing the Name of -// the license, its possible matches (on the command line as given to cobra), -// the header to be used with each file on the file's creating, and the text -// of the license -type License struct { - Name string // The type of license in use - PossibleMatches []string // Similar names to guess - Text string // License text data - Header string // License header for source files -} - -func init() { - // Allows a user to not use a license. - Licenses["none"] = License{"None", []string{"none", "false"}, "", ""} - - initApache2() - initMit() - initBsdClause3() - initBsdClause2() - initGpl2() - initGpl3() - initLgpl() - initAgpl() -} - -// getLicense returns license specified by user in flag or in config. -// If user didn't specify the license, it returns Apache License 2.0. -// -// TODO: Inspect project for existing license -func getLicense() License { - // If explicitly flagged, use that. - if userLicense != "" { - return findLicense(userLicense) - } - - // If user wants to have custom license, use that. - if viper.IsSet("license.header") || viper.IsSet("license.text") { - return License{Header: viper.GetString("license.header"), - Text: viper.GetString("license.text")} - } - - // If user wants to have built-in license, use that. - if viper.IsSet("license") { - return findLicense(viper.GetString("license")) - } - - // If user didn't set any license, use Apache 2.0 by default. - return Licenses["apache"] -} - -func copyrightLine() string { - author := viper.GetString("author") - - year := viper.GetString("year") // For tests. - if year == "" { - year = time.Now().Format("2006") - } - - return "Copyright © " + year + " " + author -} - -// findLicense looks for License object of built-in licenses. -// If it didn't find license, then the app will be terminated and -// error will be printed. -func findLicense(name string) License { - found := matchLicense(name) - if found == "" { - er("unknown license: " + name) - } - return Licenses[found] -} - -// matchLicense compares the given a license name -// to PossibleMatches of all built-in licenses. -// It returns blank string, if name is blank string or it didn't find -// then appropriate match to name. -func matchLicense(name string) string { - if name == "" { - return "" - } - - for key, lic := range Licenses { - for _, match := range lic.PossibleMatches { - if strings.EqualFold(name, match) { - return key - } - } - } - - return "" -} diff --git a/vendor/k8s.io/kubernetes/third_party/forked/godep/license.go b/vendor/k8s.io/kubernetes/third_party/forked/godep/license.go deleted file mode 100644 index 5ce82496f..000000000 --- a/vendor/k8s.io/kubernetes/third_party/forked/godep/license.go +++ /dev/null @@ -1,59 +0,0 @@ -package main - -import ( - "strings" -) - -// LicenseFilePrefix is a list of filename prefixes that indicate it -// might contain a software license -var LicenseFilePrefix = []string{ - "licence", // UK spelling - "license", // US spelling - "copying", - "unlicense", - "copyright", - "copyleft", - "authors", - "contributors", -} - -// LegalFileSubstring are substrings that indicate the file is likely -// to contain some type of legal declaration. "legal" is often used -// that it might moved to LicenseFilePrefix -var LegalFileSubstring = []string{ - "legal", - "notice", - "disclaimer", - "patent", - "third-party", - "thirdparty", -} - -// IsLicenseFile returns true if the filename might be contain a -// software license -func IsLicenseFile(filename string) bool { - lowerfile := strings.ToLower(filename) - for _, prefix := range LicenseFilePrefix { - if strings.HasPrefix(lowerfile, prefix) { - return true - } - } - return false -} - -// IsLegalFile returns true if the file is likely to contain some type -// of of legal declaration or licensing information -func IsLegalFile(filename string) bool { - lowerfile := strings.ToLower(filename) - for _, prefix := range LicenseFilePrefix { - if strings.HasPrefix(lowerfile, prefix) { - return true - } - } - for _, substring := range LegalFileSubstring { - if strings.Contains(lowerfile, substring) { - return true - } - } - return false -}