*: add peer VPN support
This commit adds support for defining arbitrary peers that should have access to the VPN. In k8s, this is accomplished using the new Peer CRD.
This commit is contained in:
103
Makefile
103
Makefile
@@ -1,5 +1,5 @@
|
||||
export GO111MODULE=on
|
||||
.PHONY: all push container clean container-name container-latest push-latest fmt lint test unit vendor header
|
||||
#export GO111MODULE=on
|
||||
.PHONY: all push container clean container-name container-latest push-latest fmt lint test unit vendor header generate client deepcopy informer lister openapi
|
||||
|
||||
BINS := $(addprefix bin/,kg kgctl)
|
||||
PROJECT := kilo
|
||||
@@ -22,12 +22,88 @@ SRC := $(shell find . -type f -name '*.go' -not -path "./vendor/*")
|
||||
GO_FILES ?= $$(find . -name '*.go' -not -path './vendor/*')
|
||||
GO_PKGS ?= $$(go list ./... | grep -v "$(PKG)/vendor")
|
||||
|
||||
CLIENT_GO_VERSION := release-11.0
|
||||
CODE_GENERATOR_VERSION := release-1.14
|
||||
KUBE_OPENAPI_VERSION := b3a7cee44
|
||||
CLIENT_GEN_BINARY:=$(GOPATH)/bin/client-gen
|
||||
DEEPCOPY_GEN_BINARY:=$(GOPATH)/bin/deepcopy-gen
|
||||
INFORMER_GEN_BINARY:=$(GOPATH)/bin/informer-gen
|
||||
LISTER_GEN_BINARY:=$(GOPATH)/bin/lister-gen
|
||||
OPENAPI_GEN_BINARY:=$(GOPATH)/bin/openapi-gen
|
||||
|
||||
BUILD_IMAGE ?= golang:1.12.1-alpine
|
||||
|
||||
all: build
|
||||
|
||||
build: $(BINS)
|
||||
|
||||
generate: client deepcopy informer lister openapi
|
||||
|
||||
client: pkg/k8s/clientset/versioned/typed/kilo/v1alpha1/peer.go
|
||||
pkg/k8s/clientset/versioned/typed/kilo/v1alpha1/peer.go: .header pkg/k8s/apis/kilo/v1alpha1/types.go $(CLIENT_GEN_BINARY)
|
||||
$(CLIENT_GEN_BINARY) \
|
||||
--clientset-name versioned \
|
||||
--input-base "" \
|
||||
--input $(PKG)/pkg/k8s/apis/kilo/v1alpha1 \
|
||||
--output-base $(CURDIR) \
|
||||
--output-package $(PKG)/pkg/k8s/clientset \
|
||||
--go-header-file=.header \
|
||||
--logtostderr
|
||||
rm -r pkg/k8s/clientset
|
||||
mv $(PKG)/pkg/k8s/clientset pkg/k8s
|
||||
rm -r github.com
|
||||
go fmt ./pkg/k8s/clientset/...
|
||||
|
||||
deepcopy: pkg/k8s/apis/kilo/v1alpha1/zz_generated.deepcopy.go
|
||||
pkg/k8s/apis/kilo/v1alpha1/zz_generated.deepcopy.go: .header pkg/k8s/apis/kilo/v1alpha1/types.go $(DEEPCOPY_GEN_BINARY)
|
||||
$(DEEPCOPY_GEN_BINARY) \
|
||||
--input-dirs ./$(@D) \
|
||||
--go-header-file=.header \
|
||||
--logtostderr \
|
||||
--output-base $(CURDIR) \
|
||||
--output-file-base zz_generated.deepcopy \
|
||||
go fmt $@
|
||||
|
||||
informer: pkg/k8s/informers/kilo/v1alpha1/peer.go
|
||||
pkg/k8s/informers/kilo/v1alpha1/peer.go: .header pkg/k8s/apis/kilo/v1alpha1/types.go $(INFORMER_GEN_BINARY)
|
||||
$(INFORMER_GEN_BINARY) \
|
||||
--input-dirs $(PKG)/pkg/k8s/apis/kilo/v1alpha1 \
|
||||
--go-header-file=.header \
|
||||
--logtostderr \
|
||||
--versioned-clientset-package $(PKG)/pkg/k8s/clientset/versioned \
|
||||
--listers-package $(PKG)/pkg/k8s/listers \
|
||||
--output-base $(CURDIR) \
|
||||
--output-package $(PKG)/pkg/k8s/informers \
|
||||
--single-directory
|
||||
rm -r pkg/k8s/informers
|
||||
mv $(PKG)/pkg/k8s/informers pkg/k8s
|
||||
rm -r github.com
|
||||
go fmt ./pkg/k8s/informers/...
|
||||
|
||||
lister: pkg/k8s/listers/kilo/v1alpha1/peer.go
|
||||
pkg/k8s/listers/kilo/v1alpha1/peer.go: .header pkg/k8s/apis/kilo/v1alpha1/types.go $(LISTER_GEN_BINARY)
|
||||
$(LISTER_GEN_BINARY) \
|
||||
--input-dirs $(PKG)/pkg/k8s/apis/kilo/v1alpha1 \
|
||||
--go-header-file=.header \
|
||||
--logtostderr \
|
||||
--output-base $(CURDIR) \
|
||||
--output-package $(PKG)/pkg/k8s/listers
|
||||
rm -r pkg/k8s/listers
|
||||
mv $(PKG)/pkg/k8s/listers pkg/k8s
|
||||
rm -r github.com
|
||||
go fmt ./pkg/k8s/listers/...
|
||||
|
||||
openapi: pkg/k8s/apis/kilo/v1alpha1/openapi_generated.go
|
||||
pkg/k8s/apis/kilo/v1alpha1/openapi_generated.go: pkg/k8s/apis/kilo/v1alpha1/types.go $(OPENAPI_GEN_BINARY)
|
||||
$(OPENAPI_GEN_BINARY) \
|
||||
--input-dirs ./$(@D),k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/api/core/v1 \
|
||||
--output-base $(CURDIR) \
|
||||
--output-package ./$(@D) \
|
||||
--logtostderr \
|
||||
--report-filename /dev/null \
|
||||
--go-header-file=.header
|
||||
go fmt $@
|
||||
|
||||
$(BINS): $(SRC) go.mod
|
||||
@mkdir -p bin
|
||||
@echo "building: $@"
|
||||
@@ -82,10 +158,14 @@ test: lint unit
|
||||
|
||||
header: .header
|
||||
@HEADER=$$(sed "s/YEAR/$$(date '+%Y')/" .header); \
|
||||
HEADER_LEN=$$(wc -l .header | awk '{print $$1}'); \
|
||||
FILES=; \
|
||||
for f in $(GO_FILES); do \
|
||||
FILE=$$(head -n $$(wc -l .header | awk '{print $$1}') $$f); \
|
||||
[ "$$FILE" != "$$HEADER" ] && FILES="$$FILES$$f "; \
|
||||
for i in 0 1 2 3 4 5; do \
|
||||
FILE=$$(tail -n +$$i $$f | head -n $$HEADER_LEN); \
|
||||
[ "$$FILE" = "$$HEADER" ] && continue 2; \
|
||||
done; \
|
||||
FILES="$$FILES$$f "; \
|
||||
done; \
|
||||
if [ -n "$$FILES" ]; then \
|
||||
printf 'the following files are missing the license header: %s\n' "$$FILES"; \
|
||||
@@ -128,3 +208,18 @@ bin-clean:
|
||||
vendor:
|
||||
go mod tidy
|
||||
go mod vendor
|
||||
|
||||
$(CLIENT_GEN_BINARY):
|
||||
go get k8s.io/code-generator/cmd/client-gen@$(CODE_GENERATOR_VERSION)
|
||||
|
||||
$(DEEPCOPY_GEN_BINARY):
|
||||
go get k8s.io/code-generator/cmd/deepcopy-gen@$(CODE_GENERATOR_VERSION)
|
||||
|
||||
$(INFORMER_GEN_BINARY):
|
||||
go get k8s.io/code-generator/cmd/informer-gen@$(CODE_GENERATOR_VERSION)
|
||||
|
||||
$(LISTER_GEN_BINARY):
|
||||
go get k8s.io/code-generator/cmd/lister-gen@$(CODE_GENERATOR_VERSION)
|
||||
|
||||
$(OPENAPI_GEN_BINARY):
|
||||
go get k8s.io/kube-openapi/cmd/openapi-gen@$(KUBE_OPENAPI_VERSION)
|
||||
|
Reference in New Issue
Block a user