Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1e5df38
Remove references to Deppy in documentation (#1131)
trgeiger Aug 15, 2024
cdf0a8a
rename control-plane labels to operator-controller-controller-manager…
LalatenduMohanty Aug 15, 2024
518904f
Merge branch 'main' into synchronize
Aug 16, 2024
c45ebf0
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
1ffaa18
UPSTREAM: <carry>: Drop commitchecker
awgreene Nov 3, 2023
2e4c26d
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
Dec 16, 2023
8b946d1
UPSTREAM: <carry>: update owners
Mar 27, 2024
6d21de1
UPSTREAM: <carry>: Add pointer to tooling README
bentito Apr 1, 2024
0d6cb48
UPSTREAM: <carry>: Disable Validating Admission Policy APIs downstream
Apr 26, 2024
f7d8fff
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
Mar 27, 2024
926b77e
UPSTREAM: <carry>: Enable Validating Admission Policy APIs downstream
Apr 30, 2024
02e25b6
UPSTREAM: <carry>: manifests: set required-scc for openshift workloads
liouk May 2, 2024
87e8d7c
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
May 25, 2024
de29c0a
UPSTREAM: <carry>: add everettraven to approvers+reviewers
everettraven Jun 24, 2024
03d5db2
UPSTREAM: <carry>: add openshift kustomize overlay
everettraven Jul 9, 2024
0d50931
UPSTREAM: <drop>: go mod vendor
Aug 16, 2024
e7e770f
UPSTREAM: <drop>: remove upstream GitHub configuration
Aug 16, 2024
b9f90a6
UPSTREAM: <drop>: configure the commit-checker
Aug 16, 2024
856f791
UPSTREAM: <drop>: rewrite go mod
Aug 16, 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
8 changes: 3 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ Thank you for your interest in contributing to the Operator-Controller.

As you may or may not know, the Operator-Controller project aims to deliver the user experience described in the [Operator Lifecycle Manager (OLM) V1 Product Requirements Document (PRD)](https://docs.google.com/document/d/1-vsZ2dAODNfoHb7Nf0fbYeKDF7DUqEzS9HqgeMCvbDs/edit). The design requirements captured in the OLM V1 PRD were born from customer and community feedback based on the experience they had with the released version of [OLM V0](github.com/operator-framework/operator-lifecycle-manager).

The user experience captured in the OLM V1 PRD introduces many requirements that are best satisfied by a microservices architecture. The OLM V1 experience currently relies on four projects:
The user experience captured in the OLM V1 PRD introduces many requirements that are best satisfied by a microservices architecture. The OLM V1 experience currently relies on two projects:
- [The Operator-Controller project](https://github.com/operator-framework/operator-controller/), which is the top level component allowing users to specify operators they'd like to install.
- [The Catalogd project](https://github.com/operator-framework/catalogd/), which hosts operator content and helps users discover installable content.
- [The Deppy project](https://github.com/operator-framework/deppy/), which enables the operator-controller to identify valid installs and upgrades from the list of installable content provided via the Catalogd project.

Each of the projects listed above have their own governance, release milestones, and release cadence. However, from a technical perspective, the "OLM V1 experience" matches the experienced offered by the operator-controller project, the top level component which introduces dependencies on Deppy and the Catalogd projects.
Each of the projects listed above have their own governance, release milestones, and release cadence. However, from a technical perspective, the "OLM V1 experience" matches the experienced offered by the operator-controller project, the top level component which depends on Catalogd.

## How do we collaborate

Expand Down Expand Up @@ -61,7 +60,7 @@ Ongoing or previous Operator-Controller milestones can always be found in the [m

### How are Subproject Issues Tracked?

As discussed earlier, the operator-controller adheres to a microservice architecture, where multiple projects contribute to the overall experience. As such, when designing an operator-controller milestone, the community may need to file an issue against Deppy or Catalogd. Unfortunately, the operator-controller milestone cannot contain issues from one of its subprojects. As such, we've introduced the concept of a "Dependency Issue", described below:
As discussed earlier, the operator-controller adheres to a microservice architecture, where multiple projects contribute to the overall experience. As such, when designing an operator-controller milestone, the community may need to file an issue against Catalogd. Unfortunately, the operator-controller milestone cannot contain issues from one of its subprojects. As such, we've introduced the concept of a "Dependency Issue", described below:

> Dependency Issues: An issue tracked in a milestone that "points" to an issue in another project with a URL.

Expand All @@ -70,7 +69,6 @@ As discussed earlier, the operator-controller adheres to a microservice architec
Unsure where to submit an issue?
- [The Operator-Controller project](https://github.com/operator-framework/operator-controller/), which is the top level component allowing users to specify operators they'd like to install.
- [The Catalogd project](https://github.com/operator-framework/catalogd/), which hosts operator content and helps users discover installable content.
- [The Deppy project](https://github.com/operator-framework/deppy/), which enables the operator-controller to identify valid installs and upgrades from the list of installable content provided via the Catalogd project.

Don't worry if you accidentally submit an issue against the wrong project, if we notice that an issue would fit better with a separate project we'll move it to the correct repository and mention it in the #olm-dev slack channel.

Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ OLM’s purpose is to provide APIs, controllers, and tooling that support the pa

OLM v1 is the follow-up to OLM v0, located [here](https://github.com/operator-framework/operator-lifecycle-manager).

OLM v1 consists of three different components:
OLM v1 consists of two different components:
* operator-controller (this repository)
* [deppy](https://github.com/operator-framework/deppy)
* [catalogd](https://github.com/operator-framework/catalogd)

For a more complete overview of OLM v1 and how it differs from OLM v0, see our [overview](./docs/olmv1_overview.md).
Expand Down
2 changes: 1 addition & 1 deletion commitchecker.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
expectedMergeBase: 368fd7c78c32e79c37fd9640b1fe9e3c298ba20c
expectedMergeBase: cdf0a8ab57cde6457ffcd7429314c7b7f039f0cd
upstreamBranch: main
upstreamOrg: operator-framework
upstreamRepo: operator-controller
9 changes: 4 additions & 5 deletions config/base/manager/manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: v1
kind: Namespace
metadata:
labels:
control-plane: controller-manager
pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/enforce-version: latest
name: system
Expand All @@ -15,18 +14,18 @@ metadata:
annotations:
kubectl.kubernetes.io/default-logs-container: manager
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
spec:
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
replicas: 1
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -106,7 +105,7 @@ spec:
cpu: 5m
memory: 64Mi
terminationMessagePolicy: FallbackToLogsOnError
serviceAccountName: controller-manager
serviceAccountName: operator-controller-controller-manager
terminationGracePeriodSeconds: 10
volumes:
- name: cache
Expand Down
4 changes: 2 additions & 2 deletions config/base/prometheus/monitor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
name: controller-manager-metrics-monitor
namespace: system
spec:
Expand All @@ -17,4 +17,4 @@ spec:
insecureSkipVerify: true
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
4 changes: 2 additions & 2 deletions config/base/rbac/auth_proxy_service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
name: controller-manager-metrics-service
namespace: system
spec:
Expand All @@ -12,4 +12,4 @@ spec:
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
2 changes: 0 additions & 2 deletions docs/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,4 @@ OLM v1 is composed of various component projects:

* [operator-controller](https://github.com/operator-framework/operator-controller): operator-controller is the central component of OLM v1, that consumes all of the components below to extend Kubernetes to allows users to install, and manage the lifecycle of other extensions

* [deppy](https://github.com/operator-framework/deppy): Deppy is a Kubernetes API that runs on- or off-cluster for resolving constraints over catalogs of RukPak bundles. Deppy is part of the next iteration of OLM and was first introduced here. The initial goal of the project is to remove the dependency manager from the Operator Lifecycle Manager (OLM) and make it its own generic component.

* [catalogD](https://github.com/operator-framework/catalogd): Catalogd is a Kubernetes extension that unpacks [file-based catalog (FBC)](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs) content that is packaged and shipped in container images, for consumption by clients on-clusters (unpacking from other sources, like git repos, OCI artifacts etc, are in the roadmap for catalogD). As component of the Operator Lifecycle Manager (OLM) v1 microservices architecture, catalogD hosts metadata for Kubernetes extensions packaged by the authors of the extensions, as a result helping customers discover installable content.
2 changes: 0 additions & 2 deletions docs/drafts/version-ranges.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ The resolved version is the latest version of the extension that satisfies the d
Extension updates within the specified range are automatically installed if they can be resolved successfully.
Updates are not installed if they are outside of the specified range or if they cannot be resolved successfully.

For more information about dependency and constraint resolution in OLM 1.0, see the [Deppy introduction](https://github.com/operator-framework/deppy#introductionhttps://github.com/operator-framework/deppy#introductionhttps://github.com/operator-framework/deppy#introduction)

### Comparisons

You define a version range by adding a comparison string to the `spec.version` field. A comparison string is composed of a list of comma or space separated values and one or more comparison operators. You can add an additional comparison string by including an OR (`||`) operator between the strings.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: v1
kind: Namespace
metadata:
labels:
control-plane: controller-manager
pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/enforce-version: latest
name: openshift-operator-controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
name: operator-controller-controller-manager-metrics-service
namespace: openshift-operator-controller
spec:
Expand All @@ -13,4 +13,4 @@ spec:
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ metadata:
annotations:
kubectl.kubernetes.io/default-logs-container: manager
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
name: operator-controller-controller-manager
namespace: openshift-operator-controller
spec:
replicas: 1
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
openshift.io/required-scc: restricted-v2
labels:
control-plane: controller-manager
control-plane: operator-controller-controller-manager
spec:
affinity:
nodeAffinity:
Expand Down
2 changes: 1 addition & 1 deletion test/upgrade-e2e/post_upgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func TestClusterExtensionAfterOLMUpgrade(t *testing.T) {
t.Log("Starting checks after OLM upgrade")
ctx := context.Background()

managerLabelSelector := labels.Set{"control-plane": "controller-manager"}
managerLabelSelector := labels.Set{"control-plane": "operator-controller-controller-manager"}

t.Log("Checking that the controller-manager deployment is updated")
require.EventuallyWithT(t, func(ct *assert.CollectT) {
Expand Down