Skip to content

Commit 62db4c6

Browse files
Merge pull request #278 from tmshort/synchronize2
NO-ISSUE: Synchronize From Upstream Repositories
2 parents 4635b1c + 680b6b4 commit 62db4c6

File tree

56 files changed

+269
-1116
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+269
-1116
lines changed
File renamed without changes.

.gitignore

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ bin/*
88
testbin/*
99
/hack/tools/bin/*
1010
Dockerfile.cross
11+
crd_work_dir/
1112

1213
# Test binary, build with `go test -c`
1314
*.test
@@ -41,11 +42,3 @@ site
4142
.tiltbuild/
4243
.catalogd-tmp/
4344
.vscode
44-
45-
# Catalogd
46-
catalogd/bin/
47-
catalogd/vendor/
48-
catalogd/dist/
49-
catalogd/cover.out
50-
catalogd/catalogd.yaml
51-
catalogd/install.sh

.goreleaser.yml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ builds:
2020
- ppc64le
2121
- s390x
2222
- id: catalogd
23-
main: ./catalogd/cmd/catalogd/
23+
main: ./cmd/catalogd/
2424
binary: catalogd
2525
asmflags: "{{ .Env.GO_BUILD_ASMFLAGS }}"
2626
gcflags: "{{ .Env.GO_BUILD_GCFLAGS }}"
@@ -37,82 +37,82 @@ builds:
3737
- s390x
3838
dockers:
3939
- image_templates:
40-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
41-
dockerfile: Dockerfile
40+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
41+
dockerfile: Dockerfile.operator-controller
4242
goos: linux
4343
goarch: amd64
4444
use: buildx
4545
build_flag_templates:
4646
- "--platform=linux/amd64"
4747
- image_templates:
48-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
49-
dockerfile: Dockerfile
48+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
49+
dockerfile: Dockerfile.operator-controller
5050
goos: linux
5151
goarch: arm64
5252
use: buildx
5353
build_flag_templates:
5454
- "--platform=linux/arm64"
5555
- image_templates:
56-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
57-
dockerfile: Dockerfile
56+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
57+
dockerfile: Dockerfile.operator-controller
5858
goos: linux
5959
goarch: ppc64le
6060
use: buildx
6161
build_flag_templates:
6262
- "--platform=linux/ppc64le"
6363
- image_templates:
64-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
65-
dockerfile: Dockerfile
64+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
65+
dockerfile: Dockerfile.operator-controller
6666
goos: linux
6767
goarch: s390x
6868
use: buildx
6969
build_flag_templates:
7070
- "--platform=linux/s390x"
7171
- image_templates:
72-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
73-
dockerfile: catalogd/Dockerfile
72+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
73+
dockerfile: Dockerfile.catalogd
7474
goos: linux
7575
goarch: amd64
7676
use: buildx
7777
build_flag_templates:
7878
- "--platform=linux/amd64"
7979
- image_templates:
80-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
81-
dockerfile: catalogd/Dockerfile
80+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
81+
dockerfile: Dockerfile.catalogd
8282
goos: linux
8383
goarch: arm64
8484
use: buildx
8585
build_flag_templates:
8686
- "--platform=linux/arm64"
8787
- image_templates:
88-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
89-
dockerfile: catalogd/Dockerfile
88+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
89+
dockerfile: Dockerfile.catalogd
9090
goos: linux
9191
goarch: ppc64le
9292
use: buildx
9393
build_flag_templates:
9494
- "--platform=linux/ppc64le"
9595
- image_templates:
96-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
97-
dockerfile: catalogd/Dockerfile
96+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
97+
dockerfile: Dockerfile.catalogd
9898
goos: linux
9999
goarch: s390x
100100
use: buildx
101101
build_flag_templates:
102102
- "--platform=linux/s390x"
103103
docker_manifests:
104-
- name_template: "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}"
104+
- name_template: "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}"
105105
image_templates:
106-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
107-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
108-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
109-
- "{{ .Env.OPERATOR_CONTROLLER_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
110-
- name_template: "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}"
106+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
107+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
108+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
109+
- "{{ .Env.OPCON_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
110+
- name_template: "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}"
111111
image_templates:
112-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
113-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
114-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
115-
- "{{ .Env.CATALOGD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
112+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-amd64"
113+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-arm64"
114+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-ppc64le"
115+
- "{{ .Env.CATD_IMAGE_REPO }}:{{ .Env.IMAGE_TAG }}-s390x"
116116
checksum:
117117
name_template: 'checksums.txt'
118118
snapshot:
File renamed without changes.
File renamed without changes.

Makefile

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,28 @@ export ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
99

1010
GOLANG_VERSION := $(shell sed -En 's/^go (.*)$$/\1/p' "go.mod")
1111
# Image URL to use all building/pushing image targets
12-
ifeq ($(origin IMAGE_REPO), undefined)
13-
IMAGE_REPO := quay.io/operator-framework/operator-controller
12+
ifeq ($(origin IMAGE_REGISTRY), undefined)
13+
IMAGE_REGISTRY := quay.io/operator-framework
1414
endif
15-
export IMAGE_REPO
15+
export IMAGE_REGISTRY
1616

17-
ifeq ($(origin CATALOG_IMAGE_REPO), undefined)
18-
CATALOG_IMAGE_REPO := quay.io/operator-framework/catalogd
17+
ifeq ($(origin OPCON_IMAGE_REPO), undefined)
18+
OPCON_IMAGE_REPO := $(IMAGE_REGISTRY)/operator-controller
1919
endif
20-
export CATALOG_IMAGE_REPO
20+
export OPCON_IMAGE_REPO
21+
22+
ifeq ($(origin CATD_IMAGE_REPO), undefined)
23+
CATD_IMAGE_REPO := $(IMAGE_REGISTRY)/catalogd
24+
endif
25+
export CATD_IMAGE_REPO
2126

2227
ifeq ($(origin IMAGE_TAG), undefined)
2328
IMAGE_TAG := devel
2429
endif
2530
export IMAGE_TAG
2631

27-
IMG := $(IMAGE_REPO):$(IMAGE_TAG)
28-
CATALOGD_IMG := $(CATALOG_IMAGE_REPO):$(IMAGE_TAG)
32+
OPCON_IMG := $(OPCON_IMAGE_REPO):$(IMAGE_TAG)
33+
CATD_IMG := $(CATD_IMAGE_REPO):$(IMAGE_TAG)
2934

3035
# Define dependency versions (use go.mod if we also use Go code from dependency)
3136
export CERT_MGR_VERSION := v1.15.3
@@ -87,7 +92,7 @@ KUSTOMIZE_BUILD_DIR := config/overlays/cert-manager
8792

8893
.PHONY: help
8994
help: #HELP Display essential help.
90-
@awk 'BEGIN {FS = ":[^#]*#HELP"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\n"} /^[a-zA-Z_0-9-]+:.*#HELP / { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } ' $(MAKEFILE_LIST)
95+
@awk 'BEGIN {FS = ":[^#]*#HELP"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\n"} /^[a-zA-Z_0-9-]+:.*#HELP / { printf " \033[36m%-17s\033[0m %s\n", $$1, $$2 } ' $(MAKEFILE_LIST)
9196

9297
.PHONY: help-extended
9398
help-extended: #HELP Display extended help.
@@ -100,11 +105,11 @@ lint: lint-custom $(GOLANGCI_LINT) #HELP Run golangci linter.
100105
$(GOLANGCI_LINT) run --build-tags $(GO_BUILD_TAGS) $(GOLANGCI_LINT_ARGS)
101106

102107
.PHONY: custom-linter-build
103-
custom-linter-build: #HELP Build custom linter
108+
custom-linter-build: #EXHELP Build custom linter
104109
go build -tags $(GO_BUILD_TAGS) -o ./bin/custom-linter ./hack/ci/custom-linters/cmd
105110

106111
.PHONY: lint-custom
107-
lint-custom: custom-linter-build #HELP Call custom linter for the project
112+
lint-custom: custom-linter-build #EXHELP Call custom linter for the project
108113
go vet -tags=$(GO_BUILD_TAGS) -vettool=./bin/custom-linter ./...
109114

110115
.PHONY: tidy
@@ -166,6 +171,8 @@ verify-crd-compatibility: $(CRD_DIFF) manifests
166171
$(CRD_DIFF) --config="${CRD_DIFF_CONFIG}" "${CRD_DIFF_ORIGINAL_REF}${CRD_DIFF_OPCON_SOURCE}" ${CRD_DIFF_UPDATED_REF}${CRD_DIFF_OPCON_SOURCE}
167172
$(CRD_DIFF) --config="${CRD_DIFF_CONFIG}" "${CRD_DIFF_ORIGINAL_REF}${CRD_DIFF_CATD_SOURCE}" ${CRD_DIFF_UPDATED_REF}${CRD_DIFF_CATD_SOURCE}
168173

174+
#SECTION Test
175+
169176
.PHONY: test
170177
test: manifests generate fmt lint test-unit test-e2e #HELP Run all tests.
171178

@@ -231,9 +238,9 @@ test-e2e: run image-registry e2e e2e-coverage kind-clean #HELP Run e2e test suit
231238

232239
.PHONY: extension-developer-e2e
233240
extension-developer-e2e: KUSTOMIZE_BUILD_DIR := config/overlays/cert-manager
234-
extension-developer-e2e: KIND_CLUSTER_NAME := operator-controller-ext-dev-e2e #EXHELP Run extension-developer e2e on local kind cluster
235-
extension-developer-e2e: export INSTALL_DEFAULT_CATALOGS := false #EXHELP Run extension-developer e2e on local kind cluster
236-
extension-developer-e2e: run image-registry test-ext-dev-e2e kind-clean
241+
extension-developer-e2e: KIND_CLUSTER_NAME := operator-controller-ext-dev-e2e
242+
extension-developer-e2e: export INSTALL_DEFAULT_CATALOGS := false
243+
extension-developer-e2e: run image-registry test-ext-dev-e2e kind-clean #EXHELP Run extension-developer e2e on local kind cluster
237244

238245
.PHONY: run-latest-release
239246
run-latest-release:
@@ -257,10 +264,12 @@ test-upgrade-e2e: kind-cluster run-latest-release image-registry pre-upgrade-set
257264
e2e-coverage:
258265
COVERAGE_OUTPUT=./coverage/e2e.out ./hack/test/e2e-coverage.sh
259266

267+
#SECTION KIND Cluster Operations
268+
260269
.PHONY: kind-load
261270
kind-load: $(KIND) #EXHELP Loads the currently constructed images into the KIND cluster.
262-
$(CONTAINER_RUNTIME) save $(IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME)
263-
IMAGE_REPO=$(CATALOG_IMAGE_REPO) KIND_CLUSTER_NAME=$(KIND_CLUSTER_NAME) $(MAKE) -C catalogd kind-load
271+
$(CONTAINER_RUNTIME) save $(OPCON_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME)
272+
$(CONTAINER_RUNTIME) save $(CATD_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME)
264273

265274
.PHONY: kind-deploy
266275
kind-deploy: export MANIFEST := ./operator-controller.yaml
@@ -300,8 +309,9 @@ export GO_BUILD_FLAGS :=
300309
export GO_BUILD_LDFLAGS := -s -w \
301310
-X '$(VERSION_PATH).version=$(VERSION)' \
302311

303-
BINARIES=operator-controller
312+
BINARIES=operator-controller catalogd
304313

314+
.PHONY: $(BINARIES)
305315
$(BINARIES):
306316
go build $(GO_BUILD_FLAGS) -tags '$(GO_BUILD_TAGS)' -ldflags '$(GO_BUILD_LDFLAGS)' -gcflags '$(GO_BUILD_GCFLAGS)' -asmflags '$(GO_BUILD_ASMFLAGS)' -o $(BUILDBIN)/$@ ./cmd/$@
307317

@@ -323,15 +333,15 @@ go-build-linux: $(BINARIES)
323333
.PHONY: run
324334
run: docker-build kind-cluster kind-load kind-deploy wait #HELP Build the operator-controller then deploy it into a new kind cluster.
325335

326-
CATALOGD_NAMESPACE := olmv1-system
336+
CATD_NAMESPACE := olmv1-system
327337
wait:
328-
kubectl wait --for=condition=Available --namespace=$(CATALOGD_NAMESPACE) deployment/catalogd-controller-manager --timeout=60s
329-
kubectl wait --for=condition=Ready --namespace=$(CATALOGD_NAMESPACE) certificate/catalogd-service-cert # Avoid upgrade test flakes when reissuing cert
338+
kubectl wait --for=condition=Available --namespace=$(CATD_NAMESPACE) deployment/catalogd-controller-manager --timeout=60s
339+
kubectl wait --for=condition=Ready --namespace=$(CATD_NAMESPACE) certificate/catalogd-service-cert # Avoid upgrade test flakes when reissuing cert
330340

331341
.PHONY: docker-build
332-
docker-build: build-linux #EXHELP Build docker image for operator-controller and catalog with GOOS=linux and local GOARCH.
333-
$(CONTAINER_RUNTIME) build -t $(IMG) -f Dockerfile ./bin/linux
334-
IMAGE_REPO=$(CATALOG_IMAGE_REPO) $(MAKE) -C catalogd build-container
342+
docker-build: build-linux #EXHELP Build docker image for operator-controller and catalog with GOOS=linux and local GOARCH.
343+
$(CONTAINER_RUNTIME) build -t $(OPCON_IMG) -f Dockerfile.operator-controller ./bin/linux
344+
$(CONTAINER_RUNTIME) build -t $(CATD_IMG) -f Dockerfile.catalogd ./bin/linux
335345

336346
#SECTION Release
337347
ifeq ($(origin ENABLE_RELEASE_PIPELINE), undefined)
@@ -346,7 +356,7 @@ export GORELEASER_ARGS
346356

347357
.PHONY: release
348358
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.
349-
OPERATOR_CONTROLLER_IMAGE_REPO=$(IMAGE_REPO) CATALOGD_IMAGE_REPO=$(CATALOG_IMAGE_REPO) $(GORELEASER) $(GORELEASER_ARGS)
359+
OPCON_IMAGE_REPO=$(OPCON_IMAGE_REPO) CATD_IMAGE_REPO=$(CATD_IMAGE_REPO) $(GORELEASER) $(GORELEASER_ARGS)
350360

351361
.PHONY: quickstart
352362
quickstart: export MANIFEST := https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/operator-controller.yaml
@@ -358,13 +368,13 @@ quickstart: $(KUSTOMIZE) manifests #EXHELP Generate the unified installation rel
358368
##@ Docs
359369

360370
.PHONY: crd-ref-docs
361-
OPERATOR_CONTROLLER_API_REFERENCE_FILENAME := operator-controller-api-reference.md
371+
API_REFERENCE_FILENAME := operator-controller-api-reference.md
362372
API_REFERENCE_DIR := $(ROOT_DIR)/docs/api-reference
363373
crd-ref-docs: $(CRD_REF_DOCS) #EXHELP Generate the API Reference Documents.
364-
rm -f $(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME)
374+
rm -f $(API_REFERENCE_DIR)/$(API_REFERENCE_FILENAME)
365375
$(CRD_REF_DOCS) --source-path=$(ROOT_DIR)/api/ \
366376
--config=$(API_REFERENCE_DIR)/crd-ref-docs-gen-config.yaml \
367-
--renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME);
377+
--renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(API_REFERENCE_FILENAME);
368378

369379
VENVDIR := $(abspath docs/.venv)
370380

Tiltfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ catalogd = {
1515
'image': 'quay.io/operator-framework/catalogd',
1616
'yaml': 'config/overlays/tilt-local-dev/catalogd',
1717
'binaries': {
18-
'./catalogd/cmd/catalogd': 'catalogd-controller-manager',
18+
'./cmd/catalogd': 'catalogd-controller-manager',
1919
},
20-
'deps': ['api', 'catalogd/cmd/catalogd', 'internal/catalogd', 'internal/shared', 'go.mod', 'go.sum'],
20+
'deps': ['api', 'cmd/catalogd', 'internal/catalogd', 'internal/shared', 'go.mod', 'go.sum'],
2121
'starting_debug_port': 20000,
2222
}
2323

0 commit comments

Comments
 (0)