diff --git a/.gazelcfg.json b/.gazelcfg.json index ca557a10b3..90f5d8c562 100644 --- a/.gazelcfg.json +++ b/.gazelcfg.json @@ -6,6 +6,7 @@ "./third_party", "./plugin", "./test", - "./federation" + "./federation", + "./examples" ] } diff --git a/examples/BUILD b/examples/BUILD index 62943e85e2..39942c8421 100644 --- a/examples/BUILD +++ b/examples/BUILD @@ -1,5 +1,13 @@ package(default_visibility = ["//visibility:public"]) +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", + "go_test", +) + filegroup( name = "config", srcs = glob([ @@ -17,3 +25,34 @@ filegroup( "**/*", ]), ) + +go_library( + name = "go_default_library", + srcs = ["doc.go"], + tags = ["automanaged"], +) + +go_test( + name = "go_default_xtest", + srcs = ["examples_test.go"], + tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/api/testapi:go_default_library", + "//pkg/api/validation:go_default_library", + "//pkg/apis/apps:go_default_library", + "//pkg/apis/apps/validation:go_default_library", + "//pkg/apis/batch:go_default_library", + "//pkg/apis/extensions:go_default_library", + "//pkg/apis/extensions/validation:go_default_library", + "//pkg/capabilities:go_default_library", + "//pkg/registry/batch/job:go_default_library", + "//pkg/runtime:go_default_library", + "//pkg/types:go_default_library", + "//pkg/util/validation/field:go_default_library", + "//pkg/util/yaml:go_default_library", + "//plugin/pkg/scheduler/api:go_default_library", + "//plugin/pkg/scheduler/api/latest:go_default_library", + "//vendor:github.com/golang/glog", + ], +) diff --git a/examples/apiserver/BUILD b/examples/apiserver/BUILD new file mode 100644 index 0000000000..9bbadc7012 --- /dev/null +++ b/examples/apiserver/BUILD @@ -0,0 +1,31 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", +) + +go_library( + name = "go_default_library", + srcs = ["apiserver.go"], + tags = ["automanaged"], + deps = [ + "//cmd/libs/go2idl/client-gen/test_apis/testgroup/install:go_default_library", + "//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library", + "//examples/apiserver/rest:go_default_library", + "//pkg/api:go_default_library", + "//pkg/api/rest:go_default_library", + "//pkg/apimachinery/registered:go_default_library", + "//pkg/genericapiserver:go_default_library", + "//pkg/genericapiserver/authorizer:go_default_library", + "//pkg/genericapiserver/options:go_default_library", + "//pkg/genericapiserver/validation:go_default_library", + "//pkg/registry/generic:go_default_library", + "//pkg/runtime/schema:go_default_library", + "//pkg/storage/storagebackend:go_default_library", + "//pkg/util/errors:go_default_library", + "//vendor:github.com/golang/glog", + ], +) diff --git a/examples/apiserver/rest/BUILD b/examples/apiserver/rest/BUILD new file mode 100644 index 0000000000..23355813d4 --- /dev/null +++ b/examples/apiserver/rest/BUILD @@ -0,0 +1,25 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", +) + +go_library( + name = "go_default_library", + srcs = ["reststorage.go"], + tags = ["automanaged"], + deps = [ + "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", + "//pkg/api:go_default_library", + "//pkg/fields:go_default_library", + "//pkg/labels:go_default_library", + "//pkg/registry/generic:go_default_library", + "//pkg/registry/generic/registry:go_default_library", + "//pkg/runtime:go_default_library", + "//pkg/storage:go_default_library", + "//pkg/util/validation/field:go_default_library", + ], +) diff --git a/examples/apiserver/server/BUILD b/examples/apiserver/server/BUILD new file mode 100644 index 0000000000..53249c3867 --- /dev/null +++ b/examples/apiserver/server/BUILD @@ -0,0 +1,21 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "server", + srcs = ["main.go"], + tags = ["automanaged"], + deps = [ + "//examples/apiserver:go_default_library", + "//pkg/util/flag:go_default_library", + "//pkg/util/wait:go_default_library", + "//vendor:github.com/golang/glog", + "//vendor:github.com/spf13/pflag", + ], +) diff --git a/examples/explorer/BUILD b/examples/explorer/BUILD new file mode 100644 index 0000000000..1907fea653 --- /dev/null +++ b/examples/explorer/BUILD @@ -0,0 +1,15 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "explorer", + srcs = ["explorer.go"], + tags = ["automanaged"], + deps = ["//vendor:github.com/davecgh/go-spew/spew"], +) diff --git a/examples/guestbook-go/.gitignore b/examples/guestbook-go/.gitignore new file mode 100644 index 0000000000..a45a95c2f1 --- /dev/null +++ b/examples/guestbook-go/.gitignore @@ -0,0 +1 @@ +guestbook_bin diff --git a/examples/guestbook-go/BUILD b/examples/guestbook-go/BUILD new file mode 100644 index 0000000000..87487a16c0 --- /dev/null +++ b/examples/guestbook-go/BUILD @@ -0,0 +1,19 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "guestbook-go", + srcs = ["main.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/codegangsta/negroni", + "//vendor:github.com/gorilla/mux", + "//vendor:github.com/xyproto/simpleredis", + ], +) diff --git a/examples/guestbook-go/_src/guestbook/Dockerfile b/examples/guestbook-go/Dockerfile similarity index 77% rename from examples/guestbook-go/_src/guestbook/Dockerfile rename to examples/guestbook-go/Dockerfile index 263b0e688d..a58ebae382 100644 --- a/examples/guestbook-go/_src/guestbook/Dockerfile +++ b/examples/guestbook-go/Dockerfile @@ -14,10 +14,10 @@ FROM busybox:ubuntu-14.04 -ADD ./bin/guestbook /app/guestbook -ADD ./_src/public/index.html /app/public/index.html -ADD ./_src/public/script.js /app/public/script.js -ADD ./_src/public/style.css /app/public/style.css +ADD ./guestbook_bin /app/guestbook +ADD ./public/index.html /app/public/index.html +ADD ./public/script.js /app/public/script.js +ADD ./public/style.css /app/public/style.css WORKDIR /app CMD ["./guestbook"] diff --git a/examples/guestbook-go/_src/Makefile b/examples/guestbook-go/Makefile similarity index 93% rename from examples/guestbook-go/_src/Makefile rename to examples/guestbook-go/Makefile index 31c04761f7..a838ca3619 100644 --- a/examples/guestbook-go/_src/Makefile +++ b/examples/guestbook-go/Makefile @@ -23,6 +23,7 @@ release: clean build push clean # builds a docker image that builds the app and packages it into a minimal docker image build: + @cp ../../bazel-bin/examples/guestbook-go/guestbook-go guestbook_bin docker build --rm --force-rm -t ${REGISTRY}/guestbook-builder . docker run --rm ${REGISTRY}/guestbook-builder | docker build -t "${REGISTRY}/guestbook:${VERSION}" - @@ -32,6 +33,7 @@ push: # remove previous images and containers clean: + rm -f guestbook_bin docker rm -f ${REGISTRY}/guestbook-builder 2> /dev/null || true docker rmi -f ${REGISTRY}/guestbook-builder || true docker rmi -f "${REGISTRY}/guestbook:${VERSION}" || true diff --git a/examples/guestbook-go/_src/Dockerfile b/examples/guestbook-go/_src/Dockerfile deleted file mode 100644 index 50d481c9c3..0000000000 --- a/examples/guestbook-go/_src/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2016 The Kubernetes 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. - -FROM golang:1.6.0 - -ADD . /go/src/github.com/GoogleCloudPlatform/kubernetes/examples/guestbook-go/_src - -WORKDIR /go/src/github.com/GoogleCloudPlatform/kubernetes/examples/guestbook-go/ -RUN cd _src/ && go get && go build -o ../bin/guestbook -RUN cp _src/guestbook/Dockerfile . - -CMD tar cvzf - . diff --git a/examples/guestbook-go/_src/README.md b/examples/guestbook-go/_src/README.md deleted file mode 100644 index f6d4284021..0000000000 --- a/examples/guestbook-go/_src/README.md +++ /dev/null @@ -1,25 +0,0 @@ -## Building and releasing Guestbook Image - -This process employs building two docker images, one compiles the source and the other hosts the compiled binaries. - -Releasing the image requires that you have access to the docker registry user account which will host the image. You can specify the registry including the user account by setting the environment variable `REGISTRY`. - -To build and release the guestbook image: - - cd examples/guestbook-go/_src - make release - -To build and release the guestbook image with a different registry and version: - - VERSION=v4 REGISTRY="docker.io/luebken" make build - -If you want to, you can build and push the image step by step: - - make clean - make build - make push - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/examples/guestbook-go/_src/README.md?pixel)]() - diff --git a/examples/guestbook-go/_src/main.go b/examples/guestbook-go/main.go similarity index 100% rename from examples/guestbook-go/_src/main.go rename to examples/guestbook-go/main.go diff --git a/examples/guestbook-go/_src/public/index.html b/examples/guestbook-go/public/index.html similarity index 100% rename from examples/guestbook-go/_src/public/index.html rename to examples/guestbook-go/public/index.html diff --git a/examples/guestbook-go/_src/public/script.js b/examples/guestbook-go/public/script.js similarity index 100% rename from examples/guestbook-go/_src/public/script.js rename to examples/guestbook-go/public/script.js diff --git a/examples/guestbook-go/_src/public/style.css b/examples/guestbook-go/public/style.css similarity index 100% rename from examples/guestbook-go/_src/public/style.css rename to examples/guestbook-go/public/style.css diff --git a/examples/https-nginx/BUILD b/examples/https-nginx/BUILD new file mode 100644 index 0000000000..022e144532 --- /dev/null +++ b/examples/https-nginx/BUILD @@ -0,0 +1,20 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "https-nginx", + srcs = ["make_secret.go"], + tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/api/install:go_default_library", + "//pkg/apimachinery/registered:go_default_library", + "//pkg/runtime:go_default_library", + ], +) diff --git a/examples/k8petstore/web-server/src/BUILD b/examples/k8petstore/web-server/src/BUILD new file mode 100644 index 0000000000..1283b5dc9f --- /dev/null +++ b/examples/k8petstore/web-server/src/BUILD @@ -0,0 +1,19 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "src", + srcs = ["main.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/codegangsta/negroni", + "//vendor:github.com/gorilla/mux", + "//vendor:github.com/xyproto/simpleredis", + ], +) diff --git a/examples/sharing-clusters/BUILD b/examples/sharing-clusters/BUILD new file mode 100644 index 0000000000..152bc93799 --- /dev/null +++ b/examples/sharing-clusters/BUILD @@ -0,0 +1,19 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", +) + +go_binary( + name = "sharing-clusters", + srcs = ["make_secret.go"], + tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/apimachinery/registered:go_default_library", + "//pkg/runtime:go_default_library", + ], +) diff --git a/test/e2e/generated/BUILD b/test/e2e/generated/BUILD index 5924bf345b..d2f8a6d256 100644 --- a/test/e2e/generated/BUILD +++ b/test/e2e/generated/BUILD @@ -29,13 +29,13 @@ genrule( ], outs = ["bindata.go"], cmd = """ -$(location //vendor:github.com/jteeuwen/go-bindata/go-bindata) \ +$(location //vendor:github.com/jteeuwen/go-bindata/go-bindata_bin) \ -nometadata -o "$(OUTS)" -pkg generated \ -prefix $$(pwd) \ -ignore .jpg -ignore .png -ignore .md \ $(SRCS) """, tools = [ - "//vendor:github.com/jteeuwen/go-bindata/go-bindata", + "//vendor:github.com/jteeuwen/go-bindata/go-bindata_bin", ], ) diff --git a/test/images/network-tester/BUILD b/test/images/network-tester/BUILD index 5b676f349b..ba0e621016 100644 --- a/test/images/network-tester/BUILD +++ b/test/images/network-tester/BUILD @@ -12,6 +12,7 @@ go_binary( srcs = ["webserver.go"], tags = ["automanaged"], deps = [ + "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/util/sets:go_default_library", diff --git a/test/images/network-tester/webserver.go b/test/images/network-tester/webserver.go index fa41b8a63a..8ee343035d 100644 --- a/test/images/network-tester/webserver.go +++ b/test/images/network-tester/webserver.go @@ -43,6 +43,7 @@ import ( "syscall" "time" + v1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/util/sets" @@ -268,7 +269,7 @@ func contactOthers(state *State) { //getWebserverEndpoints returns the webserver endpoints as a set of String, each in the format like "http://{ip}:{port}" func getWebserverEndpoints(client clientset.Interface) sets.String { - endpoints, err := client.Core().Endpoints(*namespace).Get(*service) + endpoints, err := client.Core().Endpoints(*namespace).Get(*service, v1.GetOptions{}) eps := sets.String{} if err != nil { state.Logf("Unable to read the endpoints for %v/%v: %v.", *namespace, *service, err) diff --git a/test/soak/cauldron/BUILD b/test/soak/cauldron/BUILD index a6e0966840..2775ee98e0 100644 --- a/test/soak/cauldron/BUILD +++ b/test/soak/cauldron/BUILD @@ -14,6 +14,7 @@ go_binary( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", + "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/util/intstr:go_default_library", diff --git a/test/soak/cauldron/cauldron.go b/test/soak/cauldron/cauldron.go index cd3ae29e9d..d1997c0f3d 100644 --- a/test/soak/cauldron/cauldron.go +++ b/test/soak/cauldron/cauldron.go @@ -32,6 +32,7 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" + v1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/util/intstr" @@ -105,7 +106,7 @@ func main() { } else { // wait until the namespace disappears for i := 0; i < int(namespaceDeleteTimeout/time.Second); i++ { - if _, err := client.Core().Namespaces().Get(ns); err != nil { + if _, err := client.Core().Namespaces().Get(ns, v1.GetOptions{}); err != nil { if errors.IsNotFound(err) { return } @@ -220,7 +221,7 @@ func main() { for _, podName := range podNames { var pod *api.Pod for start := time.Now(); time.Since(start) < podStartTimeout; time.Sleep(5 * time.Second) { - pod, err = client.Core().Pods(ns).Get(podName) + pod, err = client.Core().Pods(ns).Get(podName, v1.GetOptions{}) if err != nil { glog.Warningf("Get pod %s/%s failed, ignoring for %v: %v", ns, podName, err, podStartTimeout) continue diff --git a/test/soak/serve_hostnames/serve_hostnames.go b/test/soak/serve_hostnames/serve_hostnames.go index f4ccf2d2bd..2d2d9601e2 100644 --- a/test/soak/serve_hostnames/serve_hostnames.go +++ b/test/soak/serve_hostnames/serve_hostnames.go @@ -29,7 +29,6 @@ import ( "path/filepath" "time" - "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" @@ -40,6 +39,8 @@ import ( "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" e2e "k8s.io/kubernetes/test/e2e/framework" + + "github.com/golang/glog" ) var ( @@ -124,7 +125,7 @@ func main() { } else { // wait until the namespace disappears for i := 0; i < int(namespaceDeleteTimeout/time.Second); i++ { - if _, err := client.Namespaces().Get(ns); err != nil { + if _, err := client.Namespaces().Get(ns, metav1.GetOptions{}); err != nil { if errors.IsNotFound(err) { return } @@ -239,7 +240,7 @@ func main() { for _, podName := range podNames { var pod *v1.Pod for start := time.Now(); time.Since(start) < podStartTimeout; time.Sleep(5 * time.Second) { - pod, err = client.Pods(ns).Get(podName) + pod, err = client.Pods(ns).Get(podName, metav1.GetOptions{}) if err != nil { glog.Warningf("Get pod %s/%s failed, ignoring for %v: %v", ns, podName, err, podStartTimeout) continue