package(default_visibility = ["//visibility:public"])

licenses(["notice"])

load(
    "@io_bazel_rules_go//go:def.bzl",
    "go_binary",
    "go_library",
    "go_test",
    "cgo_library",
)

go_library(
    name = "go_default_library",
    srcs = [
        "config.go",
        "default_storage_factory_builder.go",
        "discovery.go",
        "doc.go",
        "genericapiserver.go",
        "healthz.go",
        "hooks.go",
        "resource_config.go",
        "resource_encoding_config.go",
        "reststorage_interfaces.go",
        "serve.go",
        "services.go",
        "storage_factory.go",
        "tunneler.go",
    ],
    tags = ["automanaged"],
    deps = [
        "//pkg/admission:go_default_library",
        "//pkg/api:go_default_library",
        "//pkg/api/rest:go_default_library",
        "//pkg/api/unversioned:go_default_library",
        "//pkg/apimachinery:go_default_library",
        "//pkg/apimachinery/registered:go_default_library",
        "//pkg/apiserver:go_default_library",
        "//pkg/apiserver/filters:go_default_library",
        "//pkg/apiserver/openapi:go_default_library",
        "//pkg/apiserver/request:go_default_library",
        "//pkg/auth/authenticator:go_default_library",
        "//pkg/auth/authorizer:go_default_library",
        "//pkg/auth/handlers:go_default_library",
        "//pkg/client/restclient:go_default_library",
        "//pkg/cloudprovider:go_default_library",
        "//pkg/genericapiserver/filters:go_default_library",
        "//pkg/genericapiserver/mux:go_default_library",
        "//pkg/genericapiserver/openapi/common:go_default_library",
        "//pkg/genericapiserver/options:go_default_library",
        "//pkg/genericapiserver/routes:go_default_library",
        "//pkg/genericapiserver/validation:go_default_library",
        "//pkg/healthz:go_default_library",
        "//pkg/registry/core/service/ipallocator:go_default_library",
        "//pkg/registry/generic:go_default_library",
        "//pkg/runtime:go_default_library",
        "//pkg/runtime/serializer/recognizer:go_default_library",
        "//pkg/ssh:go_default_library",
        "//pkg/storage/storagebackend:go_default_library",
        "//pkg/util:go_default_library",
        "//pkg/util/cert:go_default_library",
        "//pkg/util/clock:go_default_library",
        "//pkg/util/config:go_default_library",
        "//pkg/util/net:go_default_library",
        "//pkg/util/runtime:go_default_library",
        "//pkg/util/sets:go_default_library",
        "//pkg/util/validation:go_default_library",
        "//pkg/util/wait:go_default_library",
        "//pkg/version:go_default_library",
        "//vendor:github.com/coreos/go-systemd/daemon",
        "//vendor:github.com/emicklei/go-restful",
        "//vendor:github.com/go-openapi/spec",
        "//vendor:github.com/golang/glog",
        "//vendor:github.com/pkg/errors",
        "//vendor:github.com/prometheus/client_golang/prometheus",
        "//vendor:gopkg.in/natefinch/lumberjack.v2",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "default_storage_factory_builder_test.go",
        "genericapiserver_test.go",
        "resource_config_test.go",
        "serve_test.go",
        "server_run_options_test.go",
        "storage_factory_test.go",
        "tunneler_test.go",
    ],
    library = "go_default_library",
    tags = ["automanaged"],
    deps = [
        "//pkg/api:go_default_library",
        "//pkg/api/rest:go_default_library",
        "//pkg/api/testapi:go_default_library",
        "//pkg/api/unversioned:go_default_library",
        "//pkg/api/v1:go_default_library",
        "//pkg/apimachinery/registered:go_default_library",
        "//pkg/apis/autoscaling:go_default_library",
        "//pkg/apis/extensions:go_default_library",
        "//pkg/apis/extensions/v1beta1:go_default_library",
        "//pkg/auth/authorizer:go_default_library",
        "//pkg/auth/user:go_default_library",
        "//pkg/generated/openapi:go_default_library",
        "//pkg/genericapiserver/options:go_default_library",
        "//pkg/storage/etcd/testing:go_default_library",
        "//pkg/storage/storagebackend:go_default_library",
        "//pkg/util/cert:go_default_library",
        "//pkg/util/clock:go_default_library",
        "//pkg/util/net:go_default_library",
        "//pkg/util/sets:go_default_library",
        "//pkg/version:go_default_library",
        "//vendor:github.com/go-openapi/spec",
        "//vendor:github.com/stretchr/testify/assert",
    ],
)
