diff --git a/.gitignore b/.gitignore index d238a6125..1bd345523 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ bin/* testbin/* /hack/tools/bin/* Dockerfile.cross +crd_work_dir/ # Test binary, build with `go test -c` *.test @@ -41,11 +42,3 @@ site .tiltbuild/ .catalogd-tmp/ .vscode - -# Catalogd -catalogd/bin/ -catalogd/vendor/ -catalogd/dist/ -catalogd/cover.out -catalogd/catalogd.yaml -catalogd/install.sh diff --git a/.goreleaser.yml b/.goreleaser.yml index cfd6bd939..dcf6c1a9e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -37,7 +37,7 @@ builds: - s390x dockers: - image_templates: - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" dockerfile: Dockerfile.operator-controller goos: linux goarch: amd64 @@ -45,7 +45,7 @@ dockers: build_flag_templates: - "--platform=linux/amd64" - image_templates: - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" dockerfile: Dockerfile.operator-controller goos: linux goarch: arm64 @@ -53,7 +53,7 @@ dockers: build_flag_templates: - "--platform=linux/arm64" - image_templates: - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" dockerfile: Dockerfile.operator-controller goos: linux goarch: ppc64le @@ -61,7 +61,7 @@ dockers: build_flag_templates: - "--platform=linux/ppc64le" - image_templates: - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" dockerfile: Dockerfile.operator-controller goos: linux goarch: s390x @@ -69,7 +69,7 @@ dockers: build_flag_templates: - "--platform=linux/s390x" - image_templates: - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" dockerfile: Dockerfile.catalogd goos: linux goarch: amd64 @@ -77,7 +77,7 @@ dockers: build_flag_templates: - "--platform=linux/amd64" - image_templates: - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" dockerfile: Dockerfile.catalogd goos: linux goarch: arm64 @@ -85,7 +85,7 @@ dockers: build_flag_templates: - "--platform=linux/arm64" - image_templates: - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" dockerfile: Dockerfile.catalogd goos: linux goarch: ppc64le @@ -93,7 +93,7 @@ dockers: build_flag_templates: - "--platform=linux/ppc64le" - image_templates: - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" dockerfile: Dockerfile.catalogd goos: linux goarch: s390x @@ -101,18 +101,18 @@ dockers: build_flag_templates: - "--platform=linux/s390x" docker_manifests: - - name_template: "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}" + - name_template: "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}" image_templates: - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" - - "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" - - name_template: "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" + - "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" + - name_template: "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}" image_templates: - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" - - "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le" + - "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x" checksum: name_template: 'checksums.txt' snapshot: diff --git a/Makefile b/Makefile index e74165a3b..d126e4e53 100644 --- a/Makefile +++ b/Makefile @@ -9,28 +9,28 @@ export ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) GOLANG_VERSION := $(shell sed -En 's/^go (.*)$$/\1/p' "go.mod") # Image URL to use all building/pushing image targets -ifeq ($(origin IMG_NAMESPACE), undefined) -IMG_NAMESPACE := quay.io/operator-framework +ifeq ($(origin IMAGE_REGISTRY), undefined) +IMAGE_REGISTRY := quay.io/operator-framework endif -export IMG_NAMESPACE +export IMAGE_REGISTRY -ifeq ($(origin OPERATOR_CONTROLLER_IMAGE_REPO), undefined) -OPERATOR_CONTROLLER_IMAGE_REPO := $(IMG_NAMESPACE)/operator-controller +ifeq ($(origin OPCON_IMAGE_REPO), undefined) +OPCON_IMAGE_REPO := $(IMAGE_REGISTRY)/operator-controller endif -export OPERATOR_CONTROLLER_IMAGE_REPO +export OPCON_IMAGE_REPO -ifeq ($(origin CATALOGD_IMAGE_REPO), undefined) -CATALOGD_IMAGE_REPO := $(IMG_NAMESPACE)/catalogd +ifeq ($(origin CATD_IMAGE_REPO), undefined) +CATD_IMAGE_REPO := $(IMAGE_REGISTRY)/catalogd endif -export CATALOGD_IMAGE_REPO +export CATD_IMAGE_REPO ifeq ($(origin IMAGE_TAG), undefined) IMAGE_TAG := devel endif export IMAGE_TAG -OPERATOR_CONTROLLER_IMG := $(OPERATOR_CONTROLLER_IMAGE_REPO):$(IMAGE_TAG) -CATALOGD_IMG := $(CATALOGD_IMAGE_REPO):$(IMAGE_TAG) +OPCON_IMG := $(OPCON_IMAGE_REPO):$(IMAGE_TAG) +CATD_IMG := $(CATD_IMAGE_REPO):$(IMAGE_TAG) # Define dependency versions (use go.mod if we also use Go code from dependency) export CERT_MGR_VERSION := v1.15.3 @@ -268,8 +268,8 @@ e2e-coverage: .PHONY: kind-load kind-load: $(KIND) #EXHELP Loads the currently constructed images into the KIND cluster. - $(CONTAINER_RUNTIME) save $(OPERATOR_CONTROLLER_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME) - $(CONTAINER_RUNTIME) save $(CATALOGD_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME) + $(CONTAINER_RUNTIME) save $(OPCON_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME) + $(CONTAINER_RUNTIME) save $(CATD_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME) .PHONY: kind-deploy kind-deploy: export MANIFEST := ./operator-controller.yaml @@ -333,15 +333,15 @@ go-build-linux: $(BINARIES) .PHONY: run run: docker-build kind-cluster kind-load kind-deploy wait #HELP Build the operator-controller then deploy it into a new kind cluster. -CATALOGD_NAMESPACE := olmv1-system +CATD_NAMESPACE := olmv1-system wait: - kubectl wait --for=condition=Available --namespace=$(CATALOGD_NAMESPACE) deployment/catalogd-controller-manager --timeout=60s - kubectl wait --for=condition=Ready --namespace=$(CATALOGD_NAMESPACE) certificate/catalogd-service-cert # Avoid upgrade test flakes when reissuing cert + kubectl wait --for=condition=Available --namespace=$(CATD_NAMESPACE) deployment/catalogd-controller-manager --timeout=60s + kubectl wait --for=condition=Ready --namespace=$(CATD_NAMESPACE) certificate/catalogd-service-cert # Avoid upgrade test flakes when reissuing cert .PHONY: docker-build docker-build: build-linux #EXHELP Build docker image for operator-controller and catalog with GOOS=linux and local GOARCH. - $(CONTAINER_RUNTIME) build -t $(OPERATOR_CONTROLLER_IMG) -f Dockerfile.operator-controller ./bin/linux - $(CONTAINER_RUNTIME) build -t $(CATALOGD_IMG) -f Dockerfile.catalogd ./bin/linux + $(CONTAINER_RUNTIME) build -t $(OPCON_IMG) -f Dockerfile.operator-controller ./bin/linux + $(CONTAINER_RUNTIME) build -t $(CATD_IMG) -f Dockerfile.catalogd ./bin/linux #SECTION Release ifeq ($(origin ENABLE_RELEASE_PIPELINE), undefined) @@ -356,7 +356,7 @@ export GORELEASER_ARGS .PHONY: release release: $(GORELEASER) #EXHELP Runs goreleaser for the operator-controller. By default, this will run only as a snapshot and will not publish any artifacts unless it is run with different arguments. To override the arguments, run with "GORELEASER_ARGS=...". When run as a github action from a tag, this target will publish a full release. - OPERATOR_CONTROLLER_IMAGE_REPO=$(OPERATOR_CONTROLLER_IMAGE_REPO) CATALOGD_IMAGE_REPO=$(CATALOGD_IMAGE_REPO) $(GORELEASER) $(GORELEASER_ARGS) + OPCON_IMAGE_REPO=$(OPCON_IMAGE_REPO) CATD_IMAGE_REPO=$(CATD_IMAGE_REPO) $(GORELEASER) $(GORELEASER_ARGS) .PHONY: quickstart quickstart: export MANIFEST := https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/operator-controller.yaml @@ -368,13 +368,13 @@ quickstart: $(KUSTOMIZE) manifests #EXHELP Generate the unified installation rel ##@ Docs .PHONY: crd-ref-docs -OPERATOR_CONTROLLER_API_REFERENCE_FILENAME := operator-controller-api-reference.md +API_REFERENCE_FILENAME := operator-controller-api-reference.md API_REFERENCE_DIR := $(ROOT_DIR)/docs/api-reference crd-ref-docs: $(CRD_REF_DOCS) #EXHELP Generate the API Reference Documents. - rm -f $(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME) + rm -f $(API_REFERENCE_DIR)/$(API_REFERENCE_FILENAME) $(CRD_REF_DOCS) --source-path=$(ROOT_DIR)/api/ \ --config=$(API_REFERENCE_DIR)/crd-ref-docs-gen-config.yaml \ - --renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME); + --renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(API_REFERENCE_FILENAME); VENVDIR := $(abspath docs/.venv)