diff --git a/.golangci.yaml b/.golangci.yaml index 33421972..4d6b565d 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -42,7 +42,7 @@ linters-settings: - github.com/onsi/gomega - github.com/onsi/ginkgo goimports: - local-prefixes: github.com/operator-framework/api,github.com/operator-framework/operator-registry + local-prefixes: github.com/openshift/platform-operators output: format: tab diff --git a/Makefile b/Makefile index 1a45b4a6..831033c4 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,7 @@ ENVTEST_K8S_VERSION = 1.22 BIN_DIR := bin CONTAINER_RUNTIME ?= docker KIND_CLUSTER_NAME ?= kind +GO_INSTALL_OPTS ?= "-mod=readonly" # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -105,7 +106,6 @@ install: generate kustomize ## Install CRDs into the K8s cluster specified in ~/ uninstall: generate kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. $(KUSTOMIZE) build config/crd | kubectl delete --ignore-not-found=$(ignore-not-found) -f - - .PHONY: run run: build-container kind-cluster kind-load install cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} @@ -138,8 +138,12 @@ GOLANGCI_LINT ?= $(LOCALBIN)/golangci-lint KIND ?= $(LOCALBIN)/kind ## Tool Versions -KUSTOMIZE_VERSION ?= v4.5.6 +KUSTOMIZE_VERSION ?= v3.8.7 CONTROLLER_TOOLS_VERSION ?= v0.9.0 +ENVTEST_VERSION ?= latest +GINKGO_VERSION ?= v2.1.4 +GOLANGCI_LINT_VERSION ?= v1.45.2 +KIND_VERSION ?= v0.14.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize @@ -151,44 +155,24 @@ $(KUSTOMIZE): $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install $(GO_INSTALL_OPTS) sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install $(GO_INSTALL_OPTS) sigs.k8s.io/controller-runtime/tools/setup-envtest@$(ENVTEST_VERSION) .PHONY: ginkgo ginkgo: $(GINKGO) $(GINKGO): $(LOCALBIN) ## Download ginkgo locally if necessary. - GOBIN=$(LOCALBIN) go install github.com/onsi/ginkgo/v2/ginkgo@v2.1.4 + GOBIN=$(LOCALBIN) go install $(GO_INSTALL_OPTS) github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) .PHONY: golangci-lint golangci-lint: $(GOLANGCI_LINT) $(GOLANGCI_LINT): $(LOCALBIN) ## Download golangci-lint locally if necessary. - GOBIN=$(LOCALBIN) go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.45.2 - -RUKPAK_VERSION=v0.5.0 -CERT_MGR_VERSION=v1.7.1 + GOBIN=$(LOCALBIN) go install $(GO_INSTALL_OPTS) github.com/golangci/golangci-lint/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION) .PHONY: kind kind: $(KIND) ## Download kind locally if necessary. $(KIND): $(LOCALBIN) - GOBIN=$(LOCALBIN) go install sigs.k8s.io/kind@v0.14.0 - -.PHONY: rukpak -rukpak: - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/$(CERT_MGR_VERSION)/cert-manager.yaml - kubectl wait --for=condition=Available --namespace=cert-manager deployment/cert-manager-webhook --timeout=60s - kubectl apply -f https://github.com/operator-framework/rukpak/releases/download/$(RUKPAK_VERSION)/rukpak.yaml - -OLM_VERSION ?= v0.21.2 -.PHONY: olm -olm: ## Install OLM locally - # TODO(tflannag): Deploy a BundleDeployment using the OLM plain bundle image - kubectl apply --server-side=true -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/$(OLM_VERSION)/crds.yaml - # Wait for CRDs to be accepted before proceeding - kubectl wait --for=condition=NamesAccepted crd/catalogsources.operators.coreos.com crd/clusterserviceversions.operators.coreos.com \ - crd/installplans.operators.coreos.com crd/olmconfigs.operators.coreos.com crd/operatorconditions.operators.coreos.com \ - crd/operatorgroups.operators.coreos.com crd/operators.operators.coreos.com crd/subscriptions.operators.coreos.com --timeout=60s - kubectl apply --server-side=true -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/$(OLM_VERSION)/olm.yaml + GOBIN=$(LOCALBIN) go install $(GO_INSTALL_OPTS) sigs.k8s.io/kind@$(KIND_VERSION) diff --git a/go.sum b/go.sum index 88c97d7b..eaa7c590 100644 --- a/go.sum +++ b/go.sum @@ -413,8 +413,6 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/operator-framework/api v0.15.0 h1:4f9i0drtqHj7ykLoHxv92GR43S7MmQHhmFQkfm5YaGI= github.com/operator-framework/api v0.15.0/go.mod h1:scnY9xqSeCsOdtJtNoHIXd7OtHZ14gj1hkDA4+DlgLY= -github.com/operator-framework/deppy v0.0.0-20220624185330-db87eb0e11e9 h1:JeX++QZOUL5JtZOXmhsL/jwVTrXKRcQ/UPWUZv6XTAQ= -github.com/operator-framework/deppy v0.0.0-20220624185330-db87eb0e11e9/go.mod h1:Oqhn5Lxyv8org2cpi2KEiuSlxrjTaQhAWYn/K/94y1M= github.com/operator-framework/operator-registry v1.22.1 h1:myPsCo2Iyd5mRnm8Lwh1mEKeGfmuXO4fkeU9qB59dnE= github.com/operator-framework/operator-registry v1.22.1/go.mod h1:qDxBCYPeOMlOXd95Zi1q4GpiKwK9i9Mag1AkrMOoFNU= github.com/operator-framework/rukpak v0.7.0 h1:ZzjeZjDPkhTZ5whm18W5TiH0x6XdFxuhc9DndBKc44o=