diff --git a/Gopkg.lock b/Gopkg.lock index c6fb673..81449a9 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -2,311 +2,242 @@ [[projects]] - digest = "1:315ee4e58738f41b338a701e8acb4e991f6d30737c2ae757d2087a1d28d72810" name = "cloud.google.com/go" packages = ["compute/metadata"] - pruneopts = "NT" revision = "28a4bc8c44b3acbcc482cff0cdf7de29a4688b61" version = "v0.35.1" [[projects]] - digest = "1:75d2b55b13298745ec068057251d05d65bbae0a668201fe45ad6986551a55601" name = "github.com/BurntSushi/toml" packages = ["."] - pruneopts = "NT" revision = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005" version = "v0.3.1" [[projects]] - digest = "1:d8ebbd207f3d3266d4423ce4860c9f3794956306ded6c7ba312ecc69cdfbf04c" name = "github.com/PuerkitoBio/purell" packages = ["."] - pruneopts = "NT" revision = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4" version = "v1.1.0" [[projects]] branch = "master" - digest = "1:8098cd40cd09879efbf12e33bcd51ead4a66006ac802cd563a66c4f3373b9727" name = "github.com/PuerkitoBio/urlesc" packages = ["."] - pruneopts = "NT" revision = "de5bf2ad457846296e2031421a34e2568e304e35" [[projects]] - digest = "1:4b8b5811da6970495e04d1f4e98bb89518cc3cfc3b3f456bdb876ed7b6c74049" name = "github.com/davecgh/go-spew" packages = ["spew"] - pruneopts = "NT" revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" version = "v1.1.1" [[projects]] - digest = "1:3f718788c59f3ec687bcc963cb6034a132327387784c8c04392abaaea9ad7498" name = "github.com/emicklei/go-restful" packages = [ ".", - "log", + "log" ] - pruneopts = "NT" revision = "e37671aced663c8d3a395bd301857e26dcf4340c" version = "v2.8.1" [[projects]] - digest = "1:81466b4218bf6adddac2572a30ac733a9255919bc2f470b4827a317bd4ee1756" name = "github.com/ghodss/yaml" packages = ["."] - pruneopts = "NT" revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7" version = "v1.0.0" [[projects]] branch = "master" - digest = "1:d421af4c4fe51d399667d573982d663fe1fa67020a88d3ae43466ebfe8e2b5c9" name = "github.com/go-logr/logr" packages = ["."] - pruneopts = "NT" revision = "9fb12b3b21c5415d16ac18dc5cd42c1cfdd40c4e" [[projects]] - digest = "1:340497a512995aa69c0add901d79a2096b3449d35a44a6f1f1115091a9f8c687" name = "github.com/go-logr/zapr" packages = ["."] - pruneopts = "NT" revision = "7536572e8d55209135cd5e7ccf7fce43dca217ab" version = "v0.1.0" [[projects]] - digest = "1:260f7ebefc63024c8dfe2c9f1a2935a89fa4213637a1f522f592f80c001cc441" name = "github.com/go-openapi/jsonpointer" packages = ["."] - pruneopts = "NT" revision = "ef5f0afec364d3b9396b7b77b43dbe26bf1f8004" version = "v0.18.0" [[projects]] - digest = "1:98abd61947ff5c7c6fcfec5473d02a4821ed3a2dd99a4fbfdb7925b0dd745546" name = "github.com/go-openapi/jsonreference" packages = ["."] - pruneopts = "NT" revision = "8483a886a90412cd6858df4ea3483dce9c8e35a3" version = "v0.18.0" [[projects]] - digest = "1:4da4ea0a664ba528965683d350f602d0f11464e6bb2e17aad0914723bc25d163" name = "github.com/go-openapi/spec" packages = ["."] - pruneopts = "NT" revision = "5b6cdde3200976e3ecceb2868706ee39b6aff3e4" version = "v0.18.0" [[projects]] - digest = "1:dc0f590770e5a6c70ea086232324f7b7dc4857c60eca63ab8ff78e0a5cfcdbf3" name = "github.com/go-openapi/swag" packages = ["."] - pruneopts = "NT" revision = "1d29f06aebd59ccdf11ae04aa0334ded96e2d909" version = "v0.18.0" [[projects]] - digest = "1:9059915429f7f3a5f18cfa6b7cab9a28721d7ac6db4079a62044aa229eb7f2a8" name = "github.com/gobuffalo/envy" packages = ["."] - pruneopts = "NT" revision = "fa0dfdc10b5366ce365b7d9d1755a03e4e797bc5" version = "v1.6.15" [[projects]] - digest = "1:932970e69f16e127aa0653b8263ae588cd127fa53273e19ba44332902c9826f2" name = "github.com/gogo/protobuf" packages = [ "proto", - "sortkeys", + "sortkeys" ] - pruneopts = "NT" revision = "4cbf7e384e768b4e01799441fdf2a706a5635ae7" version = "v1.2.0" [[projects]] branch = "master" - digest = "1:e2b86e41f3d669fc36b50d31d32d22c8ac656c75aa5ea89717ce7177e134ff2a" name = "github.com/golang/glog" packages = ["."] - pruneopts = "NT" revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998" [[projects]] branch = "master" - digest = "1:20b774dcfdf0fff3148432beb828c52404f3eb3d70b7ce71ae0356ed6cbc2bae" name = "github.com/golang/groupcache" packages = ["lru"] - pruneopts = "NT" revision = "5b532d6fd5efaf7fa130d4e859a2fde0fc3a9e1b" [[projects]] - digest = "1:d7cb4458ea8782e6efacd8f4940796ec559c90833509c436f40c4085b98156dd" name = "github.com/golang/protobuf" packages = [ "proto", "ptypes", "ptypes/any", "ptypes/duration", - "ptypes/timestamp", + "ptypes/timestamp" ] - pruneopts = "NT" revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5" version = "v1.2.0" [[projects]] branch = "master" - digest = "1:05f95ffdfcf651bdb0f05b40b69e7f5663047f8da75c72d58728acb59b5cc107" name = "github.com/google/btree" packages = ["."] - pruneopts = "NT" revision = "4030bb1f1f0c35b30ca7009e9ebd06849dd45306" [[projects]] branch = "master" - digest = "1:52c5834e2bebac9030c97cc0798ac11c3aa8a39f098aeb419f142533da6cd3cc" name = "github.com/google/gofuzz" packages = ["."] - pruneopts = "NT" revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1" [[projects]] - digest = "1:56a1f3949ebb7fa22fa6b4e4ac0fe0f77cc4faee5b57413e6fa9199a8458faf1" name = "github.com/google/uuid" packages = ["."] - pruneopts = "NT" revision = "9b3b1e0f5f99ae461456d768e7d301a7acdaa2d8" version = "v1.1.0" [[projects]] - digest = "1:289332c13b80edfefc88397cce5266c16845dcf204fa2f6ac7e464ee4c7f6e96" name = "github.com/googleapis/gnostic" packages = [ "OpenAPIv2", "compiler", - "extensions", + "extensions" ] - pruneopts = "NT" revision = "7c663266750e7d82587642f65e60bc4083f1f84e" version = "v0.2.0" [[projects]] branch = "master" - digest = "1:97972f03fbf34ec4247ddc78ddb681389c468c020492aa32b109744a54fc0c14" name = "github.com/gregjones/httpcache" packages = [ ".", - "diskcache", + "diskcache" ] - pruneopts = "NT" revision = "c63ab54fda8f77302f8d414e19933f2b6026a089" [[projects]] - digest = "1:b42cde0e1f3c816dd57f57f7bbcf05ca40263ad96f168714c130c611fc0856a6" name = "github.com/hashicorp/golang-lru" packages = [ ".", - "simplelru", + "simplelru" ] - pruneopts = "NT" revision = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768" version = "v0.5.0" [[projects]] - digest = "1:aaa38889f11896ee3644d77e17dc7764cc47f5f3d3b488268df2af2b52541c5f" name = "github.com/imdario/mergo" packages = ["."] - pruneopts = "NT" revision = "7c29201646fa3de8506f701213473dd407f19646" version = "v0.3.7" [[projects]] - digest = "1:f5b9328966ccea0970b1d15075698eff0ddb3e75889560aad2e9f76b289b536a" name = "github.com/joho/godotenv" packages = ["."] - pruneopts = "NT" revision = "23d116af351c84513e1946b527c88823e476be13" version = "v1.3.0" [[projects]] - digest = "1:1d39c063244ad17c4b18e8da1551163b6ffb52bd1640a49a8ec5c3b7bf4dbd5d" name = "github.com/json-iterator/go" packages = ["."] - pruneopts = "NT" revision = "1624edc4454b8682399def8740d46db5e4362ba4" version = "v1.1.5" [[projects]] - digest = "1:4059c14e87a2de3a434430340521b5feece186c1469eff0834c29a63870de3ed" name = "github.com/konsorten/go-windows-terminal-sequences" packages = ["."] - pruneopts = "NT" revision = "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242" version = "v1.0.1" [[projects]] branch = "master" - digest = "1:7d9fcac7f1228470c4ea0ee31cdfb662a758c44df691e39b3e76c11d3e12ba8f" name = "github.com/mailru/easyjson" packages = [ "buffer", "jlexer", - "jwriter", + "jwriter" ] - pruneopts = "NT" revision = "60711f1a8329503b04e1c88535f419d0bb440bff" [[projects]] - digest = "1:56dbf15e091bf7926cb33a57cb6bdfc658fc6d3498d2f76f10a97ce7856f1fde" name = "github.com/markbates/inflect" packages = ["."] - pruneopts = "NT" revision = "24b83195037b3bc61fcda2d28b7b0518bce293b6" version = "v1.0.4" [[projects]] branch = "master" - digest = "1:0e9bfc47ab9941ecc3344e580baca5deb4091177e84dd9773b48b38ec26b93d5" name = "github.com/mattbaird/jsonpatch" packages = ["."] - pruneopts = "NT" revision = "81af80346b1a01caae0cbc27fd3c1ba5b11e189f" [[projects]] - digest = "1:2f42fa12d6911c7b7659738758631bec870b7e9b4c6be5444f963cdcfccc191f" name = "github.com/modern-go/concurrent" packages = ["."] - pruneopts = "NT" revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94" version = "1.0.3" [[projects]] - digest = "1:c6aca19413b13dc59c220ad7430329e2ec454cc310bc6d8de2c7e2b93c18a0f6" name = "github.com/modern-go/reflect2" packages = ["."] - pruneopts = "NT" revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd" version = "1.0.1" [[projects]] - digest = "1:8bc8f43d2332d035857c92581df240f247c287629d5f60c751df609f9b6215c5" name = "github.com/openshift/api" packages = [ "apps/v1", "build/v1", "image/docker10", "image/dockerpre012", - "image/v1", + "image/v1" ] - pruneopts = "NT" revision = "0d921e363e951d89f583292c60d013c318df64dc" version = "v3.9.0" [[projects]] - digest = "1:b186c2fcf87d05c5129ad0d89ea062853b0bdf6d6bca1ed4a22157962f2ad8dd" name = "github.com/operator-framework/operator-sdk" packages = [ "internal/util/fileutil", @@ -317,112 +248,90 @@ "pkg/scaffold", "pkg/scaffold/input", "pkg/test", - "version", + "pkg/test/e2eutil", + "version" ] - pruneopts = "NT" revision = "d6541603f2219f33966078a087732ecfc7a1dde5" version = "v0.2.1" [[projects]] - digest = "1:93b1d84c5fa6d1ea52f4114c37714cddd84d5b78f151b62bb101128dd51399bf" name = "github.com/pborman/uuid" packages = ["."] - pruneopts = "NT" revision = "adf5a7427709b9deb95d29d3fa8a2bf9cfd388f1" version = "v1.2" [[projects]] branch = "master" - digest = "1:bf2ac97824a7221eb16b096aecc1c390d4c8a4e49524386aaa2e2dd215cbfb31" name = "github.com/petar/GoLLRB" packages = ["llrb"] - pruneopts = "NT" revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4" [[projects]] - digest = "1:e4e9e026b8e4c5630205cd0208efb491b40ad40552e57f7a646bb8a46896077b" name = "github.com/peterbourgon/diskv" packages = ["."] - pruneopts = "NT" revision = "5f041e8faa004a95c88a202771f4cc3e991971e6" version = "v2.0.1" [[projects]] - digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe" name = "github.com/pmezard/go-difflib" packages = ["difflib"] - pruneopts = "NT" revision = "792786c7400a136282c1664665ae0a8db921c6c2" version = "v1.0.0" [[projects]] - digest = "1:fcef1ce61da6f8f6f115154fb0e0e5b159fe11656839ba1e6061372711c013ee" name = "github.com/rogpeppe/go-internal" packages = [ "modfile", "module", - "semver", + "semver" ] - pruneopts = "NT" revision = "1cf9852c553c5b7da2d5a4a091129a7822fed0c9" version = "v1.2.2" [[projects]] - digest = "1:1f84287a4ca2c8f729d8155ba4c45915f5854ebbd214e406070779753da68422" name = "github.com/sirupsen/logrus" packages = ["."] - pruneopts = "NT" revision = "e1e72e9de974bd926e5c56f83753fba2df402ce5" version = "v1.3.0" [[projects]] - digest = "1:1bc08ec221c4fb25e6f2c019b23fe989fb44573c696983d8e403a3b76cc378e1" name = "github.com/spf13/afero" packages = [ ".", - "mem", + "mem" ] - pruneopts = "NT" revision = "f4711e4db9e9a1d3887343acb72b2bbfc2f686f5" version = "v1.2.1" [[projects]] - digest = "1:9d8420bbf131d1618bde6530af37c3799340d3762cc47210c1d9532a4c3a2779" name = "github.com/spf13/pflag" packages = ["."] - pruneopts = "NT" revision = "298182f68c66c05229eb03ac171abe6e309ee79a" version = "v1.0.3" [[projects]] - digest = "1:8e8fc2cb42cfa0a18fda0c9c4034092faa7aac773da5efdde8828eb4b96c001d" name = "github.com/stretchr/testify" packages = [ "assert", "require", + "suite" ] - pruneopts = "NT" revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053" version = "v1.3.0" [[projects]] - digest = "1:22f696cee54865fb8e9ff91df7b633f6b8f22037a8015253c6b6a71ca82219c7" name = "go.uber.org/atomic" packages = ["."] - pruneopts = "NT" revision = "1ea20fb1cbb1cc08cbd0d913a96dead89aa18289" version = "v1.3.2" [[projects]] - digest = "1:58ca93bdf81bac106ded02226b5395a0595d5346cdc4caa8d9c1f3a5f8f9976e" name = "go.uber.org/multierr" packages = ["."] - pruneopts = "NT" revision = "3c4937480c32f4c13a875a1829af76c98ca3d40a" version = "v1.1.0" [[projects]] - digest = "1:572fa4496563920f3e3107a2294cf2621d6cc4ffd03403fb6397b1bab9fa082a" name = "go.uber.org/zap" packages = [ ".", @@ -430,23 +339,19 @@ "internal/bufferpool", "internal/color", "internal/exit", - "zapcore", + "zapcore" ] - pruneopts = "NT" revision = "ff33455a0e382e8a81d14dd7c922020b6b5e7982" version = "v1.9.1" [[projects]] branch = "master" - digest = "1:23e299b9877c8592668486c61668132f954875f29633269874c592c3ea94ee92" name = "golang.org/x/crypto" packages = ["ssh/terminal"] - pruneopts = "NT" revision = "ccddf3741a0cfcee0a62d34c18c2c5417a3761af" [[projects]] branch = "master" - digest = "1:4010b78f0ab4fcc3ff81e30e6dba92fa68b8520df8dd21b393481fd791360b21" name = "golang.org/x/net" packages = [ "context", @@ -454,38 +359,32 @@ "http/httpguts", "http2", "http2/hpack", - "idna", + "idna" ] - pruneopts = "NT" revision = "d26f9f9a57f3fab6a695bec0d84433c2c50f8bbf" [[projects]] branch = "master" - digest = "1:9a9a8b8635685e9e4ff68c80bebf00726f5019fb41da508a56df54e6e7277eeb" name = "golang.org/x/oauth2" packages = [ ".", "google", "internal", "jws", - "jwt", + "jwt" ] - pruneopts = "NT" revision = "5dab4167f31cbd76b407f1486c86b40748bc5073" [[projects]] branch = "master" - digest = "1:680783030e10a31a8c2deb6f0860f13878295b5458908f4395868e1dbbfe6a87" name = "golang.org/x/sys" packages = [ "unix", - "windows", + "windows" ] - pruneopts = "NT" revision = "302c3dd5f1cc82baae8e44d9c3178e89b6e2b345" [[projects]] - digest = "1:8c74f97396ed63cc2ef04ebb5fc37bb032871b8fd890a25991ed40974b00cd2a" name = "golang.org/x/text" packages = [ "collate", @@ -502,23 +401,19 @@ "unicode/cldr", "unicode/norm", "unicode/rangetable", - "width", + "width" ] - pruneopts = "NT" revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" version = "v0.3.0" [[projects]] branch = "master" - digest = "1:9fdc2b55e8e0fafe4b41884091e51e77344f7dc511c5acedcfd98200003bff90" name = "golang.org/x/time" packages = ["rate"] - pruneopts = "NT" revision = "85acf8d2951cb2a3bde7632f9ff273ef0379bcbd" [[projects]] branch = "master" - digest = "1:9f9a9dbf521c3a339ac0b595f8718191a0b36929ff8ca05714d6863fcef088ec" name = "golang.org/x/tools" packages = [ "go/ast/astutil", @@ -532,13 +427,11 @@ "internal/fastwalk", "internal/gopathwalk", "internal/module", - "internal/semver", + "internal/semver" ] - pruneopts = "NT" revision = "9cefa6771f8f3c72b346adb1995b7432464d4038" [[projects]] - digest = "1:902ffa11f1d8c19c12b05cabffe69e1a16608ad03a8899ebcb9c6bde295660ae" name = "google.golang.org/appengine" packages = [ ".", @@ -550,30 +443,24 @@ "internal/modules", "internal/remote_api", "internal/urlfetch", - "urlfetch", + "urlfetch" ] - pruneopts = "NT" revision = "e9657d882bb81064595ca3b56cbe2546bbabf7b1" version = "v1.4.0" [[projects]] - digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a" name = "gopkg.in/inf.v0" packages = ["."] - pruneopts = "NT" revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf" version = "v0.9.1" [[projects]] - digest = "1:18108594151654e9e696b27b181b953f9a90b16bf14d253dd1b397b025a1487f" name = "gopkg.in/yaml.v2" packages = ["."] - pruneopts = "NT" revision = "51d6538a90f86fe93ac480b35f37b2be17fef232" version = "v2.2.2" [[projects]] - digest = "1:f11e5753e619f411a51a49d60d39b2bc4da6766f5f0af2e2291daa6a3d9385d5" name = "k8s.io/api" packages = [ "admission/v1beta1", @@ -605,24 +492,20 @@ "settings/v1alpha1", "storage/v1", "storage/v1alpha1", - "storage/v1beta1", + "storage/v1beta1" ] - pruneopts = "NT" revision = "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" [[projects]] - digest = "1:117a407949aaaad9f7fbe3da8d6c2055f2c223ac0cbebd39f47ff71899622a91" name = "k8s.io/apiextensions-apiserver" packages = [ "pkg/apis/apiextensions", "pkg/apis/apiextensions/v1beta1", - "pkg/client/clientset/clientset/scheme", + "pkg/client/clientset/clientset/scheme" ] - pruneopts = "NT" revision = "408db4a50408e2149acbd657bceb2480c13cb0a4" [[projects]] - digest = "1:b07bf863262aae765494d60f0d524483f211b29f9bb27d445a79c13af8676bf2" name = "k8s.io/apimachinery" packages = [ "pkg/api/errors", @@ -666,13 +549,11 @@ "pkg/version", "pkg/watch", "third_party/forked/golang/json", - "third_party/forked/golang/reflect", + "third_party/forked/golang/reflect" ] - pruneopts = "NT" revision = "103fd098999dc9c0c88536f5c9ad2e5da39373ae" [[projects]] - digest = "1:1689a49a3ebc6e379849181f1e0899fccf143cab47586078721818bdcdb712bc" name = "k8s.io/client-go" packages = [ "discovery", @@ -741,13 +622,11 @@ "util/integer", "util/jsonpath", "util/retry", - "util/workqueue", + "util/workqueue" ] - pruneopts = "NT" revision = "1f13a808da65775f22cbf47862c4e5898d8f4ca1" [[projects]] - digest = "1:8ab487a323486c8bbbaa3b689850487fdccc6cbea8690620e083b2d230a4447e" name = "k8s.io/code-generator" packages = [ "cmd/client-gen", @@ -773,14 +652,12 @@ "cmd/lister-gen/generators", "cmd/openapi-gen", "cmd/openapi-gen/args", - "pkg/util", + "pkg/util" ] - pruneopts = "T" revision = "6702109cc68eb6fe6350b83e14407c8d7309fd1a" [[projects]] branch = "master" - digest = "1:4e07c417d966628ee9e471354ad5e311c9c25ff357d42fd0dd2f81a40caf6aad" name = "k8s.io/gengo" packages = [ "args", @@ -790,22 +667,18 @@ "generator", "namer", "parser", - "types", + "types" ] - pruneopts = "NT" revision = "0689ccc1d7d65d9dd1bedcc3b0b1ed7df91ba266" [[projects]] - digest = "1:f3b42f307c7f49a1a7276c48d4b910db76e003220e88797f7acd41e3a9277ddf" name = "k8s.io/klog" packages = ["."] - pruneopts = "NT" revision = "a5bc97fbc634d635061f3146511332c7e313a55a" version = "v0.1.0" [[projects]] branch = "master" - digest = "1:653cd4cf804493513d5ec945e687639e5fe9a1f7adbcf2db5cd21da31a96674e" name = "k8s.io/kube-openapi" packages = [ "cmd/openapi-gen/args", @@ -813,13 +686,11 @@ "pkg/generators", "pkg/generators/rules", "pkg/util/proto", - "pkg/util/sets", + "pkg/util/sets" ] - pruneopts = "NT" revision = "ced9eb3070a5f1c548ef46e8dfe2a97c208d9f03" [[projects]] - digest = "1:a8fb38656b3b59a487e3f74c7d9ad4d90c4f7a3b45413284311f9751b6905448" name = "sigs.k8s.io/controller-runtime" packages = [ "pkg/cache", @@ -848,56 +719,14 @@ "pkg/source/internal", "pkg/webhook/admission", "pkg/webhook/admission/types", - "pkg/webhook/types", + "pkg/webhook/types" ] - pruneopts = "NT" revision = "53fc44b56078cd095b11bd44cfa0288ee4cf718f" version = "v0.1.4" [solve-meta] analyzer-name = "dep" analyzer-version = 1 - input-imports = [ - "github.com/go-openapi/spec", - "github.com/openshift/api/apps/v1", - "github.com/openshift/api/build/v1", - "github.com/openshift/api/image/v1", - "github.com/operator-framework/operator-sdk/pkg/k8sutil", - "github.com/operator-framework/operator-sdk/pkg/leader", - "github.com/operator-framework/operator-sdk/pkg/ready", - "github.com/operator-framework/operator-sdk/pkg/test", - "github.com/operator-framework/operator-sdk/version", - "github.com/stretchr/testify/assert", - "github.com/stretchr/testify/require", - "k8s.io/api/core/v1", - "k8s.io/apimachinery/pkg/api/errors", - "k8s.io/apimachinery/pkg/apis/meta/v1", - "k8s.io/apimachinery/pkg/runtime", - "k8s.io/apimachinery/pkg/runtime/schema", - "k8s.io/apimachinery/pkg/types", - "k8s.io/client-go/kubernetes/scheme", - "k8s.io/client-go/plugin/pkg/client/auth/gcp", - "k8s.io/code-generator/cmd/client-gen", - "k8s.io/code-generator/cmd/conversion-gen", - "k8s.io/code-generator/cmd/deepcopy-gen", - "k8s.io/code-generator/cmd/defaulter-gen", - "k8s.io/code-generator/cmd/informer-gen", - "k8s.io/code-generator/cmd/lister-gen", - "k8s.io/code-generator/cmd/openapi-gen", - "k8s.io/gengo/args", - "k8s.io/kube-openapi/pkg/common", - "sigs.k8s.io/controller-runtime/pkg/client", - "sigs.k8s.io/controller-runtime/pkg/client/config", - "sigs.k8s.io/controller-runtime/pkg/client/fake", - "sigs.k8s.io/controller-runtime/pkg/controller", - "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil", - "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", - ] + inputs-digest = "5c378cf08e8fa287674bcd9ba3d2055c90596cede7ce990b754644458ae79b15" solver-name = "gps-cdcl" solver-version = 1 diff --git a/examples/devopsconsole_v1alpha1_component_cr.yaml b/examples/devopsconsole_v1alpha1_component_cr.yaml index 2736601..bd90beb 100644 --- a/examples/devopsconsole_v1alpha1_component_cr.yaml +++ b/examples/devopsconsole_v1alpha1_component_cr.yaml @@ -4,5 +4,4 @@ metadata: name: myapp spec: buildType: "nodejs" - codebase: "https://github.com/sclorg/nodejs-ex" #"https://github.com/nodeshift-starters/nodejs-rest-http-crud" - + codebase: "example-gitsource" \ No newline at end of file diff --git a/examples/devopsconsole_v1alpha1_gitsource_cr.yaml b/examples/devopsconsole_v1alpha1_gitsource_cr.yaml index f74e5e8..bb9630e 100644 --- a/examples/devopsconsole_v1alpha1_gitsource_cr.yaml +++ b/examples/devopsconsole_v1alpha1_gitsource_cr.yaml @@ -3,7 +3,7 @@ kind: GitSource metadata: name: example-gitsource spec: - url: https://github.com/redhat-developer/devopsconsole-operator + url: https://github.com/redhat-developer/devconsole-operator ref: master contextDir: /cmd/manager httpProxy: http://proxy.example.com diff --git a/pkg/apis/devopsconsole-operator/v1alpha1/gitsource_types.go b/pkg/apis/devopsconsole-operator/v1alpha1/gitsource_types.go index dcf8bfe..9631e57 100644 --- a/pkg/apis/devopsconsole-operator/v1alpha1/gitsource_types.go +++ b/pkg/apis/devopsconsole-operator/v1alpha1/gitsource_types.go @@ -33,7 +33,7 @@ type GitSourceSpec struct { NoProxy string `json:"noProxy,omitempty"` // SecretRef refers to the secret that contains credentials to access the git repo. Optional. - SecretRef SecretRef `json:"secretRef,omitempty"` + SecretRef *SecretRef `json:"secretRef,omitempty"` // Flavor of the git provider like github, gitlab, bitbucket, generic, etc. Optional. Flavor string `json:"flavor,omitempty"` diff --git a/pkg/apis/devopsconsole-operator/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/devopsconsole-operator/v1alpha1/zz_generated.deepcopy.go index 1b00a4c..16c1498 100644 --- a/pkg/apis/devopsconsole-operator/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/devopsconsole-operator/v1alpha1/zz_generated.deepcopy.go @@ -29,7 +29,7 @@ func (in *GitSource) DeepCopyInto(out *GitSource) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec + in.Spec.DeepCopyInto(&out.Spec) out.Status = in.Status return } @@ -88,7 +88,11 @@ func (in *GitSourceList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GitSourceSpec) DeepCopyInto(out *GitSourceSpec) { *out = *in - out.SecretRef = in.SecretRef + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(SecretRef) + **out = **in + } return } diff --git a/pkg/controller/component/component_controller.go b/pkg/controller/component/component_controller.go index d381462..57f4b3a 100644 --- a/pkg/controller/component/component_controller.go +++ b/pkg/controller/component/component_controller.go @@ -9,6 +9,9 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "strconv" + + gitsourcev1alpha1 "github.com/redhat-developer/devopsconsole-operator/pkg/apis/devopsconsole-operator/v1alpha1" componentsv1alpha1 "github.com/redhat-developer/devopsconsole-operator/pkg/apis/devopsconsole/v1alpha1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" @@ -19,7 +22,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" logf "sigs.k8s.io/controller-runtime/pkg/runtime/log" "sigs.k8s.io/controller-runtime/pkg/source" - "strconv" buildv1 "github.com/openshift/api/build/v1" imagev1 "github.com/openshift/api/image/v1" @@ -87,7 +89,7 @@ func (r *ReconcileComponent) Reconcile(request reconcile.Request) (reconcile.Res // Return and don't requeue return reconcile.Result{}, nil } - // Error reading the object - requeue the request. + // Error reading the object - requeue the request/* */. return reconcile.Result{}, err } @@ -120,7 +122,19 @@ func (r *ReconcileComponent) Reconcile(request reconcile.Request) (reconcile.Res if err != nil { return reconcile.Result{}, err } - _, err = r.CreateBuildConfig(instance, builderIS) + + // Get gitsource referenced in component + gitSource := &gitsourcev1alpha1.GitSource{} + err = r.client.Get(context.TODO(), client.ObjectKey{ + Namespace: instance.Namespace, + Name: instance.Spec.Codebase, + }, gitSource) + if err != nil { + log.Error(err, "Error occured while getting gitsource") + return reconcile.Result{}, nil + } + + _, err = r.CreateBuildConfig(instance, builderIS, gitSource) if err != nil { return reconcile.Result{}, err } @@ -160,8 +174,8 @@ func (r *ReconcileComponent) CreateDeploymentConfig(cr *componentsv1alpha1.Compo } // CreateBuildConfig creates a BuildConfig OpenShift resource used in S2I. -func (r *ReconcileComponent) CreateBuildConfig(cr *componentsv1alpha1.Component, builderIS *imagev1.ImageStream) (*buildv1.BuildConfig, error) { - bc := newBuildConfig(cr, builderIS) +func (r *ReconcileComponent) CreateBuildConfig(cr *componentsv1alpha1.Component, builderIS *imagev1.ImageStream, gitSource *gitsourcev1alpha1.GitSource) (*buildv1.BuildConfig, error) { + bc := r.newBuildConfig(cr, builderIS, gitSource) if err := controllerutil.SetControllerReference(cr, bc, r.scheme); err != nil { log.Error(err, "** Setting owner reference fails **") return nil, err diff --git a/pkg/controller/component/component_resources.go b/pkg/controller/component/component_resources.go index e5757eb..2deaadc 100644 --- a/pkg/controller/component/component_resources.go +++ b/pkg/controller/component/component_resources.go @@ -1,13 +1,20 @@ package component import ( + "context" + "fmt" + "github.com/openshift/api/apps/v1" buildv1 "github.com/openshift/api/build/v1" imagev1 "github.com/openshift/api/image/v1" + gitsourcev1alpha1 "github.com/redhat-developer/devopsconsole-operator/pkg/apis/devopsconsole-operator/v1alpha1" componentsv1alpha1 "github.com/redhat-developer/devopsconsole-operator/pkg/apis/devopsconsole/v1alpha1" "github.com/redhat-developer/devopsconsole-operator/pkg/resource" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" ) func newImageStreamFromDocker(cr *componentsv1alpha1.Component) *imagev1.ImageStream { @@ -45,17 +52,41 @@ func newOutputImageStream(cr *componentsv1alpha1.Component) *imagev1.ImageStream }} } -func newBuildConfig(cr *componentsv1alpha1.Component, builder *imagev1.ImageStream) *buildv1.BuildConfig { +func (r *ReconcileComponent) newBuildConfig(cr *componentsv1alpha1.Component, builder *imagev1.ImageStream, gitSource *gitsourcev1alpha1.GitSource) *buildv1.BuildConfig { labels := resource.GetLabelsForCR(cr) buildSource := buildv1.BuildSource{ Git: &buildv1.GitBuildSource{ - URI: cr.Spec.Codebase, - Ref: "master", + URI: gitSource.Spec.URL, + Ref: gitSource.Spec.Ref, }, Type: buildv1.BuildSourceGit, } incremental := true + // Check if secrets provided exist or not + if gitSource.Spec.SecretRef != nil && gitSource.Spec.SecretRef.Name != "" { + u := unstructured.Unstructured{} + u.SetGroupVersionKind(schema.GroupVersionKind{ + Kind: "Secret", + Version: "v1", + Group: "", + }) + + err := r.client.Get(context.TODO(), client.ObjectKey{ + Namespace: cr.Namespace, + Name: gitSource.Spec.SecretRef.Name, + }, &u) + if err != nil { + // TODO(Akash) - Need to discuss if we need to create buildConfig if secret isn't present. + log.Error(err, fmt.Sprintf("Failed to get provided secret please check if secrets %s present or not", gitSource.Spec.SecretRef.Name)) + } else { + // Since error is nil, moving ahead to add secret reference in buildConfig + buildSource.SourceSecret = &corev1.LocalObjectReference{ + Name: gitSource.Spec.SecretRef.Name, + } + } + } + return &buildv1.BuildConfig{ ObjectMeta: metav1.ObjectMeta{Name: cr.Name, Namespace: cr.Namespace, Labels: labels}, Spec: buildv1.BuildConfigSpec{