f7fca469de
Proposed KRM function can perform static validation of the site documents based on Kubeval. It allows to specify additional CRD locations to be able to validate custom resources. As input, it uses document bundle created from desired phase's document entry point or output from render command. Change-Id: Ib76d88a6e6c7f3b29b29cab0abe038eef380686f Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Relates-To: #19
79 lines
1.8 KiB
Makefile
79 lines
1.8 KiB
Makefile
.PHONY: generate license fix vet fmt test build tidy image
|
|
|
|
SHELL := /bin/bash
|
|
GOBIN := $(shell go env GOPATH)/bin
|
|
|
|
# docker image options
|
|
DOCKER_REGISTRY ?= quay.io
|
|
DOCKER_IMAGE_NAME ?= kubeval-validator
|
|
DOCKER_IMAGE_PREFIX ?= airshipit
|
|
DOCKER_IMAGE_TAG ?= v0.1.0
|
|
DOCKER_IMAGE ?= $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
|
|
PUBLISH ?= false
|
|
DOCKER_FORCE_CLEAN ?= true
|
|
|
|
# proxy options
|
|
PROXY ?= http://proxy.foo.com:8000
|
|
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
|
|
USE_PROXY ?= false
|
|
|
|
.PHONY: build
|
|
build:
|
|
(cd image && go build -v -o $(GOBIN)/config-function .)
|
|
|
|
.PHONY: all
|
|
all: generate license build fix vet fmt test lint tidy
|
|
|
|
.PHONY: fix
|
|
fix:
|
|
(cd image && go fix ./...)
|
|
|
|
.PHONY: fmt
|
|
fmt:
|
|
(cd image && go fmt ./...)
|
|
|
|
.PHONY: generate
|
|
generate:
|
|
(which $(GOBIN)/mdtogo || go get sigs.k8s.io/kustomize/cmd/mdtogo)
|
|
(cd image && GOBIN=$(GOBIN) go generate ./...)
|
|
|
|
.PHONY: tidy
|
|
tidy:
|
|
(cd image && go mod tidy)
|
|
|
|
.PHONY: fix
|
|
lint:
|
|
(which $(GOBIN)/golangci-lint || go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.19.1)
|
|
(cd image && $(GOBIN)/golangci-lint run ./...)
|
|
|
|
.PHONY: test
|
|
test:
|
|
(cd image && go test -cover ./...)
|
|
|
|
.PHONY: vet
|
|
vet:
|
|
(cd image && go vet ./...)
|
|
|
|
.PHONY: image
|
|
image:
|
|
ifeq ($(USE_PROXY), true)
|
|
cd image && \
|
|
docker build . --network=host \
|
|
--build-arg http_proxy=$(PROXY) \
|
|
--build-arg https_proxy=$(PROXY) \
|
|
--build-arg HTTP_PROXY=$(PROXY) \
|
|
--build-arg HTTPS_PROXY=$(PROXY) \
|
|
--build-arg no_proxy=$(NO_PROXY) \
|
|
--build-arg NO_PROXY=$(NO_PROXY) \
|
|
--tag $(DOCKER_IMAGE) \
|
|
--force-rm=$(DOCKER_FORCE_CLEAN)
|
|
else
|
|
cd image && \
|
|
docker build . --network=host \
|
|
--tag $(DOCKER_IMAGE) \
|
|
--force-rm=$(DOCKER_FORCE_CLEAN)
|
|
endif
|
|
ifeq ($(PUBLISH), true)
|
|
@docker push $(DOCKER_IMAGE)
|
|
endif
|