diff --git a/Dockerfile b/Dockerfile index c4d9845..5e1e090 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.19 as build +FROM golang:1.23 AS build RUN apt-get update && apt-get install -y curl make # https://github.com/kubernetes-sigs/aws-iam-authenticator/releases diff --git a/Makefile b/Makefile index 8290481..5a0695e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY:all run linux docker generate tidy protobuf cover docker-push +.PHONY:all run linux docker docker-build generate tidy protobuf cover docker-push all: go get ./pkg/... @@ -19,10 +19,13 @@ goreleaser: fi docker-snapshot: goreleaser - $(GOPATH)/bin/goreleaser release --snapshot --rm-dist + $(GOPATH)/bin/goreleaser release --snapshot --clean + +docker-build: + docker build -t salesforce/sloop:latest . docker: goreleaser - $(GOPATH)/bin/goreleaser release --rm-dist --skip-publish + $(GOPATH)/bin/goreleaser release --clean --skip-publish generate: go generate ./pkg/... diff --git a/README.md b/README.md index 5a451c6..4719d7d 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,8 @@ Other makefile targets: To run from Docker you need to host mount your kubeconfig: ```shell script -make docker-snapshot -docker run --rm -it -p 8080:8080 -v ~/.kube/:/kube/ -e KUBECONFIG=/kube/config sloop +make docker-build +docker run --rm -it -p 8080:8080 -v ~/.kube/:/kube/ -e KUBECONFIG=/kube/config salesforce/sloop:latest ``` In this mode, data is written to a memory-backed volume and is discarded after each run. To preserve the data, you can host-mount /data with something like `-v /data/:/some_path_on_host/` diff --git a/pkg/sloop/common/logging.go b/pkg/sloop/common/logging.go index 7eb42fa..48ef220 100644 --- a/pkg/sloop/common/logging.go +++ b/pkg/sloop/common/logging.go @@ -1,4 +1,3 @@ - package common import "github.com/golang/glog" diff --git a/pkg/sloop/ingress/kubeclient.go b/pkg/sloop/ingress/kubeclient.go index 7eee066..a99bb90 100644 --- a/pkg/sloop/ingress/kubeclient.go +++ b/pkg/sloop/ingress/kubeclient.go @@ -54,6 +54,10 @@ func MakeKubernetesClient(masterURL string, kubeContext string, privilegedAccess if privilegedAccess { clientConfig := getConfig(masterURL, kubeContext) config, err = ClientConfig(clientConfig) + if err != nil { + glog.Errorf("Cannot create config from client config: %v", err) + return nil, err + } glog.Infof("Building k8sclient with context=%v, masterURL=%v, configFile=%v.", kubeContext, config.Host, clientConfig.ConfigAccess().GetLoadingPrecedence()) } else { glog.Infof("Creating Config using BuildConfigFromFlags")