mirror of
https://github.com/eliasstepanik/caddy-ingess.git
synced 2026-01-11 12:38:27 +00:00
Enhancement/cleanup
This commit is contained in:
parent
e8b9c8b94c
commit
eea8235435
637
Gopkg.lock
generated
637
Gopkg.lock
generated
@ -1,637 +0,0 @@
|
|||||||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
|
||||||
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
|
|
||||||
name = "github.com/davecgh/go-spew"
|
|
||||||
packages = ["spew"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
|
|
||||||
version = "v1.1.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:58be7025fd84632dfbb8a398f931b5bdbbecc0390e4385df4ae56775487a0f87"
|
|
||||||
name = "github.com/docker/spdystream"
|
|
||||||
packages = [
|
|
||||||
".",
|
|
||||||
"spdy",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "449fdfce4d96"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:9886f20fc7188af1fb9059c6b6b29da154f87a05986a84ab297a5b6a779f230f"
|
|
||||||
name = "github.com/gogo/protobuf"
|
|
||||||
packages = [
|
|
||||||
"gogoproto",
|
|
||||||
"proto",
|
|
||||||
"protoc-gen-gogo/descriptor",
|
|
||||||
"sortkeys",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "342cbe0a0415"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:7672c206322f45b33fac1ae2cb899263533ce0adcc6481d207725560208ec84e"
|
|
||||||
name = "github.com/golang/groupcache"
|
|
||||||
packages = ["lru"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "02826c3e7903"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:239c4c7fd2159585454003d9be7207167970194216193a8a210b8d29576f19c9"
|
|
||||||
name = "github.com/golang/protobuf"
|
|
||||||
packages = [
|
|
||||||
"proto",
|
|
||||||
"ptypes",
|
|
||||||
"ptypes/any",
|
|
||||||
"ptypes/duration",
|
|
||||||
"ptypes/timestamp",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30"
|
|
||||||
version = "v1.3.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:3ee90c0d94da31b442dde97c99635aaafec68d0b8a3c12ee2075c6bdabeec6bb"
|
|
||||||
name = "github.com/google/gofuzz"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "24818f796faf"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:75eb87381d25cc75212f52358df9c3a2719584eaa9685cd510ce28699122f39d"
|
|
||||||
name = "github.com/googleapis/gnostic"
|
|
||||||
packages = [
|
|
||||||
"OpenAPIv2",
|
|
||||||
"compiler",
|
|
||||||
"extensions",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "0c5108395e2d"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:8ec8d88c248041a6df5f6574b87bc00e7e0b493881dad2e7ef47b11dc69093b5"
|
|
||||||
name = "github.com/hashicorp/golang-lru"
|
|
||||||
packages = [
|
|
||||||
".",
|
|
||||||
"simplelru",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768"
|
|
||||||
version = "v0.5.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:3e260afa138eab6492b531a3b3d10ab4cb70512d423faa78b8949dec76e66a21"
|
|
||||||
name = "github.com/imdario/mergo"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "9316a62528ac99aaecb4e47eadd6dc8aa6533d58"
|
|
||||||
version = "v0.3.5"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:eaefc85d32c03e5f0c2b88ea2f79fce3d993e2c78316d21319575dd4ea9153ca"
|
|
||||||
name = "github.com/json-iterator/go"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "ab8a2e0c74be"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:33422d238f147d247752996a26574ac48dcf472976eda7f5134015f06bf16563"
|
|
||||||
name = "github.com/modern-go/concurrent"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
|
|
||||||
version = "1.0.3"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:c56ad36f5722eb07926c979d5e80676ee007a9e39e7808577b9d87ec92b00460"
|
|
||||||
name = "github.com/modern-go/reflect2"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "94122c33edd36123c84d5368cfb2b69df93a0ec8"
|
|
||||||
version = "v1.0.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:cf31692c14422fa27c83a05292eb5cbe0fb2775972e8f1f8446a71549bd8980b"
|
|
||||||
name = "github.com/pkg/errors"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "ba968bfe8b2f7e042a574c888954fccecfa385b4"
|
|
||||||
version = "v0.8.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:9424f440bba8f7508b69414634aef3b2b3a877e522d8a4624692412805407bb7"
|
|
||||||
name = "github.com/spf13/pflag"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "583c0c0531f06d5278b7d917446061adc344b5cd"
|
|
||||||
version = "v1.0.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:3f3a05ae0b95893d90b9b3b5afdb79a9b3d96e4e36e099d841ae602e4aca0da8"
|
|
||||||
name = "golang.org/x/crypto"
|
|
||||||
packages = ["ssh/terminal"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "e84da0312774"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:fc7b6b4384e1e849d99eab58eca4f8c0a76bad4699117d5077a9a5c3c83e289e"
|
|
||||||
name = "golang.org/x/net"
|
|
||||||
packages = [
|
|
||||||
"context",
|
|
||||||
"http/httpguts",
|
|
||||||
"http2",
|
|
||||||
"http2/hpack",
|
|
||||||
"idna",
|
|
||||||
"internal/timeseries",
|
|
||||||
"trace",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "65e2d4e15006"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:9359217acc6040b4be710ce34473acef28023ad39bfafecea34ffaea7f1e1890"
|
|
||||||
name = "golang.org/x/oauth2"
|
|
||||||
packages = [
|
|
||||||
".",
|
|
||||||
"internal",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "a6bd8cefa181"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
branch = "master"
|
|
||||||
digest = "1:e18a5437c48ea1bd6dcd960efdd634d05ae5c2dd033d2d17f73cc20be92895ac"
|
|
||||||
name = "golang.org/x/sys"
|
|
||||||
packages = [
|
|
||||||
"unix",
|
|
||||||
"windows",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "f0ce4c0180bef7e9c51babed693a6e47fdd8962f"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18"
|
|
||||||
name = "golang.org/x/text"
|
|
||||||
packages = [
|
|
||||||
"collate",
|
|
||||||
"collate/build",
|
|
||||||
"internal/colltab",
|
|
||||||
"internal/gen",
|
|
||||||
"internal/tag",
|
|
||||||
"internal/triegen",
|
|
||||||
"internal/ucd",
|
|
||||||
"language",
|
|
||||||
"secure/bidirule",
|
|
||||||
"transform",
|
|
||||||
"unicode/bidi",
|
|
||||||
"unicode/cldr",
|
|
||||||
"unicode/norm",
|
|
||||||
"unicode/rangetable",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
|
|
||||||
version = "v0.3.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:d37b0ef2944431fe9e8ef35c6fffc8990d9e2ca300588df94a6890f3649ae365"
|
|
||||||
name = "golang.org/x/time"
|
|
||||||
packages = ["rate"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "f51c12702a4d"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:6eb6e3b6d9fffb62958cf7f7d88dbbe1dd6839436b0802e194c590667a40412a"
|
|
||||||
name = "google.golang.org/appengine"
|
|
||||||
packages = [
|
|
||||||
"internal",
|
|
||||||
"internal/base",
|
|
||||||
"internal/datastore",
|
|
||||||
"internal/log",
|
|
||||||
"internal/remote_api",
|
|
||||||
"internal/urlfetch",
|
|
||||||
"urlfetch",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "54a98f90d1c46b7731eb8fb305d2a321c30ef610"
|
|
||||||
version = "v1.5.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
branch = "master"
|
|
||||||
digest = "1:c3076e7defee87de1236f1814beb588f40a75544c60121e6eb38b3b3721783e2"
|
|
||||||
name = "google.golang.org/genproto"
|
|
||||||
packages = ["googleapis/rpc/status"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "e7d98fc518a78c9f8b5ee77be7b0b317475d89e1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:2dab32a43451e320e49608ff4542fdfc653c95dcc35d0065ec9c6c3dd540ed74"
|
|
||||||
name = "google.golang.org/grpc"
|
|
||||||
packages = [
|
|
||||||
".",
|
|
||||||
"balancer",
|
|
||||||
"balancer/base",
|
|
||||||
"balancer/roundrobin",
|
|
||||||
"codes",
|
|
||||||
"connectivity",
|
|
||||||
"credentials",
|
|
||||||
"encoding",
|
|
||||||
"encoding/proto",
|
|
||||||
"grpclog",
|
|
||||||
"internal",
|
|
||||||
"internal/backoff",
|
|
||||||
"internal/channelz",
|
|
||||||
"internal/grpcrand",
|
|
||||||
"keepalive",
|
|
||||||
"metadata",
|
|
||||||
"naming",
|
|
||||||
"peer",
|
|
||||||
"resolver",
|
|
||||||
"resolver/dns",
|
|
||||||
"resolver/passthrough",
|
|
||||||
"stats",
|
|
||||||
"status",
|
|
||||||
"tap",
|
|
||||||
"transport",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8"
|
|
||||||
version = "v1.13.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:b699eb24813add6abe916da7d11a93ae2a4122dc9bfa103fee775cb435d3dc9b"
|
|
||||||
name = "gopkg.in/go-playground/pool.v3"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "e73cd3a5ded835540c5cf4778488579c5b357d68"
|
|
||||||
version = "v3.1.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:ef72505cf098abdd34efeea032103377bec06abb61d8a06f002d5d296a4b1185"
|
|
||||||
name = "gopkg.in/inf.v0"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
|
|
||||||
version = "v0.9.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96"
|
|
||||||
name = "gopkg.in/yaml.v2"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "51d6538a90f86fe93ac480b35f37b2be17fef232"
|
|
||||||
version = "v2.2.2"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
branch = "master"
|
|
||||||
digest = "1:08f27db4a5192ae419db7d6fb2c402c7faf3605ef3fb30c0976bdb34ee196947"
|
|
||||||
name = "k8s.io/api"
|
|
||||||
packages = [
|
|
||||||
"admissionregistration/v1beta1",
|
|
||||||
"apps/v1",
|
|
||||||
"apps/v1beta1",
|
|
||||||
"apps/v1beta2",
|
|
||||||
"auditregistration/v1alpha1",
|
|
||||||
"authentication/v1",
|
|
||||||
"authentication/v1beta1",
|
|
||||||
"authorization/v1",
|
|
||||||
"authorization/v1beta1",
|
|
||||||
"autoscaling/v1",
|
|
||||||
"autoscaling/v2beta1",
|
|
||||||
"autoscaling/v2beta2",
|
|
||||||
"batch/v1",
|
|
||||||
"batch/v1beta1",
|
|
||||||
"batch/v2alpha1",
|
|
||||||
"certificates/v1beta1",
|
|
||||||
"coordination/v1",
|
|
||||||
"coordination/v1beta1",
|
|
||||||
"core/v1",
|
|
||||||
"events/v1beta1",
|
|
||||||
"extensions/v1beta1",
|
|
||||||
"networking/v1",
|
|
||||||
"networking/v1beta1",
|
|
||||||
"node/v1alpha1",
|
|
||||||
"node/v1beta1",
|
|
||||||
"policy/v1beta1",
|
|
||||||
"rbac/v1",
|
|
||||||
"rbac/v1alpha1",
|
|
||||||
"rbac/v1beta1",
|
|
||||||
"scheduling/v1",
|
|
||||||
"scheduling/v1alpha1",
|
|
||||||
"scheduling/v1beta1",
|
|
||||||
"settings/v1alpha1",
|
|
||||||
"storage/v1",
|
|
||||||
"storage/v1alpha1",
|
|
||||||
"storage/v1beta1",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "c5cad27821f602a806fbc313abf36f20aec596de"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:755eded9d4a8ce43f0d3d93ec8ea14a469a87740f4483be5021434a4b4ac209e"
|
|
||||||
name = "k8s.io/apimachinery"
|
|
||||||
packages = [
|
|
||||||
"pkg/api/errors",
|
|
||||||
"pkg/api/meta",
|
|
||||||
"pkg/api/resource",
|
|
||||||
"pkg/apis/meta/internalversion",
|
|
||||||
"pkg/apis/meta/v1",
|
|
||||||
"pkg/apis/meta/v1/unstructured",
|
|
||||||
"pkg/apis/meta/v1beta1",
|
|
||||||
"pkg/conversion",
|
|
||||||
"pkg/conversion/queryparams",
|
|
||||||
"pkg/fields",
|
|
||||||
"pkg/labels",
|
|
||||||
"pkg/runtime",
|
|
||||||
"pkg/runtime/schema",
|
|
||||||
"pkg/runtime/serializer",
|
|
||||||
"pkg/runtime/serializer/json",
|
|
||||||
"pkg/runtime/serializer/protobuf",
|
|
||||||
"pkg/runtime/serializer/recognizer",
|
|
||||||
"pkg/runtime/serializer/streaming",
|
|
||||||
"pkg/runtime/serializer/versioning",
|
|
||||||
"pkg/selection",
|
|
||||||
"pkg/types",
|
|
||||||
"pkg/util/cache",
|
|
||||||
"pkg/util/clock",
|
|
||||||
"pkg/util/diff",
|
|
||||||
"pkg/util/errors",
|
|
||||||
"pkg/util/framer",
|
|
||||||
"pkg/util/httpstream",
|
|
||||||
"pkg/util/httpstream/spdy",
|
|
||||||
"pkg/util/intstr",
|
|
||||||
"pkg/util/json",
|
|
||||||
"pkg/util/mergepatch",
|
|
||||||
"pkg/util/naming",
|
|
||||||
"pkg/util/net",
|
|
||||||
"pkg/util/remotecommand",
|
|
||||||
"pkg/util/runtime",
|
|
||||||
"pkg/util/sets",
|
|
||||||
"pkg/util/strategicpatch",
|
|
||||||
"pkg/util/validation",
|
|
||||||
"pkg/util/validation/field",
|
|
||||||
"pkg/util/wait",
|
|
||||||
"pkg/util/yaml",
|
|
||||||
"pkg/version",
|
|
||||||
"pkg/watch",
|
|
||||||
"third_party/forked/golang/json",
|
|
||||||
"third_party/forked/golang/netutil",
|
|
||||||
"third_party/forked/golang/reflect",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "b3683fe6b520"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
branch = "master"
|
|
||||||
digest = "1:642e57dc486ef777e094364e3fe25cd6f63a5f4412f8df91c2674406ec44371e"
|
|
||||||
name = "k8s.io/client-go"
|
|
||||||
packages = [
|
|
||||||
"discovery",
|
|
||||||
"informers",
|
|
||||||
"informers/admissionregistration",
|
|
||||||
"informers/admissionregistration/v1beta1",
|
|
||||||
"informers/apps",
|
|
||||||
"informers/apps/v1",
|
|
||||||
"informers/apps/v1beta1",
|
|
||||||
"informers/apps/v1beta2",
|
|
||||||
"informers/auditregistration",
|
|
||||||
"informers/auditregistration/v1alpha1",
|
|
||||||
"informers/autoscaling",
|
|
||||||
"informers/autoscaling/v1",
|
|
||||||
"informers/autoscaling/v2beta1",
|
|
||||||
"informers/autoscaling/v2beta2",
|
|
||||||
"informers/batch",
|
|
||||||
"informers/batch/v1",
|
|
||||||
"informers/batch/v1beta1",
|
|
||||||
"informers/batch/v2alpha1",
|
|
||||||
"informers/certificates",
|
|
||||||
"informers/certificates/v1beta1",
|
|
||||||
"informers/coordination",
|
|
||||||
"informers/coordination/v1",
|
|
||||||
"informers/coordination/v1beta1",
|
|
||||||
"informers/core",
|
|
||||||
"informers/core/v1",
|
|
||||||
"informers/events",
|
|
||||||
"informers/events/v1beta1",
|
|
||||||
"informers/extensions",
|
|
||||||
"informers/extensions/v1beta1",
|
|
||||||
"informers/internalinterfaces",
|
|
||||||
"informers/networking",
|
|
||||||
"informers/networking/v1",
|
|
||||||
"informers/networking/v1beta1",
|
|
||||||
"informers/node",
|
|
||||||
"informers/node/v1alpha1",
|
|
||||||
"informers/node/v1beta1",
|
|
||||||
"informers/policy",
|
|
||||||
"informers/policy/v1beta1",
|
|
||||||
"informers/rbac",
|
|
||||||
"informers/rbac/v1",
|
|
||||||
"informers/rbac/v1alpha1",
|
|
||||||
"informers/rbac/v1beta1",
|
|
||||||
"informers/scheduling",
|
|
||||||
"informers/scheduling/v1",
|
|
||||||
"informers/scheduling/v1alpha1",
|
|
||||||
"informers/scheduling/v1beta1",
|
|
||||||
"informers/settings",
|
|
||||||
"informers/settings/v1alpha1",
|
|
||||||
"informers/storage",
|
|
||||||
"informers/storage/v1",
|
|
||||||
"informers/storage/v1alpha1",
|
|
||||||
"informers/storage/v1beta1",
|
|
||||||
"kubernetes",
|
|
||||||
"kubernetes/scheme",
|
|
||||||
"kubernetes/typed/admissionregistration/v1beta1",
|
|
||||||
"kubernetes/typed/apps/v1",
|
|
||||||
"kubernetes/typed/apps/v1beta1",
|
|
||||||
"kubernetes/typed/apps/v1beta2",
|
|
||||||
"kubernetes/typed/auditregistration/v1alpha1",
|
|
||||||
"kubernetes/typed/authentication/v1",
|
|
||||||
"kubernetes/typed/authentication/v1beta1",
|
|
||||||
"kubernetes/typed/authorization/v1",
|
|
||||||
"kubernetes/typed/authorization/v1beta1",
|
|
||||||
"kubernetes/typed/autoscaling/v1",
|
|
||||||
"kubernetes/typed/autoscaling/v2beta1",
|
|
||||||
"kubernetes/typed/autoscaling/v2beta2",
|
|
||||||
"kubernetes/typed/batch/v1",
|
|
||||||
"kubernetes/typed/batch/v1beta1",
|
|
||||||
"kubernetes/typed/batch/v2alpha1",
|
|
||||||
"kubernetes/typed/certificates/v1beta1",
|
|
||||||
"kubernetes/typed/coordination/v1",
|
|
||||||
"kubernetes/typed/coordination/v1beta1",
|
|
||||||
"kubernetes/typed/core/v1",
|
|
||||||
"kubernetes/typed/events/v1beta1",
|
|
||||||
"kubernetes/typed/extensions/v1beta1",
|
|
||||||
"kubernetes/typed/networking/v1",
|
|
||||||
"kubernetes/typed/networking/v1beta1",
|
|
||||||
"kubernetes/typed/node/v1alpha1",
|
|
||||||
"kubernetes/typed/node/v1beta1",
|
|
||||||
"kubernetes/typed/policy/v1beta1",
|
|
||||||
"kubernetes/typed/rbac/v1",
|
|
||||||
"kubernetes/typed/rbac/v1alpha1",
|
|
||||||
"kubernetes/typed/rbac/v1beta1",
|
|
||||||
"kubernetes/typed/scheduling/v1",
|
|
||||||
"kubernetes/typed/scheduling/v1alpha1",
|
|
||||||
"kubernetes/typed/scheduling/v1beta1",
|
|
||||||
"kubernetes/typed/settings/v1alpha1",
|
|
||||||
"kubernetes/typed/storage/v1",
|
|
||||||
"kubernetes/typed/storage/v1alpha1",
|
|
||||||
"kubernetes/typed/storage/v1beta1",
|
|
||||||
"listers/admissionregistration/v1beta1",
|
|
||||||
"listers/apps/v1",
|
|
||||||
"listers/apps/v1beta1",
|
|
||||||
"listers/apps/v1beta2",
|
|
||||||
"listers/auditregistration/v1alpha1",
|
|
||||||
"listers/autoscaling/v1",
|
|
||||||
"listers/autoscaling/v2beta1",
|
|
||||||
"listers/autoscaling/v2beta2",
|
|
||||||
"listers/batch/v1",
|
|
||||||
"listers/batch/v1beta1",
|
|
||||||
"listers/batch/v2alpha1",
|
|
||||||
"listers/certificates/v1beta1",
|
|
||||||
"listers/coordination/v1",
|
|
||||||
"listers/coordination/v1beta1",
|
|
||||||
"listers/core/v1",
|
|
||||||
"listers/events/v1beta1",
|
|
||||||
"listers/extensions/v1beta1",
|
|
||||||
"listers/networking/v1",
|
|
||||||
"listers/networking/v1beta1",
|
|
||||||
"listers/node/v1alpha1",
|
|
||||||
"listers/node/v1beta1",
|
|
||||||
"listers/policy/v1beta1",
|
|
||||||
"listers/rbac/v1",
|
|
||||||
"listers/rbac/v1alpha1",
|
|
||||||
"listers/rbac/v1beta1",
|
|
||||||
"listers/scheduling/v1",
|
|
||||||
"listers/scheduling/v1alpha1",
|
|
||||||
"listers/scheduling/v1beta1",
|
|
||||||
"listers/settings/v1alpha1",
|
|
||||||
"listers/storage/v1",
|
|
||||||
"listers/storage/v1alpha1",
|
|
||||||
"listers/storage/v1beta1",
|
|
||||||
"pkg/apis/clientauthentication",
|
|
||||||
"pkg/apis/clientauthentication/v1alpha1",
|
|
||||||
"pkg/apis/clientauthentication/v1beta1",
|
|
||||||
"pkg/version",
|
|
||||||
"plugin/pkg/client/auth/exec",
|
|
||||||
"rest",
|
|
||||||
"rest/watch",
|
|
||||||
"tools/auth",
|
|
||||||
"tools/cache",
|
|
||||||
"tools/clientcmd",
|
|
||||||
"tools/clientcmd/api",
|
|
||||||
"tools/clientcmd/api/latest",
|
|
||||||
"tools/clientcmd/api/v1",
|
|
||||||
"tools/metrics",
|
|
||||||
"tools/pager",
|
|
||||||
"tools/record",
|
|
||||||
"tools/record/util",
|
|
||||||
"tools/reference",
|
|
||||||
"tools/remotecommand",
|
|
||||||
"transport",
|
|
||||||
"transport/spdy",
|
|
||||||
"util/cert",
|
|
||||||
"util/connrotation",
|
|
||||||
"util/exec",
|
|
||||||
"util/flowcontrol",
|
|
||||||
"util/homedir",
|
|
||||||
"util/keyutil",
|
|
||||||
"util/retry",
|
|
||||||
"util/workqueue",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "1d2e9628a1ee6507042cfabffbe1212923cbc8d4"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
branch = "master"
|
|
||||||
digest = "1:71268145ab882411833bd0546fa0c9b98d34ad83d173a3a0c35c989b5d53afe5"
|
|
||||||
name = "k8s.io/cloud-provider"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "029ecc113e6d819f75bde3705b0ff3fafb52d397"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:c696379ad201c1e86591785579e16bf6cf886c362e9a7534e8eb0d1028b20582"
|
|
||||||
name = "k8s.io/klog"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "e531227889390a39d9533dde61f590fe9f4b0035"
|
|
||||||
version = "v0.3.0"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:03a96603922fc1f6895ae083e1e16d943b55ef0656b56965351bd87e7d90485f"
|
|
||||||
name = "k8s.io/kube-openapi"
|
|
||||||
packages = ["pkg/util/proto"]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "b3a7cee44a30"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:a86c5cf93e7fc06975cbcd13be409c044c9d57c46b44ebc340b93a8699cfc88c"
|
|
||||||
name = "k8s.io/kubernetes"
|
|
||||||
packages = [
|
|
||||||
"pkg/api/legacyscheme",
|
|
||||||
"pkg/kubelet/apis/cri/runtime/v1alpha2",
|
|
||||||
"pkg/kubelet/container",
|
|
||||||
"pkg/kubelet/util/format",
|
|
||||||
"pkg/kubelet/util/sliceutils",
|
|
||||||
"pkg/util/hash",
|
|
||||||
"pkg/util/mount",
|
|
||||||
"pkg/volume",
|
|
||||||
"pkg/volume/util/fs",
|
|
||||||
"pkg/volume/util/recyclerclient",
|
|
||||||
"pkg/volume/util/subpath",
|
|
||||||
"third_party/forked/golang/expansion",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "b7394102d6ef778017f2ca4046abbaa23b88c290"
|
|
||||||
version = "v1.14.1"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:60028ab0f1ac0a17d6f193b14dc33a9282e48a4ea9583f86db98fd8f5ca0dfb8"
|
|
||||||
name = "k8s.io/utils"
|
|
||||||
packages = [
|
|
||||||
"buffer",
|
|
||||||
"exec",
|
|
||||||
"integer",
|
|
||||||
"io",
|
|
||||||
"keymutex",
|
|
||||||
"nsenter",
|
|
||||||
"path",
|
|
||||||
"trace",
|
|
||||||
]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "c2654d5206da"
|
|
||||||
|
|
||||||
[[projects]]
|
|
||||||
digest = "1:7719608fe0b52a4ece56c2dde37bedd95b938677d1ab0f84b8a7852e4c59f849"
|
|
||||||
name = "sigs.k8s.io/yaml"
|
|
||||||
packages = ["."]
|
|
||||||
pruneopts = "UT"
|
|
||||||
revision = "fd68e9863619f6ec2fdd8625fe1f02e7c877e480"
|
|
||||||
version = "v1.1.0"
|
|
||||||
|
|
||||||
[solve-meta]
|
|
||||||
analyzer-name = "dep"
|
|
||||||
analyzer-version = 1
|
|
||||||
input-imports = [
|
|
||||||
"github.com/pkg/errors",
|
|
||||||
"gopkg.in/go-playground/pool.v3",
|
|
||||||
"k8s.io/api/core/v1",
|
|
||||||
"k8s.io/api/extensions/v1beta1",
|
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1",
|
|
||||||
"k8s.io/apimachinery/pkg/fields",
|
|
||||||
"k8s.io/apimachinery/pkg/labels",
|
|
||||||
"k8s.io/apimachinery/pkg/runtime",
|
|
||||||
"k8s.io/apimachinery/pkg/util/runtime",
|
|
||||||
"k8s.io/apimachinery/pkg/util/wait",
|
|
||||||
"k8s.io/apimachinery/pkg/version",
|
|
||||||
"k8s.io/client-go/kubernetes",
|
|
||||||
"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/klog",
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util/sliceutils",
|
|
||||||
]
|
|
||||||
solver-name = "gps-cdcl"
|
|
||||||
solver-version = 1
|
|
||||||
46
Gopkg.toml
46
Gopkg.toml
@ -1,46 +0,0 @@
|
|||||||
# Gopkg.toml example
|
|
||||||
#
|
|
||||||
# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
|
|
||||||
# for detailed Gopkg.toml documentation.
|
|
||||||
#
|
|
||||||
# required = ["github.com/user/thing/cmd/thing"]
|
|
||||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
|
||||||
#
|
|
||||||
# [[constraint]]
|
|
||||||
# name = "github.com/user/project"
|
|
||||||
# version = "1.0.0"
|
|
||||||
#
|
|
||||||
# [[constraint]]
|
|
||||||
# name = "github.com/user/project2"
|
|
||||||
# branch = "dev"
|
|
||||||
# source = "github.com/myfork/project2"
|
|
||||||
#
|
|
||||||
# [[override]]
|
|
||||||
# name = "github.com/x/y"
|
|
||||||
# version = "2.4.0"
|
|
||||||
#
|
|
||||||
# [prune]
|
|
||||||
# non-go = false
|
|
||||||
# go-tests = true
|
|
||||||
# unused-packages = true
|
|
||||||
|
|
||||||
|
|
||||||
[[constraint]]
|
|
||||||
branch = "master"
|
|
||||||
name = "k8s.io/api"
|
|
||||||
|
|
||||||
[[constraint]]
|
|
||||||
branch = "master"
|
|
||||||
name = "k8s.io/client-go"
|
|
||||||
|
|
||||||
[[constraint]]
|
|
||||||
name = "k8s.io/klog"
|
|
||||||
version = "0.3.0"
|
|
||||||
|
|
||||||
[[constraint]]
|
|
||||||
name = "k8s.io/kubernetes"
|
|
||||||
version = "1.14.1"
|
|
||||||
|
|
||||||
[prune]
|
|
||||||
go-tests = true
|
|
||||||
unused-packages = true
|
|
||||||
@ -1,6 +1,8 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"bitbucket.org/lightcodelabs/ingress/internal/controller"
|
"bitbucket.org/lightcodelabs/ingress/internal/controller"
|
||||||
@ -48,8 +50,9 @@ func main() {
|
|||||||
// start ingress controller
|
// start ingress controller
|
||||||
c := controller.NewCaddyController(kubeClient, restClient, cfg)
|
c := controller.NewCaddyController(kubeClient, restClient, cfg)
|
||||||
|
|
||||||
// TODO :- health metrics
|
|
||||||
// create http server to expose controller health metrics
|
// create http server to expose controller health metrics
|
||||||
|
healthPort := 9090
|
||||||
|
go startMetricsServer(healthPort)
|
||||||
|
|
||||||
klog.Info("Starting the caddy ingress controller")
|
klog.Info("Starting the caddy ingress controller")
|
||||||
|
|
||||||
@ -62,6 +65,44 @@ func main() {
|
|||||||
select {}
|
select {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type healthChecker struct{}
|
||||||
|
|
||||||
|
func (h *healthChecker) Name() string {
|
||||||
|
return "caddy-ingress-controller"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h *healthChecker) Check(_ *http.Request) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func startMetricsServer(port int) {
|
||||||
|
mux := http.NewServeMux()
|
||||||
|
|
||||||
|
// reg := prometheus.NewRegistry()
|
||||||
|
|
||||||
|
// reg.MustRegister(prometheus.NewGoCollector())
|
||||||
|
// reg.MustRegister(prometheus.NewProcessCollector(prometheus.ProcessCollectorOpts{
|
||||||
|
// PidFn: func() (int, error) { return os.Getpid(), nil },
|
||||||
|
// ReportErrors: true,
|
||||||
|
// }))
|
||||||
|
|
||||||
|
// // healthz.InstallHandler(mux,
|
||||||
|
// // healthz.PingHealthz,
|
||||||
|
// // healthChecker,
|
||||||
|
// // )
|
||||||
|
|
||||||
|
server := &http.Server{
|
||||||
|
Addr: fmt.Sprintf(":%v", port),
|
||||||
|
Handler: mux,
|
||||||
|
ReadTimeout: 10 * time.Second,
|
||||||
|
ReadHeaderTimeout: 10 * time.Second,
|
||||||
|
WriteTimeout: 300 * time.Second,
|
||||||
|
IdleTimeout: 120 * time.Second,
|
||||||
|
}
|
||||||
|
|
||||||
|
klog.Fatal(server.ListenAndServe())
|
||||||
|
}
|
||||||
|
|
||||||
// createApiserverClient creates a new Kubernetes REST client. We assume the
|
// createApiserverClient creates a new Kubernetes REST client. We assume the
|
||||||
// controller runs inside Kubernetes and use the in-cluster config.
|
// controller runs inside Kubernetes and use the in-cluster config.
|
||||||
func createApiserverClient() (*kubernetes.Clientset, error) {
|
func createApiserverClient() (*kubernetes.Clientset, error) {
|
||||||
@ -81,7 +122,7 @@ func createApiserverClient() (*kubernetes.Clientset, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// The client may fail to connect to the API server in the first request
|
// The client may fail to connect to the API server on the first request
|
||||||
defaultRetry := wait.Backoff{
|
defaultRetry := wait.Backoff{
|
||||||
Steps: 10,
|
Steps: 10,
|
||||||
Duration: 1 * time.Second,
|
Duration: 1 * time.Second,
|
||||||
|
|||||||
22
go.mod
Normal file
22
go.mod
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
module bitbucket.org/lightcodelabs/ingress
|
||||||
|
|
||||||
|
go 1.12
|
||||||
|
|
||||||
|
require (
|
||||||
|
bitbucket.org/lightcodelabs/caddy2 v0.0.0-00010101000000-000000000000
|
||||||
|
github.com/imdario/mergo v0.3.7 // indirect
|
||||||
|
github.com/mholt/certmagic v0.5.1
|
||||||
|
github.com/pkg/errors v0.8.1
|
||||||
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
|
||||||
|
google.golang.org/grpc v1.20.1 // indirect
|
||||||
|
gopkg.in/go-playground/pool.v3 v3.1.1
|
||||||
|
k8s.io/api v0.0.0-20190503110853-61630f889b3c
|
||||||
|
k8s.io/apimachinery v0.0.0-20190502092502-a44ef629a3c9
|
||||||
|
k8s.io/client-go v0.0.0-20190425172711-65184652c889
|
||||||
|
k8s.io/cloud-provider v0.0.0-20190503112208-4f570a5e5694 // indirect
|
||||||
|
k8s.io/klog v0.3.0
|
||||||
|
k8s.io/kubernetes v1.14.1
|
||||||
|
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5 // indirect
|
||||||
|
)
|
||||||
|
|
||||||
|
replace bitbucket.org/lightcodelabs/caddy2 => ../caddy2
|
||||||
210
go.sum
Normal file
210
go.sum
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
|
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||||
|
github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
|
||||||
|
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
||||||
|
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||||
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
|
github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY=
|
||||||
|
github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
|
||||||
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
|
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
|
github.com/coreos/go-oidc v0.0.0-20180117170138-065b426bd416/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
|
github.com/coreos/go-semver v0.0.0-20180108230905-e214231b295a/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
|
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
|
github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
|
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg=
|
||||||
|
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
|
||||||
|
github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
|
||||||
|
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
|
github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
|
github.com/ghodss/yaml v0.0.0-20180820084758-c7ce16629ff4/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
|
github.com/go-acme/lego v2.5.0+incompatible h1:5fNN9yRQfv8ymH3DSsxla+4aYeQt2IgfZqHKVnK8f0s=
|
||||||
|
github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M=
|
||||||
|
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
||||||
|
github.com/go-openapi/jsonpointer v0.19.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
||||||
|
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
||||||
|
github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
||||||
|
github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||||
|
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
||||||
|
github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
||||||
|
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 h1:WSBJMqJbLxsn+bTCPyPYZfqHdJmc8MK4wrBjMft6BAM=
|
||||||
|
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
|
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||||
|
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
|
||||||
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
|
github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||||
|
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||||
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
|
||||||
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||||
|
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k=
|
||||||
|
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
||||||
|
github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
|
||||||
|
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||||
|
github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||||
|
github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||||
|
github.com/grpc-ecosystem/go-grpc-prometheus v0.0.0-20170330212424-2500245aa611/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||||
|
github.com/grpc-ecosystem/grpc-gateway v1.3.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
|
||||||
|
github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo=
|
||||||
|
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||||
|
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||||
|
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||||
|
github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI=
|
||||||
|
github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||||
|
github.com/jonboulle/clockwork v0.0.0-20141017032234-72f9bd7c4e0c/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||||
|
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be h1:AHimNtVIpiBjPUhEF5KNCkrUyqTSA5zWUl8sQ2bfGBE=
|
||||||
|
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
|
github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE=
|
||||||
|
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||||
|
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||||
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
|
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
|
github.com/mholt/certmagic v0.5.1 h1:8Pf6Hwwlh5sbT3nwn3ovXyXWxHCEM54wvfLzTrQ+UiM=
|
||||||
|
github.com/mholt/certmagic v0.5.1/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY=
|
||||||
|
github.com/miekg/dns v1.1.3 h1:1g0r1IvskvgL8rR+AcHzUA+oFmGcQlaIm4IqakufeMM=
|
||||||
|
github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
|
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||||
|
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
|
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||||
|
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
|
||||||
|
github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
|
||||||
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||||
|
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
||||||
|
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
||||||
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
|
||||||
|
github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
|
||||||
|
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||||
|
github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||||
|
github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||||
|
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
|
github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||||
|
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||||
|
github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4=
|
||||||
|
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
|
go.starlark.net v0.0.0-20190506145734-95b2783e7d63/go.mod h1:c1/X6cHgvdXj6pUlmWKMkuqRnW4K8x2vwt6JAaaircg=
|
||||||
|
go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
|
go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
|
go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||||
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b h1:Elez2XeF2p9uyVj0yEUDqQ56NFcDtcBNkYP7yv8YbUE=
|
||||||
|
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
|
||||||
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006 h1:bfLnR+k0tq5Lqt6dflRLcZiz6UaXCMt3vhYJ1l4FQ80=
|
||||||
|
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
|
||||||
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190312061237-fead79001313 h1:pczuHS43Cp2ktBEEmLwScxgjWsBSzdaQiKzUyf3DTTc=
|
||||||
|
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db h1:6/JqlYfC1CCaLnGceQTI+sDGhC9UBSPAsBqI0Gun6kU=
|
||||||
|
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
|
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
||||||
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
|
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
|
||||||
|
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
|
google.golang.org/genproto v0.0.0-20170731182057-09f6ed296fc6/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||||
|
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
|
||||||
|
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||||
|
google.golang.org/grpc v1.13.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||||
|
google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
|
||||||
|
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||||
|
gopkg.in/go-playground/pool.v3 v3.1.1 h1:4Qcj91IsYTpIeRhe/eo6Fz+w6uKWPEghx8vHFTYMfhw=
|
||||||
|
gopkg.in/go-playground/pool.v3 v3.1.1/go.mod h1:pUAGBximS/hccTTSzEop6wvvQhVa3QPDFFW+8REdutg=
|
||||||
|
gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o=
|
||||||
|
gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||||
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20150622162204-20b71e5b60d7/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
|
||||||
|
gopkg.in/square/go-jose.v2 v2.0.0-20180411045311-89060dee6a84/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||||
|
gopkg.in/square/go-jose.v2 v2.2.2 h1:orlkJ3myw8CN1nVQHBFfloD+L3egixIa4FvUP6RosSA=
|
||||||
|
gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||||
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||||
|
gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
|
||||||
|
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
|
||||||
|
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
|
||||||
|
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
|
k8s.io/api v0.0.0-20190425012535-181e1f9c52c1/go.mod h1:AhUc3Ph6fhRc0SCpt0Hwv0E+Q8QiEAASkXKwfmT2JwU=
|
||||||
|
k8s.io/api v0.0.0-20190503110853-61630f889b3c h1:y1nbvZVlOyUa+p4RVXqQj+s6W+FjZZNVkgG5pvYpFhU=
|
||||||
|
k8s.io/api v0.0.0-20190503110853-61630f889b3c/go.mod h1:42M1T54fVvXj2R/yqB+v9ksH4xI41q6XU/NUlo3hyjk=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190424052434-11f1676e3da4/go.mod h1:5CBnzrKYGHzv9ZsSKmQ8wHt4XI4/TUBPDwYM9FlZMyw=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190424212440-527a9d33701e/go.mod h1:5CBnzrKYGHzv9ZsSKmQ8wHt4XI4/TUBPDwYM9FlZMyw=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190425132440-17f84483f500/go.mod h1:5CBnzrKYGHzv9ZsSKmQ8wHt4XI4/TUBPDwYM9FlZMyw=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190502092502-a44ef629a3c9 h1:yifHers09F6RIgsGgAYt1yi0pNbQfQB289Pe4y7XX2s=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190502092502-a44ef629a3c9/go.mod h1:5CBnzrKYGHzv9ZsSKmQ8wHt4XI4/TUBPDwYM9FlZMyw=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190503221204-7a17edec881a h1:dJykmqZaQ9hZACn0wQHt+OW2W0NN2tAGEc8rfT8JDR0=
|
||||||
|
k8s.io/apimachinery v0.0.0-20190503221204-7a17edec881a/go.mod h1:5CBnzrKYGHzv9ZsSKmQ8wHt4XI4/TUBPDwYM9FlZMyw=
|
||||||
|
k8s.io/apiserver v0.0.0-20190503111308-d03d7cbc3eab/go.mod h1:SZ66ZaTubuwgLjq4dRi9YS89JUl5iDzm+vZuh9q23rE=
|
||||||
|
k8s.io/client-go v0.0.0-20190425172711-65184652c889 h1:pWRBXbVKnn/NYm4uGk3If9XmXaaWxwJ9J+fSok8LmME=
|
||||||
|
k8s.io/client-go v0.0.0-20190425172711-65184652c889/go.mod h1:PeVFCnjeDy6EwLN+wdDIZd1DwDY6jnkpQt9psMo5YRU=
|
||||||
|
k8s.io/client-go v11.0.0+incompatible h1:LBbX2+lOwY9flffWlJM7f1Ct8V2SRNiMRDFeiwnJo9o=
|
||||||
|
k8s.io/client-go v11.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
|
||||||
|
k8s.io/cloud-provider v0.0.0-20190503112208-4f570a5e5694 h1:DB6OW+7mOlwo4rKGBWR74qAa5l7HRt09mGuQNjpwWVQ=
|
||||||
|
k8s.io/cloud-provider v0.0.0-20190503112208-4f570a5e5694/go.mod h1:XrI0A5y1KSD76R2kVnJg4/Zl7mk9v/qctj1IJpZfZNQ=
|
||||||
|
k8s.io/component-base v0.0.0-20190424053038-9fe063da3132/go.mod h1:pi2NQz+AaW5UMjaswai1Hfzqzhh7bV6ssi3X3k4s03g=
|
||||||
|
k8s.io/klog v0.3.0 h1:0VPpR+sizsiivjIfIAQH/rl8tan6jvWkS7lU+0di3lE=
|
||||||
|
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||||
|
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 h1:TRb4wNWoBVrH9plmkp2q86FIDppkbrEXdXlxU3a3BMI=
|
||||||
|
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
||||||
|
k8s.io/kubernetes v1.14.1 h1:I9F52h5sqVxBmoSsBlNQ0YygNcukDilkpGxUbJRoBoY=
|
||||||
|
k8s.io/kubernetes v1.14.1/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
|
||||||
|
k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
|
||||||
|
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5 h1:VBM/0P5TWxwk+Nw6Z+lAw3DKgO76g90ETOiA6rfLV1Y=
|
||||||
|
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
|
||||||
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190302045857-e85c7b244fd2/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
@ -74,9 +74,6 @@ func (r ResourceAddedAction) handle(c *CaddyController) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// js, _ := json.MarshalIndent(c.resourceStore.CaddyConfig, "", " ")
|
|
||||||
// fmt.Printf("\n%v\n", string(js))
|
|
||||||
|
|
||||||
// ensure that ingress source is updated to point to this ingress controller's ip
|
// ensure that ingress source is updated to point to this ingress controller's ip
|
||||||
err = c.syncStatus([]*v1beta1.Ingress{ing})
|
err = c.syncStatus([]*v1beta1.Ingress{ing})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -29,7 +29,7 @@ import (
|
|||||||
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp"
|
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp"
|
||||||
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp/caddylog"
|
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp/caddylog"
|
||||||
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp/staticfiles"
|
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp/staticfiles"
|
||||||
_ "bitbucket.org/lightcodelabs/proxy"
|
_ "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp/reverseproxy"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -108,30 +108,6 @@ func (c *CaddyController) Shutdown() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// handleErrs reports errors received from queue actions.
|
|
||||||
func (c *CaddyController) handleErr(err error, action interface{}) {
|
|
||||||
klog.Error(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *CaddyController) reloadCaddy() error {
|
|
||||||
j, err := json.Marshal(c.resourceStore.CaddyConfig)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// post to load endpoint
|
|
||||||
resp, err := http.Post("http://127.0.0.1:1234/load", "application/json", bytes.NewBuffer(j))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if resp.StatusCode != http.StatusOK {
|
|
||||||
return errors.New("could not reload caddy config")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run method starts the ingress controller.
|
// Run method starts the ingress controller.
|
||||||
func (c *CaddyController) Run(stopCh chan struct{}) {
|
func (c *CaddyController) Run(stopCh chan struct{}) {
|
||||||
err := c.reloadCaddy()
|
err := c.reloadCaddy()
|
||||||
@ -172,13 +148,13 @@ func (c *CaddyController) Run(stopCh chan struct{}) {
|
|||||||
os.Exit(exitCode)
|
os.Exit(exitCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
// process items in the event queue
|
// runWorker processes items in the event queue.
|
||||||
func (c *CaddyController) runWorker() {
|
func (c *CaddyController) runWorker() {
|
||||||
for c.processNextItem() {
|
for c.processNextItem() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there is an ingress item in the event queue process it
|
// processNextItem determines if there is an ingress item in the event queue and processes it.
|
||||||
func (c *CaddyController) processNextItem() bool {
|
func (c *CaddyController) processNextItem() bool {
|
||||||
// Wait until there is a new item in the working queue
|
// Wait until there is a new item in the working queue
|
||||||
action, quit := c.syncQueue.Get()
|
action, quit := c.syncQueue.Get()
|
||||||
@ -199,3 +175,28 @@ func (c *CaddyController) processNextItem() bool {
|
|||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handleErrs reports errors received from queue actions.
|
||||||
|
func (c *CaddyController) handleErr(err error, action interface{}) {
|
||||||
|
klog.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// reloadCaddy reloads the internal caddy instance with new config.
|
||||||
|
func (c *CaddyController) reloadCaddy() error {
|
||||||
|
j, err := json.Marshal(c.resourceStore.CaddyConfig)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// post to load endpoint
|
||||||
|
resp, err := http.Post("http://127.0.0.1:1234/load", "application/json", bytes.NewBuffer(j))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return errors.New("could not reload caddy config")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@ -84,7 +84,7 @@ func ingressSliceEqual(lhs, rhs []apiv1.LoadBalancerIngress) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// lessLoadBalancerIngress is a sorting function
|
// lessLoadBalancerIngress is a sorting function for ingress hostnames.
|
||||||
func lessLoadBalancerIngress(addrs []apiv1.LoadBalancerIngress) func(int, int) bool {
|
func lessLoadBalancerIngress(addrs []apiv1.LoadBalancerIngress) func(int, int) bool {
|
||||||
return func(a, b int) bool {
|
return func(a, b int) bool {
|
||||||
switch strings.Compare(addrs[a].Hostname, addrs[b].Hostname) {
|
switch strings.Compare(addrs[a].Hostname, addrs[b].Hostname) {
|
||||||
|
|||||||
@ -15,10 +15,11 @@ func (c *CaddyController) dispatchSync() {
|
|||||||
c.syncQueue.Add(SyncStatusAction{})
|
c.syncQueue.Add(SyncStatusAction{})
|
||||||
}
|
}
|
||||||
|
|
||||||
// SyncStatusAction provides an implementation of the action interface
|
// SyncStatusAction provides an implementation of the action interface.
|
||||||
type SyncStatusAction struct {
|
type SyncStatusAction struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handle is run when a syncStatusAction appears in the queue.
|
||||||
func (r SyncStatusAction) handle(c *CaddyController) error {
|
func (r SyncStatusAction) handle(c *CaddyController) error {
|
||||||
return c.syncStatus(c.resourceStore.Ingresses)
|
return c.syncStatus(c.resourceStore.Ingresses)
|
||||||
}
|
}
|
||||||
@ -30,7 +31,10 @@ func (c *CaddyController) syncStatus(ings []*v1beta1.Ingress) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// this happens about every 30 seconds and can pollute the logs, so we
|
||||||
|
// only want to log on higher verbosity levels.
|
||||||
klog.V(2).Info("Synching Ingress resource source addresses")
|
klog.V(2).Info("Synching Ingress resource source addresses")
|
||||||
|
|
||||||
c.updateIngStatuses(sliceToLoadBalancerIngress(addrs), ings)
|
c.updateIngStatuses(sliceToLoadBalancerIngress(addrs), ings)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/util/sliceutils"
|
"k8s.io/kubernetes/pkg/kubelet/util/sliceutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Info contains runtime information about the pod running the Ingres controller
|
// Info contains runtime information about the pod running the Ingress controller
|
||||||
type Info struct {
|
type Info struct {
|
||||||
Name string
|
Name string
|
||||||
Namespace string
|
Namespace string
|
||||||
@ -21,6 +21,8 @@ type Info struct {
|
|||||||
Labels map[string]string
|
Labels map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAddresses gets the ip address or name of the node in the cluster that the
|
||||||
|
// ingress controller is running on.
|
||||||
func GetAddresses(p *Info, kubeClient *kubernetes.Clientset) ([]string, error) {
|
func GetAddresses(p *Info, kubeClient *kubernetes.Clientset) ([]string, error) {
|
||||||
addrs := []string{}
|
addrs := []string{}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user