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

First release #1

Merged
merged 51 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
e9b325a
First commit
jordigilh Mar 7, 2024
47426ad
Fixes various reconciliation issues ocurring when reconciling with th…
jordigilh Mar 11, 2024
c5d94f2
align knative CR specs
jordigilh Mar 11, 2024
d86f809
add backstage missing default specs
jordigilh Mar 11, 2024
f0cd7b8
Rewrite secret creation in rhdh
jordigilh Mar 12, 2024
cc03b39
fix knativeeventing CRD mismatch
jordigilh Mar 12, 2024
e0b31c0
fix knative serverless webhook misalignment
jordigilh Mar 12, 2024
0fb9df0
Updated sonataflow related CRDs to the latest versions from github.com
jordigilh Mar 12, 2024
17040a2
Add pre/post hooks to install the operator before the CR manifests
jordigilh Mar 12, 2024
65acd70
Remove crds directory
jordigilh Mar 12, 2024
a1fda54
Add hooks to operator related manifests
jordigilh Mar 12, 2024
f188303
Use custom helm-operator with dryrun options for server side
jordigilh Mar 14, 2024
bb8f3b0
Update janus image to 0.2.0
jordigilh Mar 14, 2024
f550f55
Restore helper function to retrieve the cluster domain
jordigilh Mar 14, 2024
74159e1
Use post install job to install the backstage CR without requiring th…
jordigilh Mar 14, 2024
2a95a04
Add post-install hook to deploy serverless CRs
jordigilh Mar 15, 2024
9e6729e
Use Role/Rolebinding in knative cleanup hook
jordigilh Mar 15, 2024
a536f4c
Remove duplicated service account in cr hook
jordigilh Mar 15, 2024
f649912
Fix role/rolebinding in knative-hook
jordigilh Mar 15, 2024
40f86ea
Wait for CRD to be available in template helper function and refactor…
jordigilh Mar 18, 2024
bd559b8
Add check for APIResource when checking if resource is managed
jordigilh Mar 18, 2024
b1b3a1d
Sync with latest helm chart
jordigilh Mar 18, 2024
26e3e49
Increase wait for CRD deployed to 300 seconds
jordigilh Mar 18, 2024
d6caecc
Fix SA reference in wait for CRD job
jordigilh Mar 18, 2024
e807512
Fix lint issues
jordigilh Mar 18, 2024
721e35a
Fix indentation in sonataflow.yaml
jordigilh Mar 18, 2024
0057b48
Fix yaml separator and remove left trim from include
jordigilh Mar 18, 2024
0642138
Fix indentation in clusterrole and clusterrolebinding in wait_for tem…
jordigilh Mar 18, 2024
8fb81f0
Typo on the serviceaccountname field in wait_for
jordigilh Mar 18, 2024
ff54cc2
Use apiextensions.k8s.io to retrieve CRDs in wait_for template
jordigilh Mar 18, 2024
e0da9bc
Change rhdh secret to use stringData to host the content
jordigilh Mar 19, 2024
c8d0f5a
Check serverlessOperator.eanbled in knative cleanup hook
jordigilh Mar 19, 2024
63642c0
Add cleanup hook for sonataflow resources
jordigilh Mar 19, 2024
3624f0f
Handle secret encoding when using stringData and tweak jobs to contin…
jordigilh Mar 19, 2024
9a95983
Change task api version to v1
jordigilh Mar 19, 2024
a34a2d2
Fix sonataflow.yaml include template for persistence
jordigilh Mar 19, 2024
c26cecb
Update .gitignore to ignore .DS_Store
jordigilh Mar 20, 2024
f156da2
Remove logic to delete the sonataflow CSV instances in the pre-delete…
jordigilh Mar 20, 2024
0804a16
Use orchestrator as reference name
jordigilh Mar 26, 2024
807f1bd
Update charts to version 0.2.8
jordigilh Mar 26, 2024
031c9eb
Update watches.yaml field to dryRunOption
jordigilh Mar 26, 2024
46a9a81
Added bundle manifests
jordigilh Mar 27, 2024
264d98e
Remove create,patch,delete and update verbs for CRDs in role.yaml and…
jordigilh Mar 27, 2024
bbc9757
Add icon and minikube minimum version to CSV
jordigilh Mar 27, 2024
0900762
Define metadata name and namespace in csv:\n*Use parodos-orchestrator…
jordigilh Mar 27, 2024
ea3bcb7
Remove artifact file bundle/manifests/orchestrator_catalogservice.yaml
jordigilh Mar 27, 2024
e403bbf
Define the operator's name as parodos-orchestrator-operator
jordigilh Mar 27, 2024
3505d3a
Change SA name and labels
jordigilh Mar 28, 2024
322ede8
Rename references in bundle to parodos-orchestrator-operator
jordigilh Mar 28, 2024
d7ee0f5
Rebuilt from scratch using the same helm chart version (0.2.8)
jordigilh Mar 29, 2024
cce0229
Rename container image to orchestrator-operator and apply the same co…
jordigilh Apr 1, 2024
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
12 changes: 9 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#

# Binaries for programs and plugins
*.exe
*.exe~
Expand All @@ -20,3 +18,11 @@
# Go workspace file
go.work
.DS_Store

bin

# editor and IDE paraphernalia
.idea
*.swp
*.swo
*~
21 changes: 11 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
# 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
# parodos.dev/operator-bundle:$VERSION and parodos.dev/operator-catalog:$VERSION.
IMAGE_TAG_BASE ?= quay.io/parodos-dev/orchestrator-controller
IMAGE_TAG_BASE ?= quay.io/orchestrator/controller-manager
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we use orchestrator-operator as image name instead? if this is the default name generated by the SDK, and has a wider effect on the rest of the generated code, we can use it.

Copy link
Collaborator Author

@jordigilh jordigilh Apr 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's defined here:
https://github.com/jordigilh/orchestrator-helm-operator/blob/d7ee0f512ce88cfe76e79b216a184d6af6a86357/PROJECT#L10-L12

We can set the value we want anyway. I'll change it to orchestrator-operator as suggested.


# 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>)
Expand All @@ -48,7 +46,7 @@ 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.34.1
OPERATOR_SDK_VERSION ?= v1.33.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why a lower version?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seems to be an issue with 1.34.1 on running the bundle target (make bundle) that produces incomplete artifacts:
operator-framework/operator-sdk#6698
I reverted to use the previously available version (1.33.0) to avoid the issue mentioned.


# Image URL to use all building/pushing image targets
IMG ?= $(IMAGE_TAG_BASE):latest
Expand Down Expand Up @@ -95,11 +93,14 @@ docker-push: ## Push docker image with the manager.
# To properly provided solutions that supports more than one platform you should use this option.
PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
.PHONY: docker-buildx
docker-buildx: ## Build and push docker image for the manager for cross-platform support
docker-buildx: test ## Build and push docker image for the manager for cross-platform support
# copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile
sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross
- docker buildx create --name project-v3-builder
docker buildx use project-v3-builder
- docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile .
- docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross .
- docker buildx rm project-v3-builder
rm Dockerfile.cross

##@ Deployment

Expand Down Expand Up @@ -131,7 +132,7 @@ ifeq (,$(shell which kustomize 2>/dev/null))
@{ \
set -e ;\
mkdir -p $(dir $(KUSTOMIZE)) ;\
curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.2.1/kustomize_v5.2.1_$(OS)_$(ARCH).tar.gz | \
curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.0.1/kustomize_v5.0.1_$(OS)_$(ARCH).tar.gz | \
tar xzf - -C bin/ ;\
}
else
Expand All @@ -147,7 +148,7 @@ ifeq (,$(shell which helm-operator 2>/dev/null))
@{ \
set -e ;\
mkdir -p $(dir $(HELM_OPERATOR)) ;\
curl -sSLo $(HELM_OPERATOR) https://github.com/operator-framework/operator-sdk/releases/download/v1.34.1/helm-operator_$(OS)_$(ARCH) ;\
curl -sSLo $(HELM_OPERATOR) https://github.com/operator-framework/operator-sdk/releases/download/v1.33.0/helm-operator_$(OS)_$(ARCH) ;\
chmod +x $(HELM_OPERATOR) ;\
}
else
Expand All @@ -156,7 +157,7 @@ endif
endif

.PHONY: operator-sdk
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk
OPERATOR_SDK ?= ./bin/operator-sdk
operator-sdk: ## Download operator-sdk locally if necessary.
ifeq (,$(wildcard $(OPERATOR_SDK)))
ifeq (, $(shell which operator-sdk 2>/dev/null))
Expand Down Expand Up @@ -187,7 +188,7 @@ bundle-push: ## Push the bundle image.
$(MAKE) docker-push IMG=$(BUNDLE_IMG)

.PHONY: opm
OPM = $(LOCALBIN)/opm
OPM = ./bin/opm
opm: ## Download opm locally if necessary.
ifeq (,$(wildcard $(OPM)))
ifeq (,$(shell which opm 2>/dev/null))
Expand Down
2 changes: 1 addition & 1 deletion PROJECT
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ layout:
plugins:
manifests.sdk.operatorframework.io/v2: {}
scorecard.sdk.operatorframework.io/v2: {}
projectName: operator
projectName: orchestrator-operator
resources:
- api:
crdVersion: v1
Expand Down
Binary file removed bin/kustomize
Binary file not shown.
4 changes: 2 additions & 2 deletions bundle.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ FROM scratch
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=parodos-orchestrator-operator
LABEL operators.operatorframework.io.bundle.package.v1=orchestrator-operator
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.34.1
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.33.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=helm.sdk.operatorframework.io/v1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: operator
app.kubernetes.io/created-by: orchestrator-operator
app.kubernetes.io/instance: metrics-reader
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrole
app.kubernetes.io/part-of: operator
app.kubernetes.io/part-of: orchestrator-operator
name: orchestrator-metrics-reader
rules:
- nonResourceURLs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: operator
app.kubernetes.io/created-by: orchestrator-operator
app.kubernetes.io/instance: controller-manager-metrics-service
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: service
app.kubernetes.io/part-of: operator
app.kubernetes.io/part-of: orchestrator-operator
control-plane: controller-manager
name: orchestrator-controller-manager-metrics-service
name: orchestrator-metrics-service
spec:
ports:
- name: https
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: orchestrator-operator
app.kubernetes.io/instance: controller-manager-metrics-service
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: service
app.kubernetes.io/part-of: orchestrator-operator
control-plane: controller-manager
name: orchestrator-operator-metrics-service
spec:
ports:
- name: https
port: 8443
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
status:
loadBalancer: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: orchestrator-operator
app.kubernetes.io/instance: metrics-reader
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrole
app.kubernetes.io/part-of: orchestrator-operator
name: orchestrator-operator-metrics-reader
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
Loading