Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Use the CSV manifest under bundle/rhdh as source of truth for RHDH [RHIDP-2387] #617

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9a6221a
Handle samples per profile because they have different names
rm3l Jan 3, 2025
3e6850e
Make it clear that the version in the base CSV name is generated off …
rm3l Jan 3, 2025
58002b9
Align the 'config/manifests/rhdh/bases/csv.yaml' content with the CSV…
rm3l Jan 3, 2025
11b33ca
Make sure to match the RHDH version
rm3l Jan 3, 2025
708a094
Add 'make bundles' target to generate all the bundles for the availab…
rm3l Jan 3, 2025
c1accc9
Align the resource names and labels accordingly
rm3l Jan 3, 2025
568b03b
Handle the bundle metadata annotations.yaml file
rm3l Jan 3, 2025
a172957
Regenerate the bundles
rm3l Jan 3, 2025
0d07e8e
Update the bundle diff checker job accordingly
rm3l Jan 3, 2025
ab0562d
Add missing `spec.customresourcedefinitions.owned[].{description,disp…
rm3l Jan 3, 2025
92b1062
Make sure to use the right versions of opm and operator-sdk commands
rm3l Jan 3, 2025
1fbd8f7
Remove useless .rhdh/bundle/{metadata,manifests} folders
rm3l Jan 3, 2025
32c8a08
Update PR template
rm3l Jan 3, 2025
57eaea4
Switch the RHDH images to quay.io, so that `make deploy` can work OOTB
rm3l Jan 3, 2025
95c03e2
Add comment as to why `spec.customresourcedefinitions.owned` is maint…
rm3l Jan 3, 2025
bf1b202
Fix the controller service labels
rm3l Jan 3, 2025
961faf8
Apply suggestions from code review
rm3l Jan 6, 2025
ca86fe9
wip - generate base csv with operator-sdk
rm3l Jan 6, 2025
35b9928
Update PR Bundle Diff Checker Workflow accordingly
rm3l Jan 7, 2025
7c27987
wip
rm3l Jan 7, 2025
49d01f5
Fix metrics service selector labels
rm3l Jan 7, 2025
e40a9dd
Simplify samples management
rm3l Jan 7, 2025
c8e743a
cleanup
rm3l Jan 7, 2025
8c8a9b0
fix the CSV name
rm3l Jan 7, 2025
101b885
Fix the bundle installation via OLM
rm3l Jan 7, 2025
37c87f8
Fix the nightly upgrade tests
rm3l Jan 7, 2025
0f41cf3
Fix the PR container build workflow [1]
rm3l Jan 8, 2025
7f89c22
Regenerate manifests
rm3l Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Please explain the changes you made here.

- [ ] Tests
- [ ] Documentation
- [ ] If the bundle manifests have been updated, make sure to review the [`rhdh-operator.clusterserviceversion.yaml`](../.rhdh/bundle/manifests/rhdh-operator.clusterserviceversion.yaml) file accordingly

## How to test changes / Special notes to the reviewer
<!--
Expand Down
21 changes: 7 additions & 14 deletions .github/workflows/pr-bundle-diff-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,18 @@ jobs:
with:
go-version-file: 'go.mod'

- name: Check for outdated bundle
id: bundle-diff-checker
- name: Check for outdated bundle or manifests
id: manifests-diff-checker
run: |
for profile in backstage.io rhdh; do make bundle PROFILE=${profile}; done
make bundles
git status --porcelain
# Since operator-sdk 1.26.0, `make bundle` changes the `createdAt` field from the bundle every time we run it.
# The `git diff` below checks if only the createdAt field has changed. If is the only change, it is ignored.
# Inspired from https://github.com/operator-framework/operator-sdk/issues/6285#issuecomment-1415350333
echo "MANIFESTS_CHANGED=$(if git diff --quiet -I'^ createdAt: ' bundle; then echo "false"; else echo "true"; fi)" >> $GITHUB_OUTPUT
echo "MANIFESTS_CHANGED=$(if git diff --quiet -I'^ createdAt: ' bundle config; then echo "false"; else echo "true"; fi)" >> $GITHUB_OUTPUT

- name: Commit any manifest changes
if: ${{ steps.bundle-diff-checker.outputs.MANIFESTS_CHANGED == 'true' }}
if: ${{ steps.manifests-diff-checker.outputs.MANIFESTS_CHANGED == 'true' }}
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
Expand All @@ -72,7 +72,7 @@ jobs:

- name: Comment on PR if bundle manifests were updated
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
if: ${{ !cancelled() && steps.bundle-diff-checker.outputs.MANIFESTS_CHANGED == 'true' }}
if: ${{ !cancelled() && steps.manifests-diff-checker.outputs.MANIFESTS_CHANGED == 'true' }}
continue-on-error: true
env:
GH_BLOB_VIEWER_BASE_URL: ${{github.event.pull_request.head.repo.html_url}}/blob/${{github.event.pull_request.head.ref}}
Expand All @@ -82,12 +82,5 @@ jobs:
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '⚠️ <b>Files changed in bundle generation!</b><br/><br/>Those changes to the operator bundle manifests should have been pushed automatically to your PR branch.<br/>You might also need to manually update the [`.rhdh/bundle/manifests/rhdh-operator.clusterserviceversion.yaml`](${{ env.GH_BLOB_VIEWER_BASE_URL }}/.rhdh/bundle/manifests/rhdh-operator.clusterserviceversion.yaml) CSV file accordingly.'
body: '⚠️ <b>Files changed in bundle generation!</b><br/><br/>Those changes to the operator bundle manifests should have been pushed automatically to your PR branch.'
})

- name: Check if the CSV for RHDH needs to be updated
run: |
echo "Checking that the RBAC roles of the downstream RHDH operator are not out of sync with the upstream CSV..."
diff -U 1 \
<(yq '.spec.install.spec.clusterPermissions' bundle/rhdh/manifests/backstage-operator.clusterserviceversion.yaml | grep -v 'serviceAccountName: ') \
<(yq '.spec.install.spec.clusterPermissions' .rhdh/bundle/manifests/rhdh-operator.clusterserviceversion.yaml | grep -v 'serviceAccountName: ')
371 changes: 0 additions & 371 deletions .rhdh/bundle/manifests/rhdh-operator.clusterserviceversion.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions .rhdh/bundle/metadata/annotations.yaml

This file was deleted.

141 changes: 103 additions & 38 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,34 @@
PROFILES := $(shell find config/manifests -mindepth 1 -maxdepth 1 -type d -exec basename {} \;)

# Profile directory: subdirectory of ./config/profile
# In terms of Kustomize it is overlay directory
# It also contains default-config directory
# with set of Backstage Default Configuration YAML manifests
# to use other config - add a directory with config,
# use it as following commands: 'PROFILE=<dir-name> make test|integration-test|run|deploy|deployment-manifest'
PROFILE ?= rhdh
PROFILE_SHORT := $(shell echo $(PROFILE) | cut -d. -f1)

# VERSION defines the project version for the bundle.
# Update this value when you upgrade the version of your project.
# To re-generate a bundle for another specific version without changing the standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
ifneq ($(origin VERSION), undefined)
VERSION := $(VERSION)
IMAGE_TAG_VERSION ?= $(VERSION)
else
VERSION ?= 0.5.0
IMAGE_TAG_VERSION := $(VERSION)
ifeq ($(PROFILE), rhdh)
# transforming: 0.y.z => 1.y.z
MAJOR := $(shell echo $(VERSION) | cut -d. -f1)
INCREMENTED_MAJOR := $(shell expr $(MAJOR) + 1)
MINOR_PATCH := $(shell echo $(VERSION) | cut -d. -f2-)
VERSION := $(INCREMENTED_MAJOR).$(MINOR_PATCH)
IMAGE_TAG_VERSION := $(shell echo $(VERSION) | cut -d. -f1,2)
endif
endif

# CHANNELS define the bundle channels used in the bundle.
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")
Expand All @@ -12,28 +37,53 @@ VERSION ?= 0.5.0
# - use environment variables to overwrite this value (e.g export CHANNELS="candidate,fast,stable")
ifneq ($(origin CHANNELS), undefined)
BUNDLE_CHANNELS := --channels=$(CHANNELS)
else
ifeq ($(PROFILE), rhdh)
BUNDLE_CHANNELS := --channels=fast,fast-\$${CI_X_VERSION}.\$${CI_Y_VERSION}
endif
endif

# DEFAULT_CHANNEL defines the default channel used in the bundle.
# Add a new line here if you would like to change its default config. (E.g DEFAULT_CHANNEL = "stable")
# To re-generate a bundle for any other default channel without changing the default setup, you can:
# - use the DEFAULT_CHANNEL as arg of the bundle target (e.g make bundle DEFAULT_CHANNEL=stable)
# - use environment variables to overwrite this value (e.g export DEFAULT_CHANNEL="stable")
ifneq ($(origin DEFAULT_CHANNEL), undefined)
BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL)
DEFAULT_CHANNEL ?= alpha
ifeq ($(PROFILE), rhdh)
DEFAULT_CHANNEL := fast
endif
BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL)

BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)

ifneq ($(origin BUNDLE_METADATA_PACKAGE_NAME), undefined)
BUNDLE_METADATA_PACKAGE_NAME := $(BUNDLE_METADATA_PACKAGE_NAME)
else
ifeq ($(PROFILE), rhdh)
BUNDLE_METADATA_PACKAGE_NAME := rhdh
else
BUNDLE_METADATA_PACKAGE_NAME := backstage-operator
endif
endif

# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images.
# This variable is used to construct full image tags for bundle and catalog images.
#
# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both
# quay.io/rhdh-community/operator-bundle:$VERSION and quay.io/rhdh-community/operator-catalog:$VERSION.
IMAGE_TAG_BASE ?= quay.io/rhdh-community/operator
ifneq ($(origin IMAGE_TAG_BASE), undefined)
IMAGE_TAG_BASE := $(IMAGE_TAG_BASE)
else
IMAGE_TAG_BASE := quay.io/rhdh-community/operator
ifeq ($(PROFILE), rhdh)
# IMAGE_TAG_BASE := registry.redhat.io/rhdh/rhdh-rhel9-operator
IMAGE_TAG_BASE := quay.io/rhdh/rhdh-rhel9-operator
endif
endif

# BUNDLE_IMG defines the image:tag used for the bundle.
# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=<some-registry>/<project-name-bundle>:<tag>)
BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:$(VERSION)
BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:$(IMAGE_TAG_VERSION)

# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command
BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) --output-dir bundle/$(PROFILE) $(BUNDLE_METADATA_OPTS)
Expand All @@ -49,8 +99,9 @@ endif
# Set the Operator SDK version to use. By default, what is installed on the system is used.
# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
OPERATOR_SDK_VERSION ?= v1.37.0
OPM_VERSION ?= v1.23.0
# Image URL to use all building/pushing image targets
IMG ?= $(IMAGE_TAG_BASE):$(VERSION)
IMG ?= $(IMAGE_TAG_BASE):$(IMAGE_TAG_VERSION)
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.28.0

Expand Down Expand Up @@ -84,14 +135,6 @@ SHELL = /usr/bin/env bash -o pipefail
# Source packages outside of tests
PKGS := $(shell go list ./... | grep -v /e2e)

# Profile directory: subdirectory of ./config/profile
# In terms of Kustomize it is overlay directory
# It also usually contains default-config directory
# with set of Backstage Configuration YAML manifests
# to use other config - add a directory with config,
# use it as following commands: 'PROFILE=<dir-name> make test|integration-test|run|deploy|deployment-manifest'
PROFILE ?= rhdh

.PHONY: all
all: build

Expand Down Expand Up @@ -241,20 +284,32 @@ deployment-manifest: build-installer ## Generate manifest to deploy operator. De
BUNDLE_IMGS ?= $(BUNDLE_IMG)

# The image tag given to the resulting catalog image (e.g. make catalog-build CATALOG_IMG=example.com/operator-catalog:v0.2.0).
CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:$(VERSION)
CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:$(IMAGE_TAG_VERSION)

# Set CATALOG_BASE_IMG to an existing catalog image tag to add $BUNDLE_IMGS to that image.
ifneq ($(origin CATALOG_BASE_IMG), undefined)
FROM_INDEX_OPT := --from-index $(CATALOG_BASE_IMG)
endif

.PHONY: bundles
bundles: ## Generate bundle manifests and metadata, then validate generated files for all available profiles.
@for profile in $(PROFILES); do \
$(MAKE) bundle PROFILE=$$profile; \
done

.PHONY: bundle
bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metadata, then validate generated files.
#$(OPERATOR_SDK) generate kustomize manifests -q
$(OPERATOR_SDK) generate kustomize manifests -q --interactive=false \
--apis-dir ./api/ \
--input-dir ./config/manifests/$(PROFILE)/ \
--output-dir ./config/manifests/$(PROFILE)/
cd config/profile/$(PROFILE) && $(KUSTOMIZE) edit set image controller=$(IMG)
$(KUSTOMIZE) build config/manifests/$(PROFILE) | $(OPERATOR_SDK) generate bundle --kustomize-dir config/manifests/$(PROFILE) $(BUNDLE_GEN_FLAGS)
$(OPERATOR_SDK) bundle validate ./bundle/$(PROFILE)
mv -f bundle.Dockerfile ./bundle/$(PROFILE)/bundle.Dockerfile
@mv -f bundle.Dockerfile ./bundle/$(PROFILE)/bundle.Dockerfile
@sed -i 's/backstage-operator.v$(VERSION)/$(PROFILE_SHORT)-operator.v$(VERSION)/g' ./bundle/$(PROFILE)/manifests/backstage-operator.clusterserviceversion.yaml
@sed -i 's/backstage-operator/$(BUNDLE_METADATA_PACKAGE_NAME)/g' ./bundle/$(PROFILE)/metadata/annotations.yaml
@sed -i 's/backstage-operator/$(BUNDLE_METADATA_PACKAGE_NAME)/g' ./bundle/$(PROFILE)/bundle.Dockerfile

## to update the CSV with a new tagged version of the operator:
## yq '.spec.install.spec.deployments[0].spec.template.spec.containers[1].image|="quay.io/rhdh-community/operator:some-other-tag"' bundle/manifests/backstage-operator.clusterserviceversion.yaml
Expand Down Expand Up @@ -321,29 +376,47 @@ OPENSHIFT_OLM_NAMESPACE = openshift-marketplace

.PHONY: deploy-olm
deploy-olm: ## Deploy the operator with OLM
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f config/samples/catalog-operator-group.yaml
sed "s/{{VERSION}}/$(subst /,\/,$(VERSION))/g" config/samples/catalog-subscription-template.yaml | sed "s/{{OLM_NAMESPACE}}/$(subst /,\/,$(OLM_NAMESPACE))/g" | $(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" config/samples/catalog-operator-group.yaml | \
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -
sed "s/{{VERSION}}/$(subst /,\/,$(VERSION))/g" config/samples/catalog-subscription-template.yaml | \
sed "s/{{DEFAULT_CHANNEL}}/$(subst /,\/,$(DEFAULT_CHANNEL))/g" | \
sed "s/{{BUNDLE_METADATA_PACKAGE_NAME}}/$(subst /,\/,$(BUNDLE_METADATA_PACKAGE_NAME))/g" | \
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" | \
sed "s/{{OLM_NAMESPACE}}/$(subst /,\/,$(OLM_NAMESPACE))/g" | \
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -

.PHONY: deploy-olm-openshift
deploy-olm-openshift: ## Deploy the operator with OLM
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f config/samples/catalog-operator-group.yaml
sed "s/{{VERSION}}/$(subst /,\/,$(VERSION))/g" config/samples/catalog-subscription-template.yaml | sed "s/{{OLM_NAMESPACE}}/$(subst /,\/,$(OPENSHIFT_OLM_NAMESPACE))/g" | $(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" config/samples/catalog-operator-group.yaml | \
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -
sed "s/{{VERSION}}/$(subst /,\/,$(VERSION))/g" config/samples/catalog-subscription-template.yaml | \
sed "s/{{DEFAULT_CHANNEL}}/$(subst /,\/,$(DEFAULT_CHANNEL))/g" | \
sed "s/{{BUNDLE_METADATA_PACKAGE_NAME}}/$(subst /,\/,$(BUNDLE_METADATA_PACKAGE_NAME))/g" | \
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" | \
sed "s/{{OLM_NAMESPACE}}/$(subst /,\/,$(OPENSHIFT_OLM_NAMESPACE))/g" | \
$(KUBECTL) -n ${OPERATOR_NAMESPACE} apply -f -

.PHONY: undeploy-olm
undeploy-olm: ## Un-deploy the operator with OLM
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete subscriptions.operators.coreos.com backstage-operator
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete operatorgroup backstage-operator-group
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete clusterserviceversion backstage-operator.v$(VERSION)
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete subscriptions.operators.coreos.com $(PROFILE_SHORT)-operator
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete operatorgroup $(PROFILE_SHORT)-operator-group
-$(KUBECTL) -n ${OPERATOR_NAMESPACE} delete clusterserviceversion $(PROFILE_SHORT)-operator.v$(VERSION)

.PHONY: catalog-update
catalog-update: ## Update catalog source in the default namespace for catalogsource
-$(KUBECTL) delete catalogsource backstage-operator -n $(OLM_NAMESPACE)
sed "s/{{CATALOG_IMG}}/$(subst /,\/,$(CATALOG_IMG))/g" config/samples/catalog-source-template.yaml | $(KUBECTL) apply -n $(OLM_NAMESPACE) -f -
-$(KUBECTL) delete catalogsource $(PROFILE_SHORT)-operator -n $(OLM_NAMESPACE)
sed "s/{{CATALOG_IMG}}/$(subst /,\/,$(CATALOG_IMG))/g" config/samples/catalog-source-template.yaml | \
sed "s/{{PROFILE}}/$(subst /,\/,$(PROFILE))/g" | \
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" | \
$(KUBECTL) apply -n $(OLM_NAMESPACE) -f -

.PHONY: catalog-update
catalog-update-openshift: ## Update catalog source in the default namespace for catalogsource
-$(KUBECTL) delete catalogsource backstage-operator -n $(OPENSHIFT_OLM_NAMESPACE)
sed "s/{{CATALOG_IMG}}/$(subst /,\/,$(CATALOG_IMG))/g" config/samples/catalog-source-template.yaml | $(KUBECTL) apply -n $(OPENSHIFT_OLM_NAMESPACE) -f -
-$(KUBECTL) delete catalogsource $(PROFILE_SHORT)-operator -n $(OPENSHIFT_OLM_NAMESPACE)
sed "s/{{CATALOG_IMG}}/$(subst /,\/,$(CATALOG_IMG))/g" config/samples/catalog-source-template.yaml | \
sed "s/{{PROFILE}}/$(subst /,\/,$(PROFILE))/g" | \
sed "s/{{PROFILE_SHORT}}/$(subst /,\/,$(PROFILE_SHORT))/g" | \
$(KUBECTL) apply -n $(OPENSHIFT_OLM_NAMESPACE) -f -

# Deploy on Openshift cluster using OLM (by default installed on Openshift)
.PHONY: deploy-openshift
Expand Down Expand Up @@ -440,37 +513,29 @@ mv "$$(echo "$(1)" | sed "s/-$(3)$$//")" $(1) ;\
endef

.PHONY: operator-sdk
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk-$(OPERATOR_SDK_VERSION)
operator-sdk: ## Download operator-sdk locally if necessary.
ifeq (,$(wildcard $(OPERATOR_SDK)))
ifeq (, $(shell which operator-sdk 2>/dev/null))
@{ \
set -e ;\
mkdir -p $(dir $(OPERATOR_SDK)) ;\
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\
chmod +x $(OPERATOR_SDK) ;\
}
else
OPERATOR_SDK = $(shell which operator-sdk)
endif
endif

.PHONY: opm
OPM = $(LOCALBIN)/opm
OPM ?= $(LOCALBIN)/opm-$(OPM_VERSION)
opm: ## Download opm locally if necessary.
ifeq (,$(wildcard $(OPM)))
ifeq (,$(shell which opm 2>/dev/null))
@{ \
set -e ;\
mkdir -p $(dir $(OPM)) ;\
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/$${OS}-$${ARCH}-opm ;\
curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/$(OPM_VERSION)/$${OS}-$${ARCH}-opm ;\
chmod +x $(OPM) ;\
}
else
OPM = $(shell which opm)
endif
endif

##@ Misc.
Expand Down
6 changes: 5 additions & 1 deletion api/v1alpha1/backstage_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,12 @@ type BackstageStatus struct {
//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
//+kubebuilder:deprecatedversion:warning="Since 1.3.0 spec.application.image, spec.application.replicas, spec.application.imagePullSecrets are deprecated in favor of corresponding spec.deployment fields"
// +operator-sdk:csv:customresourcedefinitions:displayName="Red Hat Developer Hub"

// Backstage is the Schema for the backstages API
// Backstage is the Schema for the Red Hat Developer Hub backstages API.
// It comes with pre-built plug-ins, configuration settings, and deployment mechanisms,
// which can help streamline the process of setting up a self-managed internal
// developer portal for adopters who are just starting out.
type Backstage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Expand Down
2 changes: 1 addition & 1 deletion api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion api/v1alpha2/backstage_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,12 @@ type BackstageStatus struct {

//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
// +operator-sdk:csv:customresourcedefinitions:displayName="Red Hat Developer Hub"

// Backstage is the Schema for the backstages API
// Backstage is the Schema for the Red Hat Developer Hub backstages API.
// It comes with pre-built plug-ins, configuration settings, and deployment mechanisms,
// which can help streamline the process of setting up a self-managed internal
// developer portal for adopters who are just starting out.
type Backstage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Expand Down
2 changes: 1 addition & 1 deletion api/v1alpha2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion api/v1alpha3/backstage_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,12 @@ type BackstageStatus struct {
//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
//+kubebuilder:storageversion
// +operator-sdk:csv:customresourcedefinitions:displayName="Red Hat Developer Hub"

// Backstage is the Schema for the backstages API
// Backstage is the Schema for the Red Hat Developer Hub backstages API.
// It comes with pre-built plug-ins, configuration settings, and deployment mechanisms,
// which can help streamline the process of setting up a self-managed internal
// developer portal for adopters who are just starting out.
type Backstage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Expand Down
2 changes: 1 addition & 1 deletion api/v1alpha3/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading