diff --git a/.travis.yml b/.travis.yml index f738986b..5b2622b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ install: - make setup script: + - make version - make build - make test-race - make check diff --git a/Makefile b/Makefile index 112c5373..418d2a0e 100644 --- a/Makefile +++ b/Makefile @@ -4,9 +4,9 @@ REPO_PATH="$(ORG_PATH)/$(BINARY_NAME)" VERSION_VAR := $(REPO_PATH)/version.Version GIT_VAR := $(REPO_PATH)/version.GitCommit BUILD_DATE_VAR := $(REPO_PATH)/version.BuildDate -REPO_VERSION := $$(git describe --abbrev=0 --tags) -BUILD_DATE := $$(date +%Y-%m-%d-%H:%M) -GIT_HASH := $$(git rev-parse --short HEAD) +REPO_VERSION ?= $(shell git describe --abbrev=0 --tags) +BUILD_DATE := $(shell date +%Y-%m-%d-%H:%M) +GIT_HASH := $(shell git rev-parse --short HEAD) GOBUILD_VERSION_ARGS := -ldflags "-s -X $(VERSION_VAR)=$(REPO_VERSION) -X $(GIT_VAR)=$(GIT_HASH) -X $(BUILD_DATE_VAR)=$(BUILD_DATE)" # useful for other docker repos DOCKER_REPO ?= jtblin diff --git a/glide.lock b/glide.lock index 80bd1917..9e9f6afa 100644 --- a/glide.lock +++ b/glide.lock @@ -1,11 +1,6 @@ -hash: 25f155e74cb6fa3cad899d2f88bf202caf700ad95230c72dc39133cac40406bf -updated: 2018-08-08T17:22:09.409309+10:00 +hash: 58b18edeebd734de109a23c4a710c947d5103a0914b7ea855817056c12abb086 +updated: 2019-01-28T10:46:28.364212-08:00 imports: -- name: cloud.google.com/go - version: 3b1ae45394a234c385be014e9a488f2bb6eef821 - subpackages: - - compute/metadata - - internal - name: github.com/aws/aws-sdk-go version: 06d3a0c37ae95ae040548a13952501261cb5fd2b subpackages: @@ -33,255 +28,205 @@ imports: - private/protocol/xml/xmlutil - service/sts - name: github.com/beorn7/perks - version: 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9 + version: 3a771d992973f24aa725d07868b467d1ddfceafb subpackages: - quantile -- name: github.com/blang/semver - version: 31b736133b98f26d5e078ec9eb591666edfd091f - name: github.com/cenk/backoff - version: 8edc80b07f38c27352fb186d971c628a6c32552b + version: 1e4cf3da559842a91afcb6ea6141451e6c30c618 - name: github.com/coreos/go-iptables version: fbb73372b87f6e89951c2b6b31470c2c9d5cfae3 subpackages: - iptables -- name: github.com/coreos/go-oidc - version: 5644a2f50e2d2d5ba0b474bc5bc55fea1925936d - subpackages: - - http - - jose - - key - - oauth2 - - oidc -- name: github.com/coreos/pkg - version: fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8 - subpackages: - - health - - httputil - - timeutil - name: github.com/davecgh/go-spew - version: 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d + version: 782f4967f2dc4564575ca782fe2d04090b5faca8 subpackages: - spew -- name: github.com/docker/distribution - version: cd27f179f2c10c5d300e6d09025b538c475b0d51 - subpackages: - - digest - - reference -- name: github.com/emicklei/go-restful - version: 89ef8af493ab468a45a42bb0d89a06fccdd2fb22 - subpackages: - - log - - swagger - name: github.com/ghodss/yaml version: 73d445a93680fa1a78ae23a5839bad48f32ba1ee +- name: github.com/go-errors/errors + version: d98b870cc4e05f1545532a80e9909be8216095b6 - name: github.com/go-ini/ini - version: 2e44421e256d82ebbf3d4d4fcabe8930b905eff3 -- name: github.com/go-openapi/jsonpointer - version: 46af16f9f7b149af66e5d1bd010e3574dc06de98 -- name: github.com/go-openapi/jsonreference - version: 13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272 -- name: github.com/go-openapi/spec - version: 6aced65f8501fe1217321abf0749d354824ba2ff -- name: github.com/go-openapi/swag - version: 1d0bd113de87027671077d3c71eb3ac5d7dbba72 + version: 6ed8d5f64cd79a498d1f3fab5880cc376ce41bbe - name: github.com/gogo/protobuf - version: e18d7aa8f8c624c915db340349aad4c49b10d173 + version: c0656edd0d9eab7c66d1eb0c568f9039345796f7 subpackages: - proto - sortkeys - name: github.com/golang/glog version: 44145f04b68cf362d9c4df2182967c2275eaefed - name: github.com/golang/protobuf - version: 8616e8ee5e20a1704615e6c8d7afcdac06087a67 + version: b4deda0973fb4c70b50d226b1af49f3da59f5265 subpackages: - proto + - ptypes + - ptypes/any + - ptypes/duration + - ptypes/timestamp +- name: github.com/google/btree + version: 7d79101e329e5a3adf994758c578dab82b90c017 - name: github.com/google/gofuzz - version: bbcb9da2d746f8bdbd6a936686a0a6067ada0ec5 -- name: github.com/gorilla/context - version: 08b5f424b9271eedf6f9f0ce86cb9396ed337a42 + version: 44d81051d367757e1c7c6a5a86423ece9afcf63c +- name: github.com/googleapis/gnostic + version: 0c5108395e2debce0d731cf0287ddf7242066aba + subpackages: + - OpenAPIv2 + - compiler + - extensions - name: github.com/gorilla/mux - version: 757bef944d0f21880861c2dd9c871ca543023cba + version: a7962380ca08b5a188038c69871b8d3fbdf31e89 +- name: github.com/gregjones/httpcache + version: 787624de3eb7bd915c329cba748687a3b22666a6 + subpackages: + - diskcache +- name: github.com/hashicorp/golang-lru + version: a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4 + subpackages: + - simplelru - name: github.com/jmespath/go-jmespath - version: 3433f3ea46d9f8019119e7dd41274e112a2359a9 -- name: github.com/jonboulle/clockwork - version: 72f9bd7c4e0c2a40055ab3d0f09654f730cce982 -- name: github.com/juju/ratelimit - version: 77ed1c8a01217656d2080ad51981f6e99adaa177 + version: c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5 +- name: github.com/json-iterator/go + version: f2b4162afba35581b6d4a50d3b8f34e33c144682 - name: github.com/karlseguin/ccache - version: 2f6b517f7bea4b102d00df8ddbf338f7645545b5 -- name: github.com/mailru/easyjson - version: d5b7844b561a7bc640052f1b935f7b800330d7e0 - subpackages: - - buffer - - jlexer - - jwriter + version: 3385784411ac24a8be403f7938890ec67ef6e0d6 +- name: github.com/konsorten/go-windows-terminal-sequences + version: 5c8c8bd35d3832f5d134ae1e1e375b69a4d25242 - name: github.com/matttproud/golang_protobuf_extensions - version: c12348ce28de40eed0136aa2b644d0ee0650e56c + version: c182affec369e30f25d3eb8cd8a478dee585ae7d subpackages: - pbutil -- name: github.com/pborman/uuid - version: ca53cad383cad2479bbba7f7a1a05797ec1386e4 +- name: github.com/modern-go/concurrent + version: bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 +- name: github.com/modern-go/reflect2 + version: 05fbef0ca5da472bbf96c9322b84a53edc03c9fd +- name: github.com/peterbourgon/diskv + version: 5f041e8faa004a95c88a202771f4cc3e991971e6 - name: github.com/prometheus/client_golang version: 967789050ba94deca04a5e84cce8ad472ce313c1 subpackages: - prometheus - prometheus/promhttp - name: github.com/prometheus/client_model - version: 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c + version: 56726106282f1985ea77d5305743db7231b0c0a8 subpackages: - go - name: github.com/prometheus/common - version: e4aa40a9169a88835b849a6efb71e05dc04b88f0 + version: cfeb6f9992ffa54aaa4f2170ade4067ee478b250 subpackages: - expfmt - internal/bitbucket.org/ww/goautoneg - model - name: github.com/prometheus/procfs - version: 54d17b57dd7d4a3aa092476596b3f8a933bde349 + version: bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4 subpackages: - internal/util - nfs - xfs -- name: github.com/PuerkitoBio/purell - version: 8a290539e2e8629dbc4e6bad948158f790ec31f4 -- name: github.com/PuerkitoBio/urlesc - version: 5bd2802263f21d8788851d5305584c82a5c75d7e - name: github.com/ryanuber/go-glob - version: 256dc444b735e061061cf46c809487313d5b0065 + version: 51a8f68e6c24dc43f1e371749c89a267de4ebc53 - name: github.com/sirupsen/logrus - version: 3e01752db0189b9157070a0e1668a620f9a85da2 + version: e1e72e9de974bd926e5c56f83753fba2df402ce5 - name: github.com/spf13/pflag - version: dabebe21bf790f782ea4c7bbd2efc430de182afd -- name: github.com/ugorji/go - version: f1f1a805ed361a0e078bb537e4ea78cd37dcf065 - subpackages: - - codec + version: 24fa6976df40757dce6aea913e7b81ade90530e1 - name: golang.org/x/crypto - version: 7d9177d70076375b9a59c8fde23d52d9c4a7ecd5 + version: 057139ce5d2bdbe6fe73c53679e24e9cf007f637 subpackages: - ssh/terminal - name: golang.org/x/net - version: e90d6d0afc4c315a0d87a568ae68577cc15149a0 + version: 1c05540f6879653db88113bc4a2b70aec4bd491f subpackages: - context - - context/ctxhttp - http2 - http2/hpack - idna - lex/httplex - name: golang.org/x/oauth2 - version: 3c3a985cb79f52a3190fbc056984415ca6763d01 + version: a6bd8cefa1811bd24b86f8902872e4e8225f74c4 subpackages: - google - internal - jws - jwt - name: golang.org/x/sys - version: 8f0908ab3b2457e2e15403d3697c9ef5cb4b57a9 + version: 95c6576299259db960f6c5b9b69ea52422860fce subpackages: - unix - windows - name: golang.org/x/text - version: 2910a502d2bf9e43193af9d68ca516529614eed3 + version: b19bf474d317b857955b12035d2c5acb57ce8b01 subpackages: - - cases - - internal/tag - - language - - runes - secure/bidirule - - secure/precis - transform - unicode/bidi - unicode/norm - - width +- name: golang.org/x/time + version: f51c12702a4d776e4c1fa9b0fabab841babae631 + subpackages: + - rate - name: google.golang.org/appengine - version: 4f7eeb5305a4ba1966344836ba4af9996b7b4e05 + version: e9657d882bb81064595ca3b56cbe2546bbabf7b1 subpackages: - internal - - internal/app_identity - internal/base - internal/datastore - internal/log - - internal/modules - internal/remote_api - internal/urlfetch - urlfetch - name: gopkg.in/inf.v0 version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 - name: gopkg.in/yaml.v2 - version: 53feefa2559fb8dfa8d81baad31be332c97d6c77 -- name: k8s.io/apimachinery - version: 1fd2e63a9a370677308a42f24fd40c86438afddf + version: 670d4cfef0544295bc27a114dbac37980d83185a +- name: k8s.io/api + version: b503174bad5991eb66f18247f52e41c3258f6348 subpackages: - - pkg/util/runtime - - pkg/util/wait -- name: k8s.io/client-go - version: e121606b0d09b2e1c467183ee46217fa85a6b672 + - admissionregistration/v1alpha1 + - admissionregistration/v1beta1 + - apps/v1 + - apps/v1beta1 + - apps/v1beta2 + - authentication/v1 + - authentication/v1beta1 + - authorization/v1 + - authorization/v1beta1 + - autoscaling/v1 + - autoscaling/v2beta1 + - autoscaling/v2beta2 + - batch/v1 + - batch/v1beta1 + - batch/v2alpha1 + - certificates/v1beta1 + - coordination/v1beta1 + - core/v1 + - events/v1beta1 + - extensions/v1beta1 + - networking/v1 + - policy/v1beta1 + - rbac/v1 + - rbac/v1alpha1 + - rbac/v1beta1 + - scheduling/v1alpha1 + - scheduling/v1beta1 + - settings/v1alpha1 + - storage/v1 + - storage/v1alpha1 + - storage/v1beta1 +- name: k8s.io/apimachinery + version: eddba98df674a16931d2d4ba75edc3a389bf633a subpackages: - - discovery - - kubernetes - - kubernetes/typed/apps/v1beta1 - - kubernetes/typed/authentication/v1beta1 - - kubernetes/typed/authorization/v1beta1 - - kubernetes/typed/autoscaling/v1 - - kubernetes/typed/batch/v1 - - kubernetes/typed/batch/v2alpha1 - - kubernetes/typed/certificates/v1alpha1 - - kubernetes/typed/core/v1 - - kubernetes/typed/extensions/v1beta1 - - kubernetes/typed/policy/v1beta1 - - kubernetes/typed/rbac/v1alpha1 - - kubernetes/typed/storage/v1beta1 - - pkg/api - pkg/api/errors - - pkg/api/install - pkg/api/meta - - pkg/api/meta/metatypes - pkg/api/resource - - pkg/api/unversioned - pkg/api/v1 - - pkg/api/validation/path - - pkg/apimachinery - - pkg/apimachinery/announced - - pkg/apimachinery/registered - - pkg/apis/apps - - pkg/apis/apps/install - - pkg/apis/apps/v1beta1 - - pkg/apis/authentication - - pkg/apis/authentication/install - - pkg/apis/authentication/v1beta1 - - pkg/apis/authorization - - pkg/apis/authorization/install - - pkg/apis/authorization/v1beta1 - - pkg/apis/autoscaling - - pkg/apis/autoscaling/install - - pkg/apis/autoscaling/v1 - - pkg/apis/batch - - pkg/apis/batch/install - - pkg/apis/batch/v1 - - pkg/apis/batch/v2alpha1 - - pkg/apis/certificates - - pkg/apis/certificates/install - - pkg/apis/certificates/v1alpha1 - - pkg/apis/extensions - - pkg/apis/extensions/install - - pkg/apis/extensions/v1beta1 - - pkg/apis/policy - - pkg/apis/policy/install - - pkg/apis/policy/v1beta1 - - pkg/apis/rbac - - pkg/apis/rbac/install - - pkg/apis/rbac/v1alpha1 - - pkg/apis/storage - - pkg/apis/storage/install - - pkg/apis/storage/v1beta1 - - pkg/auth/user + - 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/genericapiserver/openapi/common - pkg/labels - pkg/runtime + - pkg/runtime/schema - pkg/runtime/serializer - pkg/runtime/serializer/json - pkg/runtime/serializer/protobuf @@ -289,40 +234,79 @@ imports: - pkg/runtime/serializer/streaming - pkg/runtime/serializer/versioning - pkg/selection - - pkg/third_party/forked/golang/reflect - - pkg/third_party/forked/golang/template - pkg/types - - pkg/util - - pkg/util/cert + - pkg/util/cache - pkg/util/clock - pkg/util/diff - pkg/util/errors - - pkg/util/flowcontrol - pkg/util/framer - - pkg/util/integer - pkg/util/intstr - pkg/util/json - - pkg/util/jsonpath - - pkg/util/labels + - pkg/util/naming - pkg/util/net - - pkg/util/parsers - - pkg/util/rand - pkg/util/runtime - pkg/util/sets - - pkg/util/uuid - pkg/util/validation - pkg/util/validation/field - pkg/util/wait - pkg/util/yaml - pkg/version - pkg/watch - - pkg/watch/versioned - - plugin/pkg/client/auth - - plugin/pkg/client/auth/gcp - - plugin/pkg/client/auth/oidc + - third_party/forked/golang/reflect +- name: k8s.io/client-go + version: d082d5923d3cc0bfbb066ee5fbdea3d0ca79acf8 + subpackages: + - discovery + - kubernetes + - kubernetes/scheme + - kubernetes/typed/admissionregistration/v1alpha1 + - kubernetes/typed/admissionregistration/v1beta1 + - kubernetes/typed/apps/v1 + - kubernetes/typed/apps/v1beta1 + - kubernetes/typed/apps/v1beta2 + - 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/v1beta1 + - kubernetes/typed/core/v1 + - kubernetes/typed/events/v1beta1 + - kubernetes/typed/extensions/v1beta1 + - kubernetes/typed/networking/v1 + - kubernetes/typed/policy/v1beta1 + - kubernetes/typed/rbac/v1 + - kubernetes/typed/rbac/v1alpha1 + - kubernetes/typed/rbac/v1beta1 + - kubernetes/typed/scheduling/v1alpha1 + - kubernetes/typed/scheduling/v1beta1 + - kubernetes/typed/settings/v1alpha1 + - kubernetes/typed/storage/v1 + - kubernetes/typed/storage/v1alpha1 + - kubernetes/typed/storage/v1beta1 + - pkg/apis/clientauthentication + - pkg/apis/clientauthentication/v1alpha1 + - pkg/apis/clientauthentication/v1beta1 + - pkg/version + - plugin/pkg/client/auth/exec - rest + - rest/watch - tools/cache - tools/clientcmd/api - tools/metrics + - tools/pager + - tools/reference - transport + - util/buffer + - util/cert + - util/connrotation + - util/flowcontrol + - util/integer + - util/retry testImports: [] diff --git a/glide.yaml b/glide.yaml index fe42f7d0..95e0e196 100644 --- a/glide.yaml +++ b/glide.yaml @@ -11,12 +11,14 @@ import: - package: github.com/karlseguin/ccache - package: github.com/spf13/pflag - package: k8s.io/apimachinery -- package: k8s.io/client-go - version: v2.0.0 + version: kubernetes-1.10.12 subpackages: - pkg/api/v1 - - kubernetes - pkg/fields +- package: k8s.io/client-go + version: v10.0.0 + subpackages: + - kubernetes - rest - package: github.com/cenk/backoff - package: github.com/coreos/go-iptables @@ -29,4 +31,9 @@ import: - package: github.com/prometheus/client_golang version: v0.9.0-pre1 subpackages: - - prometheus/promhttp \ No newline at end of file + - prometheus/promhttp +- package: github.com/go-errors/errors +- package: k8s.io/api + version: kubernetes-1.10.12 + subpackages: + - core/v1 diff --git a/k8s/k8s.go b/k8s/k8s.go index 40320212..dac1dde8 100644 --- a/k8s/k8s.go +++ b/k8s/k8s.go @@ -5,10 +5,11 @@ import ( "time" "github.com/jtblin/kube2iam" + log "github.com/sirupsen/logrus" + "k8s.io/api/core/v1" + selector "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/kubernetes" - "k8s.io/client-go/pkg/api/v1" - selector "k8s.io/client-go/pkg/fields" "k8s.io/client-go/rest" "k8s.io/client-go/tools/cache" ) @@ -23,9 +24,9 @@ const ( // Client represents a kubernetes client. type Client struct { *kubernetes.Clientset - namespaceController *cache.Controller + namespaceController cache.Controller namespaceIndexer cache.Indexer - podController *cache.Controller + podController cache.Controller podIndexer cache.Indexer nodeName string } @@ -97,13 +98,22 @@ func (k8s *Client) PodByIP(IP string) (*v1.Pod, error) { } if len(pods) == 1 { - return pods[0].(*v1.Pod), nil + p, ok := pods[0].(*v1.Pod) + if !ok { + return nil, fmt.Errorf("pods[0] is not *v1.Pod! %v", pods[0]) + } + return p, nil } //This happens with `hostNetwork: true` pods podNames := make([]string, len(pods)) for i, pod := range pods { - podNames[i] = pod.(*v1.Pod).ObjectMeta.Name + p, ok := pod.(*v1.Pod) + if !ok { + log.Errorf("pods[%d] is not *v1.Pod! %v", i, pod) + } else { + podNames[i] = p.ObjectMeta.Name + } } return nil, fmt.Errorf("%d pods (%v) with the ip %s indexed", len(pods), podNames, IP) } @@ -129,9 +139,9 @@ func NewClient(host, token, nodeName string, insecure bool) (*Client, error) { var err error if host != "" && token != "" { config = &rest.Config{ - Host: host, - BearerToken: token, - Insecure: insecure, + Host: host, + BearerToken: token, + TLSClientConfig: rest.TLSClientConfig{Insecure: insecure}, } } else { config, err = rest.InClusterConfig() diff --git a/mappings/mapper.go b/mappings/mapper.go index a52b234d..035f568d 100644 --- a/mappings/mapper.go +++ b/mappings/mapper.go @@ -7,7 +7,7 @@ import ( glob "github.com/ryanuber/go-glob" log "github.com/sirupsen/logrus" - "k8s.io/client-go/pkg/api/v1" + v1 "k8s.io/api/core/v1" "github.com/jtblin/kube2iam" "github.com/jtblin/kube2iam/iam" diff --git a/mappings/mapper_test.go b/mappings/mapper_test.go index 1d7e9a86..622aa3c7 100644 --- a/mappings/mapper_test.go +++ b/mappings/mapper_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "k8s.io/client-go/pkg/api/v1" + v1 "k8s.io/api/core/v1" "github.com/jtblin/kube2iam/iam" ) diff --git a/namespace.go b/namespace.go index 5860d7eb..1c2df0df 100644 --- a/namespace.go +++ b/namespace.go @@ -5,7 +5,7 @@ import ( "fmt" log "github.com/sirupsen/logrus" - "k8s.io/client-go/pkg/api/v1" + v1 "k8s.io/api/core/v1" ) // NamespaceHandler outputs change events from K8. diff --git a/namespace_test.go b/namespace_test.go index d6d6251d..a4b352d9 100644 --- a/namespace_test.go +++ b/namespace_test.go @@ -3,7 +3,7 @@ package kube2iam import ( "testing" - "k8s.io/client-go/pkg/api/v1" + v1 "k8s.io/api/core/v1" ) func TestGetNamespaceRoleAnnotation(t *testing.T) { diff --git a/pod.go b/pod.go index e8758943..1b16b7c5 100644 --- a/pod.go +++ b/pod.go @@ -4,8 +4,7 @@ import ( "fmt" log "github.com/sirupsen/logrus" - "k8s.io/client-go/pkg/api/unversioned" - "k8s.io/client-go/pkg/api/v1" + v1 "k8s.io/api/core/v1" "k8s.io/client-go/tools/cache" ) @@ -72,14 +71,10 @@ func (p *PodHandler) OnDelete(obj interface{}) { } func isPodActive(p *v1.Pod) bool { - podDeleted := false - if p.DeletionTimestamp != nil { - podDeleted = p.DeletionTimestamp.Before(unversioned.Now()) - } return p.Status.PodIP != "" && v1.PodSucceeded != p.Status.Phase && v1.PodFailed != p.Status.Phase && - !podDeleted + p.DeletionTimestamp != nil } // PodIPIndexFunc maps a given Pod to it's IP for caching. diff --git a/server/server.go b/server/server.go index 1300439c..02d38256 100644 --- a/server/server.go +++ b/server/server.go @@ -345,7 +345,6 @@ func (s *Server) Run(host, token, nodeName string, insecure bool) error { } s.k8s = k s.iam = iam.NewClient(s.BaseRoleARN, s.UseRegionalStsEndpoint) - log.Debugln("Caches have been synced. Proceeding with server.") s.roleMapper = mappings.NewRoleMapper(s.IAMRoleKey, s.DefaultIAMRole, s.NamespaceRestriction, s.NamespaceKey, s.iam, s.k8s, s.NamespaceRestrictionFormat) podSynched := s.k8s.WatchForPods(kube2iam.NewPodHandler(s.IAMRoleKey)) namespaceSynched := s.k8s.WatchForNamespaces(kube2iam.NewNamespaceHandler(s.NamespaceKey))