-
Notifications
You must be signed in to change notification settings - Fork 66
📖 F28 - Provided service versions (aka 'Operand versioning') #180
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
Conversation
docs/olmv1_roadmap.md
Outdated
@@ -77,6 +77,8 @@ _Priority Rating: 1 highest, 2 medium, 3 lower (e.g. P2 = Medium Priority)_ | |||
|
|||
**F27 - Pluggable certificate management (P2):** OLM should rely on other controllers to create and lifecycle TLS certificates required to drive the functionality of certain extensions, like webhooks that need to trust / need to be trusted by the cluster's API server. OLM should not implement any certificate handling itself. In a first implementation support should be established for cert-manager. | |||
|
|||
**F28 - Provided service versions (P2):** Extensions can offer multiple services with specific version ranges. To help cluster users make informed decisions about which extension version to install or update, OLM should provide a separate field for extension developers to specify the provided services and their respective versions. This will allow for declaring extension dependencies on specific service versions and enable flexibility in releasing extensions and their corresponding services at different cadences. In disconnected environments, cluster users should be able to deselect provided services and versions during image mirroring. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will allow for declaring extension dependencies on specific service versions and enable flexibility in releasing extensions and their corresponding services at different cadences.
Can we walk through some examples of how this would work? If an operator author declared a dependency like "I need an operator that provides Kafka v3.4.0", and two different operators (call them A and B) with two different APIs say they manage Kafka v3.4.0, OLM might pick B, the "wrong" operator. The depender may only know about A's API. It seems like the service version dependency would need to be an addition to the required GVK or operator version constraints. So you would have to say "I depend on this GVK and service version range" OR "I depend on this package, package version range, and service version range". Is that what we have in mind here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hadn't really thought about operand versioning and its use in operator-to-operator dependencies but it does make sense as a use case.
I feel that a service is represented by a GVK. If an operator provide v3.4.0 of Kafka then I would expect to make a Kafka
CR with a spec.version: 3.4.0
, or something along those lines. So the dependency would be:
- GVK: kafkas.apigroup.provider.com/v1beta1
- Operand version: 3.4.0
- Specific package range: (optional)
In this instance, we wouldn't even need OLM to understand that its the spec.version
field in the CR that identifies the version being used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this instance, we wouldn't even need OLM to understand that its the spec.version field in the CR that identifies the version being used.
Correct.
My main point here is that this can't be a standalone constraint. It has to be tied to the operator name or the provided API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If an operator author declared a dependency like "I need an operator that provides Kafka v3.4.0", and two different operators (call them A and B) with two different APIs say they manage Kafka v3.4.0, OLM might pick B, the "wrong" operator. The depender may only know about A's API. It seems like the service version dependency would need to be an addition to the required GVK or operator version constraints. So you would have to say "I depend on this GVK and service version range" OR "I depend on this package, package version range, and service version range". Is that what we have in mind here?
Correct, this "service version dependency" should be used as an addition to the "required GVK" or "Operator version constraint" to narrow down to:
- a specific range of Operator versions (if used with "GVK" which is shared across multiple operand versions)
- or "a specific image of Operand/provided service" (if used "Operator version constraint" and a single Operator version provides multiple versions of operand/provided service).
In this instance, we wouldn't even need OLM to understand that its the spec.version field in the CR that identifies the version being used.
Correct.
My main point here is that this can't be a standalone constraint. It has to be tied to the operator name or the provided API.
Correct, the main point is this "service version dependency" is not a standalone thing.
But in this Kafka example, Operand version: 3.4.0
is also useful because the GVK kafkas.apigroup.provider.com/v1beta1
is the same for multiple Kafka version. So Kafka/Operand version: 3.4.0
is useful to narrow down to a tighter Operator version range and pin point the desired Operand image for Kafka 3.4.0
within the target Operator version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will allow for declaring extension dependencies as an additional constraint on specific service versions and enable flexibility in releasing extensions and their corresponding services at different cadences.
Add "as an additional constraint" to clarify it is not intended as a standalone constraint
docs/olmv1_roadmap.md
Outdated
@@ -77,6 +77,8 @@ _Priority Rating: 1 highest, 2 medium, 3 lower (e.g. P2 = Medium Priority)_ | |||
|
|||
**F27 - Pluggable certificate management (P2):** OLM should rely on other controllers to create and lifecycle TLS certificates required to drive the functionality of certain extensions, like webhooks that need to trust / need to be trusted by the cluster's API server. OLM should not implement any certificate handling itself. In a first implementation support should be established for cert-manager. | |||
|
|||
**F28 - Provided service versions (P2):** Extensions can offer multiple services with specific version ranges. To help cluster users make informed decisions about which extension version to install or update, OLM should provide a separate field for extension developers to specify the provided services and their respective versions. This will allow for declaring extension dependencies on specific service versions and enable flexibility in releasing extensions and their corresponding services at different cadences. In disconnected environments, cluster users should be able to deselect provided services and versions during image mirroring. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In disconnected environments, cluster users should be able to deselect provided services and versions during image mirroring.
This seems like it will lead to a poor UX for end users of the operator. There are several scenarios that could be problematic:
- An operator provides services A and B, but the mirroring user mirrors only service A. The operator API for service B is still present, so an end user tries to use that API. The operator doesn't know which services have been mirrored (i.e. which operand images have been mirrored), so it happily attempts to handle the request for service B. The result is "ImagePullBackoff" on all of the service B images with no indication to the user about why. To them, it looks like a bug in the operator.
- Operators that support multiple versions are very likely to have complex upgrade logic between those versions. If mirroring users are able to selectively remove arbitrary versions at mirror time, an operator may not be able to perform its essential function of performing operand migrations via a series of service version upgrades. Again, the operator and end user will see ImagePullBackoff if a mirror user has inadvertently opted not to mirror an intermediate service version required for a migration.
Are these acceptable outcomes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find myself thinking whether this type of configuration (reducing the the operators behavior surface) should be OLMs concern, or rather that of some operator side library/framework which makes this kind of configuration easy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to reach some consensus on the boundary between the OLM's and the operator's responsibilities. IMHO OLM should only concern itself with installation/update/removal of operators. Configuration is something outside of that. Though, I'd be curious to see if we could have some kind of separate component within the OLM ecosystem that can handle this in a nice way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that OLM should only be concerned with installation/update/removal.
I can't see a good way for OLM (or the operator) to know if an image pull is going to succeed or fail before it is attempted. Although it would be great to be able to indicate to a user that the problem is that something wasn't mirrored vs a registry auth error, a missing image, or any other multitude of problems, I wouldn't consider that to be in scope either.
I do think though that we need the metadata available in the package to allows the user to select the service versions that they want to mirror. This does leave potential sharp edges at runtime, where if you attempt to use a version that wasn't mirrored you will get pull errors, but the alternative is that the user has to mirror everything. As we're explicitly saying that fan-out operators are going to be more common because all operators will be cluster singletons, the mirror size expands extremely fast.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The potential problem I'm trying to highlight is that if OLM has a first class API for declaring service versions AND a first class mirror API for selecting specific service versions, then OLM (or maybe the mirroring tool) will be pinned with the blame when an image pull inevitably fails because an intermediate version wasn't mirrored.
"I used the mirror API to select the service version images I cared about, and now I'm getting image pull errors. OLM and the mirror tool should mirror all necessary images based on my stated desires" is what the bug reports will say.
And that means we'll have to extend the service version API with an upgrade edge specification, we'll have to tell operator authors to keep that up-to-date with their operator code, and the mirror tool API will have to allow the mirror user to tell it which service versions have already been mirrored. With all of that, then and only then will the mirror tool be able to follow the graph to mirror all the intermediate versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To confirm, you're talking about the case where the operator needs to pass a workload through intermediate versions for upgrade, so:
- Operand version 1.0.0 exists
- The user mirrors 1.0.0 and starts using it
- Operand versions 1.1.0, 1.2.0 are released in the latest operator
- The user adds 1.2.0 to their mirror, because that's what they want to upgrade to
- The user changes the workload CR to 1.2.0
- The operator starts by attempting a 1.1.0 upgrade
- The pull fails!
Is that the scenario?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In disconnected environments, cluster users should be able to deselect provided services and versions during image mirroring.
This is coming from a requirement of Operators that provide multiple Add-Ons in addition to the primary provided services. e.g., Upstream OCM (or RHACM) Operator that comes with VolSync
and Submariner
Add-ons.
Enable users to deselect mirroring images of a certain provided service that are not interested in can greatly improve the mirroring time, traffic, and storage size.
There are several scenarios that could be problematic:
- An operator provides services A and B, but the mirroring user mirrors only service A. The operator API for service B is still present, so an end user tries to use that API. The operator doesn't know which services have been mirrored (i.e. which operand images have been mirrored), so it happily attempts to handle the request for service B. The result is "ImagePullBackoff" on all of the service B images with no indication to the user about why. To them, it looks like a bug in the operator.
Right, so in that case, it's very clear this is the intended/expected behavior explicitly set up by the admins, so it should be on the admins to make this clear to their teams. And as you mentioned, end-users/developers should be able to see the ImagePullBackof
too (so they know the image is missing in their internal registry).
- Operators that support multiple versions are very likely to have complex upgrade logic between those versions. If mirroring users are able to selectively remove arbitrary versions at mirror time, an operator may not be able to perform its essential function of performing operand migrations via a series of service version upgrades. Again, the operator and end user will see ImagePullBackoff if a mirror user has inadvertently opted not to mirror an intermediate service version required for a migration.
The thinking here is to set up a minVersion
and maxVersion
as the Operand/provided service version range for mirroring. e.g.,
A user specifies the desired Kafka versions as:
minVersion
: 2.8.0maxVersion
: 3.2.0
, given Strimzi Operator declares:
- version: 0.27.1, provides Kafka: 2.8.0, 2.8.1, 3.0.0
- version: 0.28.0, provides Kafka: 3.0.0, 3.1.0
- version: 0.29.0, provides Kafka: 3.0.0, 3.0.1, 3.1.0, 3.1.1, 3.2.0
, so mirroring tool can derive the target versions for mirroring Strimzi Operator are:
- version: 0.27.1
- version: 0.28.0
- version: 0.29.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enable users to deselect mirroring images of a certain provided service that are not interested in can greatly improve the mirroring time, traffic, and storage size.
This thread makes me think we need to provide a more robust "relatedImages" API. Basically by definition, an operator is complex code that orchestrates $something in place of an expert human. In that context, the set of related images needed for that orchestration is also likely complex. Mirroring by service version is somewhat simplistic and may not align with the ways that operators want to expose what to mirror when.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In a separate thread @Jamstah said:
I don't think we can rely on operand versions being semver
I agree. Which means using minVersion
and maxVersion
for operand versions is likely not feasible.
Will review early next week, thanks for sharing! |
This PR focuses mainly on operator-to-operator dependencies, which is a great use case for being able to determine the service versions and keep the operator dependency graph complete. The other high level use case for this is user selection of service versions, which I feel we should include more strongly. For example, if the user has a Potentially, even if the user doesn't have a CR using that operand version right now, if that's what they asked for at install time then they should be warned if that service version is going away, although I'm not sure how/where that dependency would be recorded, or if we need it. Perhaps in the subscription? I guess this would be an issue for job style CRs that are created temporarily. Certainly a less urgent use case. |
That's a breaking change and that would warrant a major version bump of the operator. And I would expect:
Beyond that, the implications here seems to be that:
IMO, that is too opinionated. What if an API wants to expose the desired version as a range or as a channel containing multiple versions? IMO, going this far is beyond the scope of what I think OLM should have awareness of. |
I would have said that it would be a status field not a spec field, where the operator has resolved the constraints and reconciled a specific version, that then needs to be supported through any operator change.
Yes, OLM would need to know which field to look for, and that would need to be specific in some way (in the CSV?).
I'm in two minds here. Part of me thinks that its a good way to stop users shooting themselves in the foot, but I do agree that its a lot of additional complexity just for that use case. Removal of supported operand versions being a breaking change might be the right call, which would mean the user can rely on being in the right operator channel instead. I was kind of equating it to the function in OpenShift that checks for deprecated API usage in the cluster and says "are you sure you want to upgrade? You're still using these API versions which won't be in the next OpenShift". I guess that's easier to track. |
That's the case because the thing that removes the deprecated API is the same thing that is doing this tracking, right? The analogy holds if the operator (which owns this API) is the thing doing this checking. We're planning to have an OperatorHealth sort of API where the operator can raise these sorts of things and potentially prevent upgrades. |
Right, but the currently installed operator doesn't know the capabilities of the next one, so it doesn't know to prevent the upgrade. Maybe that's why we need a pre-install hook of some kind. I'm definitely all for the operator making the call, because I don't think we can rely on operand versions being semver, which means only the operator can safely parse them. |
Signed-off-by: Tony Wu <[email protected]>
eea388b
to
0778bfd
Compare
My overall perspective I think remains the same.
TL;DR: I think we're trying to make OLM "all things for all people", and in doing so, I think we're wrapping ourselves into knots. I'm worried this is another knot. It solves one set of use cases, but adds friction to other -- equally valid -- use cases. |
This API being optional is just so that the API does not need to support all kinds of approaches Operators take to orchestrate their operands, but the majority of the use cases (e.g., operand versioning following semver, etc).
This API does incentivize Operator authors to denote provided service versions clearly to their users following the guidance if their Operators do provide managed service(s) to showcase their maturity and I’d argue it’s in a good way. There are Operators out there that don’t ship any CRDs at all, but they are not viewed as inferior simply because of that. But if they do provide managed service(s), and they don’t clearly denote the supported version, then that’s a valid maturity issue.
I don’t see how adding this will exacerbate “operator authors to remove support for operand versions in a non-major-version-bump of an operator” but rather with this Operand versioning thing, it helps greatly to expose this to the end-users, so users can either better prepared for that, or simply walked away toward another Operator does better in honoring semver. Just as you mentioned, without this Operand versioning, even OLM is having a hard time telling “if existing operands are at versions unsupported by the upgrade”. This is exactly the reason this API is critical to improving the visibility of this to both OLM and the end-users. |
Late to the party, it seems like we are discussing a couple of things in parallel so here is my attempt to bring into one larger picture: A) users, relying on workload-managing operators, generally have a great desire to know upfront (before install or upgrade) what versions of the workload the desired operator version can manage To your point @joelanford - not all operators are workload-managing operators. This kind of data will not make sense for something like Tekton or Isitio, which generally represent control planes and event-based automation facilities instead of managing a workload that is the actual thing that is consumed. Also automation-focussed operators like a namespace-configuration operator or cert-manager will not take value from this. That said, I don't think it incentives breaking changes in minor release versions anymore than OLM currently incentivises breaking changes in the operator APIs due to OLMs enforcement of semantic version strings for bundles. OLM doesn't bark if you remove an entire CRD in a minor version. Still, we see value in enshrining the semver concept in operator versioning to convey the recommendations associated with that. That value isn't lowered just because we aren't always able to enforce it at runtime in all cases. Rather the presence of this data allows test systems to check for this behavior. Equally, with operand information we would allow test systems to call our operators that are removing operand versions within a minor or patch release. On the other hand, I would be curious to learn more about the example:
Do we know of an example? I almost seems like a missed opportunity by the operator to provide more controls and nuance. And even when an operator does that at runtime, isn't the logic around that caused by variable input from the user? I.e. a version of another component. Regardless, if an operator has a good reason not to expose a choice her, they can opt out of providing the operand version data as well. B) OLM resolving based on operand information I think it's important to remind ourselves that OLM is not a workload manager. It is generally not aware of what the operators are exactly doing, nor should it be. What is in OLMs realm is using this information as additional constraints when resolving dependencies. If operator A says it needs operator B and operand B.v1.1, OLM shouldn't update B to a version that only provides operand B.v2.0 and not v1.1 anymore (of course an admin would always be able to force it through). That's where this feature provides additional value in the form of safety. The scenario I see is: popular operators used by multiple products and open source projects as a shared dependency but serving different requirements in regards to the version of the managed workload provided. I would go as far saying that without operand versioning information here, the concept of shared dependencies of operator will not be something the community can adopt, ultimately hampering reuseability and growth of open-source projects. C) Mirroring based on operand information There seem to be two issues here:
We could tackle this in a couple of ways: we could either say that like operators, also operands should follow semver. And by looking at the ecosystem, I think we stand a good chance to capture the majority of users / projects / software here.
IMHO, with our current mirroring concept, would likely end up doing the equivalent for operand versioning of what we are already doing for channels and packages in catalogs today: we mingle with the list of stuff in the mirrored catalog. That is, if a users filters out an operand version during mirroring, the resulting catalog would also not contain that operand version reference. This way, we convey to the user correctly what's available in the mirrored environment. |
@Jamstah @perdasilva @joelanford @tlwu2013 What do we think, how do we move forward here? |
I'm seeing four requirements:
Maybe I'm getting hung up on the prescriptiveness of the implementation in the PR (i.e. there shall be a new field for a list of service versions, operand version shall be constrainable). Perhaps we could reword it to look more like the above? |
I think that's a good list, I might add:
The easy bit here is an operator knowing itself what it supports. The hard bit is knowing what something that isn't yet installed supports to know its going to be suitable for the job. To write that down in a way that is flexible enough may be impossible, we're expecting to be able to communicate knowledge to OLM that it really shouldn't need to have, like:
If we do build that model, I'm 90% sure that there will immediately be requests to extend it with additional checks for more specific cases. I feel like we may need a way for an uninstalled operator to look at a cluster and say if it can or cannot reconcile what is already existing on it. Perhaps a CSV could include a pre-install/pre-update Job of some kind for that purpose.... it wouldn't solve all the use cases, but I feel many of them could be solved with documentation if we take the sharp edges out of install. |
Done with the editing. @Jamstah @perdasilva @joelanford @dmesser |
Codecov Report
@@ Coverage Diff @@
## main #180 +/- ##
=======================================
Coverage 80.69% 80.69%
=======================================
Files 18 18
Lines 803 803
=======================================
Hits 648 648
Misses 112 112
Partials 43 43
Flags with carried forward coverage won't be shown. Click here to find out more. |
Signed-off-by: Tony Wu <[email protected]>
@Jamstah, I've also added the "upgrade" piece to the latest change:
|
This looks good to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm ^^ thank you!!!
High-level, I'm comfortable with some sort of optional API operator authors can use to declare which versions of an operand are supported by a particular operator version. This seems to dovetail with some recent conversations we've had about making operators more multi-tenant capable. However, I think there is still MUCH to discuss about the mechanics of this and how it would work. E.g. what if an operator supports upgrading an existing workload from a particular operand version, but not installing or upgrading to that version? I still think this feature description seems too presumptive about how operators would (or wouldn't) expose operand version selection to users. So my stance is that I'm okay to merge if the goal here is to capture a high-level idea of supporting some sort of feature about operand version support awareness for admins. But I am not ready to say that what is described can or should be implemented without more design discussion. |
…work#185) Implements https://docs.google.com/document/d/1iWSrWL9pYRJ5Ua3VYErkK1Q2lAusBUeDCh66Ew4lDbQ/edit?usp=sharing Closes operator-framework#180 Signed-off-by: Anik Bhattacharjee <[email protected]>
#1542) * Makes codecov-action optional We do not want to fail the job if codecov fails to upload the report due to rate limiting. Signed-off-by: Mikalai Radchuk <[email protected]> * Enable dependabot (#125) Signed-off-by: Andy Goldstein <[email protected]> * Enable merge queue (#131) Signed-off-by: Andy Goldstein <[email protected]> * Switch to using tilt-support repo Signed-off-by: Andy Goldstein <[email protected]> * Add DCO information Signed-off-by: Andy Goldstein <[email protected]> * Add CI for tilt (#134) Signed-off-by: Andy Goldstein <[email protected]> * Enable CatalogMetadataAPI via explicit flag, fix syncing issues (#138) * Setup CODEOWNERS (#140) Signed-off-by: Andy Goldstein <[email protected]> * Deprecate the `CatalogMetadataAPI` feature gate (#141) Marking the CatalogMetadataAPI feature gate as Deprecated before introducing the HTTP server as a default mechanism to serve catalog contents Signed-off-by: Rashmi Gottipati <[email protected]> * Remove Package and BundleMetadata APIs (#149) Signed-off-by: Joe Lanford <[email protected]> * add go-apidiff action (#151) Signed-off-by: Joe Lanford <[email protected]> * Store FBC in local directory (#144) closes #113 Signed-off-by: Anik <[email protected]> * update demo based on API changes (#154) Signed-off-by: Jordan Keister <[email protected]> * Serve locally stored fbc content via an http server (#148) Closes #113 Signed-off-by: Anik <[email protected]> * Add metrics to the catalog server (#156) * add metrics to catalogd http server that can be used for calculating the Apdex Score and assess the health of the http server that is serving catalog contents to clients Signed-off-by: Bryce Palmer <[email protected]> * quick fixes from review comments Signed-off-by: Bryce Palmer <[email protected]> * rename package from server --> metrics Signed-off-by: Bryce Palmer <[email protected]> * rename package from server --> metrics Signed-off-by: Bryce Palmer <[email protected]> --------- Signed-off-by: Bryce Palmer <[email protected]> * (docs): Add docs on fetching contents via HTTP server (#166) * (docs): Add docs on fetching contents via HTTP server Signed-off-by: Bryce Palmer <[email protected]> * add curl examples Signed-off-by: Bryce Palmer <[email protected]> --------- Signed-off-by: Bryce Palmer <[email protected]> Signed-off-by: Bryce Palmer <[email protected]> * (refactor): Remove deprecated CatalogMetadata and associated code (#169) * (refactor): Remove deprecated CatalogMetadata and associated code Signed-off-by: Bryce Palmer <[email protected]> * go mod tidy Signed-off-by: Bryce Palmer <[email protected]> --------- Signed-off-by: Bryce Palmer <[email protected]> * (server) Expose content URL on CR status (#168) closes #119 Signed-off-by: Anik <[email protected]> * deps: bump kubernetes and operator-registry (#173) Signed-off-by: Joe Lanford <[email protected]> * Add RELEASING.md (#176) Add release guide Signed-off-by: Catherine Chan-Tse <[email protected]> * Add contribution guide (#165) * Add contributing guide to catalogd Signed-off-by: Rashmi Gottipati <[email protected]> * Address review comments Signed-off-by: Rashmi Gottipati <[email protected]> --------- Signed-off-by: Rashmi Gottipati <[email protected]> * Update README with simplified make target ref (#178) Signed-off-by: kevinrizza <[email protected]> * add default printer columns (#174) Add default printer columns Signed-off-by: kevinrizza <[email protected]> * (cleanup) Kustomization (#183) Closes #155, #160 Signed-off-by: Anik Bhattacharjee <[email protected]> * (feature): add direct image registry client `Unpacker` implementation (#145) (feat): direct image registry client unpacker Signed-off-by: Bryce Palmer <[email protected]> * (techdebt): refactor catalog controller unit tests (#196) * (techdebt): refactor catalog controller unit tests to no longer use Ginkgo and instead use the native Go testing and testify Signed-off-by: Bryce Palmer <[email protected]> * remove rebase detritus, unnecessary IIFE, and featuregate comments/blocks. goimports. Signed-off-by: Bryce Palmer <[email protected]> --------- Signed-off-by: Bryce Palmer <[email protected]> * Bump golang.org/x/net from 0.10.0 to 0.17.0 (#197) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.17.0. - [Commits](https://github.com/golang/net/compare/v0.10.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/docker/docker from 23.0.1+incompatible to 23.0.3+incompatible (#195) Bump github.com/docker/docker Bumps [github.com/docker/docker](https://github.com/docker/docker) from 23.0.1+incompatible to 23.0.3+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v23.0.1...v23.0.3) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * (feature) Implement polling image source in intervals (#185) Implements https://docs.google.com/document/d/1iWSrWL9pYRJ5Ua3VYErkK1Q2lAusBUeDCh66Ew4lDbQ/edit?usp=sharing Closes #180 Signed-off-by: Anik Bhattacharjee <[email protected]> * Add GoDoc for Phase (#199) GoDoc for Phase Signed-off-by: Anik Bhattacharjee <[email protected]> * (feature): add skip-tls-verify option for image sources (#201) * (feature): add skip-tls-verify option for image sources Signed-off-by: Bryce Palmer <[email protected]> * re-generate manifests Signed-off-by: Bryce Palmer <[email protected]> --------- Signed-off-by: Bryce Palmer <[email protected]> * 🌱 Add PR template with icons & verify job (#205) Add PR template with icons & verify job Signed-off-by: Andy Goldstein <[email protected]> * 🌱 Bump github.com/docker/docker from 23.0.3+incompatible to 24.0.7+incompatible (#203) Bump github.com/docker/docker Bumps [github.com/docker/docker](https://github.com/docker/docker) from 23.0.3+incompatible to 24.0.7+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v23.0.3...v24.0.7) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :bug: attempt to remove cache entry if unpack fails (#207) (bugfix): attempt to remove cache entry if unpack fails and add a new test case that ensures if the required label is missing from the image, thus failing image unpacking, an error is consistently returned fixes #206 Signed-off-by: Bryce Palmer <[email protected]> * 🌱 Prefix dependabot GH actions PRs (#208) Prefix dependabot GH actions PRs Signed-off-by: Andy Goldstein <[email protected]> * :seedling: replace e2e Job with client-go ProxyGet() call (#210) (e2e): replace e2e Job with client-go ProxyGet() call Signed-off-by: Bryce Palmer <[email protected]> * ✨ Add Ingress overlay to access `Catalog` contents outside of the cluster (#209) * Add Ingress overlay to access `Catalog` contents outside of the cluster Signed-off-by: Rashmi Gottipati <[email protected]> * Address review feedback Signed-off-by: Rashmi Gottipati <[email protected]> * Address review feedback #1 Signed-off-by: Rashmi Gottipati <[email protected]> * Address feedback #2 Signed-off-by: Rashmi Gottipati <[email protected]> --------- Signed-off-by: Rashmi Gottipati <[email protected]> * 🌱 bump to k8s 1.27.7 (#211) bump to k8s 1.27.7 to ensure catalogd is fully remediated and unaffected by the rapid reset CVE Signed-off-by: Bryce Palmer <[email protected]> * :seedling: Remove cert-manager from release note install process (#215) Remove cert-manager from release note install process as cert-manager has not been a requirement for installing catalogd for quite some time. Signed-off-by: Bryce Palmer <[email protected]> * :bug: Add enum validation for source type (#214) Add enum validation for source type Signed-off-by: Bryce Palmer <[email protected]> * 🌱 updates to enable autogenerated demo, hosted out-of-tree (#212) * updates to support automated demo generation Signed-off-by: Jordan Keister <[email protected]> * review updates Signed-off-by: Jordan Keister <[email protected]> --------- Signed-off-by: Jordan Keister <[email protected]> * :seedling: demo install from published tag (#217) * demo install from published tag Signed-off-by: Jordan Keister <[email protected]> * review updates Signed-off-by: Jordan Keister <[email protected]> --------- Signed-off-by: Jordan Keister <[email protected]> * Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#218) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0. - [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/go-git/go-git/v5 from 5.4.2 to 5.11.0 (#220) Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.4.2 to 5.11.0. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.4.2...v5.11.0) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containerd/containerd from 1.6.22 to 1.6.26 (#219) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.6.22 to 1.6.26. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.6.22...v1.6.26) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * (bugfix): bump the catalogserver write timeout to 5 minutes (#223) to allow for fully writing large catalogs contents in the response Signed-off-by: everettraven <[email protected]> * (bugfix): add validation for pollInterval duration units (#225) Signed-off-by: everettraven <[email protected]> * (chore): bump supported k8s version to 1.28 (#227) bumps controller-runtime --> v0.16.3 bumps k8s.io deps --> v0.28.5 bumps operator-registry --> v1.34.0 updated kind version --> v0.20.0 made kind node image configurable and 1.28 by default updated ginkgo version --> v2.12.0 Signed-off-by: everettraven <[email protected]> * Bump github.com/containerd/containerd from 1.7.6 to 1.7.11 (#228) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.6 to 1.7.11. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.6...v1.7.11) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#230) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.16.0 to 0.17.0. - [Commits](https://github.com/golang/crypto/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * (bugfix): make garbage collection a runnable (#231) and add it to the controller manager. Make it log errors instead of exiting. This prevents crashlooping when there are errors in the garbage collection process. Signed-off-by: everettraven <[email protected]> * bumping codecov-action to v4 (#232) * GH Actions: add workflow to add epic issues to OLMv1 project (#233) Signed-off-by: Joe Lanford <[email protected]> * Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 (#234) Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Go to 1.21 (#237) Signed-off-by: Mikalai Radchuk <[email protected]> * bump docker deps to 25.0.5 (#236) * bump kind to 0.22.0 (#238) Signed-off-by: Joe Lanford <[email protected]> * remove terminating space in dependabot config file (#245) Signed-off-by: Jordan Keister <[email protected]> * make golangci-lint config consistent across repos (#255) Signed-off-by: Joe Lanford <[email protected]> * Bump golang.org/x/net from 0.19.0 to 0.23.0 (#244) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.19.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump docker/login-action from 2 to 3 (#246) Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump actions/checkout from 3 to 4 (#247) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/go-logr/logr from 1.3.0 to 1.4.1 (#253) Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 1.3.0 to 1.4.1. - [Release notes](https://github.com/go-logr/logr/releases) - [Changelog](https://github.com/go-logr/logr/blob/master/CHANGELOG.md) - [Commits](https://github.com/go-logr/logr/compare/v1.3.0...v1.4.1) --- updated-dependencies: - dependency-name: github.com/go-logr/logr dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump actions/add-to-project from 0.5.0 to 1.0.1 (#249) Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 0.5.0 to 1.0.1. - [Release notes](https://github.com/actions/add-to-project/releases) - [Commits](https://github.com/actions/add-to-project/compare/v0.5.0...v1.0.1) --- updated-dependencies: - dependency-name: actions/add-to-project dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump actions/setup-go from 4 to 5 (#250) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#254) Bumps [sigs.k8s.io/yaml](https://github.com/kubernetes-sigs/yaml) from 1.3.0 to 1.4.0. - [Release notes](https://github.com/kubernetes-sigs/yaml/releases) - [Changelog](https://github.com/kubernetes-sigs/yaml/blob/master/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/yaml/compare/v1.3.0...v1.4.0) --- updated-dependencies: - dependency-name: sigs.k8s.io/yaml dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump kubernetes-sigs/kubebuilder-release-tools (#248) Bumps [kubernetes-sigs/kubebuilder-release-tools](https://github.com/kubernetes-sigs/kubebuilder-release-tools) from 0.4.0 to 0.4.3. - [Release notes](https://github.com/kubernetes-sigs/kubebuilder-release-tools/releases) - [Changelog](https://github.com/kubernetes-sigs/kubebuilder-release-tools/blob/master/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/kubebuilder-release-tools/compare/v0.4.0...v0.4.3) --- updated-dependencies: - dependency-name: kubernetes-sigs/kubebuilder-release-tools dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * OCPBUGS-28230: enforce termination message policy on all platform pods (#260) Signed-off-by: Joe Lanford <[email protected]> * bump controller-gen to v0.14.0 (#262) Signed-off-by: Tayler Geiger <[email protected]> * ⚠️ Serve catalog over HTTPS (#263) * make catalog server serve catalog contents over HTTPS adds cert-manager as a dependency again to create self-signed certs for the catalog server Signed-off-by: everettraven <[email protected]> * fix e2e Signed-off-by: everettraven <[email protected]> * Reorganize manifests for cert-manager overlay This allows the use of alternate certificate managers. Signed-off-by: Tayler Geiger <[email protected]> * Reconfigure TLS functionality to use Listener Fix a few manifest issues as well. Signed-off-by: Tayler Geiger <[email protected]> * Add certwatcher for TLS cert and key from controller-runtime - Add error for missing either tls-key or tls-cert arguments. - Move server creation and configuration to serverutil Signed-off-by: Tayler Geiger <[email protected]> * Update README and docs for HTTPS --------- Signed-off-by: everettraven <[email protected]> Signed-off-by: Tayler Geiger <[email protected]> Co-authored-by: everettraven <[email protected]> * Makefile: fix issues with repeated evaluations (#267) * rename Catalog to ClusterCatalog (#268) Signed-off-by: everettraven <[email protected]> * ✨ Bump k8s deps to 0.30.0 and go 1.22 (#269) * bump to go 1.22 and k8s 0.30.0 Signed-off-by: everettraven <[email protected]> * bump o-reg to tag Signed-off-by: everettraven <[email protected]> --------- Signed-off-by: everettraven <[email protected]> * :seedling: Bump k8s.io/client-go from 0.30.0 to 0.30.1 (#276) Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.30.0 to 0.30.1. - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/kubernetes/client-go/compare/v0.30.0...v0.30.1) --- updated-dependencies: - dependency-name: k8s.io/client-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump k8s.io/component-base from 0.28.5 to 0.30.1 (#275) Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.28.5 to 0.30.1. - [Commits](https://github.com/kubernetes/component-base/compare/v0.28.5...v0.30.1) --- updated-dependencies: - dependency-name: k8s.io/component-base dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump k8s.io/apiserver from 0.28.5 to 0.30.1 (#274) Bumps [k8s.io/apiserver](https://github.com/kubernetes/apiserver) from 0.28.5 to 0.30.1. - [Commits](https://github.com/kubernetes/apiserver/compare/v0.28.5...v0.30.1) --- updated-dependencies: - dependency-name: k8s.io/apiserver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix XDG_DATA_HOME build issue (#264) This mirrors the same fix made previously in operator-controller: https://github.com/operator-framework/operator-controller/pull/790 Signed-off-by: Tayler Geiger <[email protected]> * Change default namespace to olmv1-system (#283) * :seedling: Bump k8s.io/apiextensions-apiserver from 0.30.0 to 0.30.2 (#284) Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.0 to 0.30.2. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.30.0...v0.30.2) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/containerd/containerd from 1.7.16 to 1.7.18 (#282) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.16 to 1.7.18. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.16...v1.7.18) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix codecov-action params (#287) * `functionalities` param is no longer exist. It was used to enable file fixes to ignore common lines from coverage. This feature is now seems to be on by default. * Adding `disable_search` because we do not need for the codecov action to search for coverage files: we explicitly provide files. Signed-off-by: Mikalai Radchuk <[email protected]> * Use url.Scheme to determine port number (#289) Signed-off-by: Todd Short <[email protected]> * Fixing the labels for better identify metrics (#292) As the label selector used for both catalogd and operator-controller metrics services is "control-plane: controller-manager". Hence changing the labels in both operator-controller and catalogd to make sure we do not overlap. Refer https://github.com/operator-framework/operator-controller/issues/955 for details Signed-off-by: Lalatendu Mohanty <[email protected]> * adding gzip content support (#293) Signed-off-by: Jordan Keister <[email protected]> * :seedling: Bump actions/add-to-project from 1.0.1 to 1.0.2 (#291) Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/actions/add-to-project/releases) - [Commits](https://github.com/actions/add-to-project/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: actions/add-to-project dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/prometheus/client_golang (#286) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.18.0 to 1.19.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/google/go-containerregistry (#285) Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.19.1 to 0.19.2. - [Release notes](https://github.com/google/go-containerregistry/releases) - [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml) - [Commits](https://github.com/google/go-containerregistry/compare/v0.19.1...v0.19.2) --- updated-dependencies: - dependency-name: github.com/google/go-containerregistry dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 (#279) Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/go-logr/logr/releases) - [Changelog](https://github.com/go-logr/logr/blob/master/CHANGELOG.md) - [Commits](https://github.com/go-logr/logr/compare/v1.4.1...v1.4.2) --- updated-dependencies: - dependency-name: github.com/go-logr/logr dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/onsi/ginkgo/v2 from 2.17.3 to 2.19.0 (#277) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.17.3 to 2.19.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.17.3...v2.19.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/operator-framework/operator-registry (#281) Bumps [github.com/operator-framework/operator-registry](https://github.com/operator-framework/operator-registry) from 1.42.0 to 1.43.1. - [Release notes](https://github.com/operator-framework/operator-registry/releases) - [Commits](https://github.com/operator-framework/operator-registry/compare/v1.42.0...v1.43.1) --- updated-dependencies: - dependency-name: github.com/operator-framework/operator-registry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * check the underlying storage for existing cluster catalog content (#290) Signed-off-by: Igor Troyanovsky <[email protected]> * :seedling: Bump github.com/operator-framework/operator-registry (#294) Bumps [github.com/operator-framework/operator-registry](https://github.com/operator-framework/operator-registry) from 1.43.1 to 1.44.0. - [Release notes](https://github.com/operator-framework/operator-registry/releases) - [Commits](https://github.com/operator-framework/operator-registry/compare/v1.43.1...v1.44.0) --- updated-dependencies: - dependency-name: github.com/operator-framework/operator-registry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Share common CA with OLMv1 in overlays/cert-manager (#296) Use kustomization Components to share a common ClusterIssuer with operator-controller. Fixes #295 Signed-off-by: Todd Short <[email protected]> * :seedling: Bump github.com/containerd/containerd from 1.7.18 to 1.7.19 (#297) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.18 to 1.7.19. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.18...v1.7.19) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * reduce cpu requests (#298) Signed-off-by: Jordan Keister <[email protected]> * Remove second installation of cert-manager (#300) Signed-off-by: Mikalai Radchuk <[email protected]> * Bump ginkgo CLI (#301) Signed-off-by: Mikalai Radchuk <[email protected]> * :seedling: Bump github.com/google/go-containerregistry (#302) Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.19.2 to 0.20.0. - [Release notes](https://github.com/google/go-containerregistry/releases) - [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml) - [Commits](https://github.com/google/go-containerregistry/compare/v0.19.2...v0.20.0) --- updated-dependencies: - dependency-name: github.com/google/go-containerregistry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump google.golang.org/grpc from 1.64.0 to 1.64.1 (#303) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * shift gzip lib to active fork (#311) Signed-off-by: Jordan Keister <[email protected]> * Move all packages from /pkg to /internal (#310) Ahead of an initial 1.0.0 release, we shouldn't preemptively expose any packages publicly. Instead, let's start my making any packages internal, and we can expose them publicly later on. This commit moves everything currently in /pkg to /internal for now. Signed-off-by: kevinrizza <[email protected]> * :seedling: Bump github.com/klauspost/compress from 1.17.8 to 1.17.9 (#312) Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.8 to 1.17.9. - [Release notes](https://github.com/klauspost/compress/releases) - [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml) - [Commits](https://github.com/klauspost/compress/compare/v1.17.8...v1.17.9) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/google/go-containerregistry (#315) Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.20.0 to 0.20.1. - [Release notes](https://github.com/google/go-containerregistry/releases) - [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml) - [Commits](https://github.com/google/go-containerregistry/compare/v0.20.0...v0.20.1) --- updated-dependencies: - dependency-name: github.com/google/go-containerregistry dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/operator-framework/operator-registry (#319) Bumps [github.com/operator-framework/operator-registry](https://github.com/operator-framework/operator-registry) from 1.44.0 to 1.45.0. - [Release notes](https://github.com/operator-framework/operator-registry/releases) - [Commits](https://github.com/operator-framework/operator-registry/compare/v1.44.0...v1.45.0) --- updated-dependencies: - dependency-name: github.com/operator-framework/operator-registry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump k8s.io/apiextensions-apiserver from 0.30.2 to 0.30.3 (#320) Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.2 to 0.30.3. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.30.2...v0.30.3) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Include OperatorHub.io ClusterCatalog in releases (#321) Also adds optional instructions for adding the OperatorHub.io ClusterCatalog to a cluster. Signed-off-by: Tayler Geiger <[email protected]> * ✨ json-lines interface: set content-type, enforce format, document interface (#313) * set content-type for ndjson Signed-off-by: Jordan Keister <[email protected]> * generate json-lines validation data Signed-off-by: Jordan Keister <[email protected]> * added docs for interface format Signed-off-by: Jordan Keister <[email protected]> --------- Signed-off-by: Jordan Keister <[email protected]> * :seedling: Bump github.com/containerd/containerd from 1.7.19 to 1.7.20 (#324) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.19 to 1.7.20. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.19...v1.7.20) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add dependabot K8s dependencies group (#322) Signed-off-by: Mikalai Radchuk <[email protected]> * add catalogd upgrade test (#314) Signed-off-by: Ankita Thomas <[email protected]> * Add installation script (#325) This follows the release pattern used in operator-controller where an install.sh script is used for a multi-step installation process. The OperatorHub ClusterCatalog is also included in the release artifacts. Also adjusted the Makefile to use the install.sh for deploy. Signed-off-by: Tayler Geiger <[email protected]> * Update run-latest-release Makefile target (#326) * 🌱 Revert 2 previous PRs (#327) * Revert "Update run-latest-release Makefile target (#326)" This reverts commit 74de15aa8e50e0764eb7f97c1a667dc41b471a9a. * Revert "Add installation script (#325)" This reverts commit bad488ef1e8245db4e2ca7bb90b6ef7a7a3e4f63. * Add installation script to releases (#328) This follows the release pattern used in operator-controller where an install.sh script is used for a multi-step installation process. The OperatorHub ClusterCatalog is also included in the release artifacts. Also adjusted the Makefile to use the install.sh for deploy. Signed-off-by: Tayler Geiger <[email protected]> * Edit Makefile targets to use install.sh (#329) Adjusts several Makefile targets to use the new install.sh script. Includes adjustments to test-upgrade-e2e to use a new target that only installs the catalogd manifest so cert-manager can still be installed first for use in the image registry. Signed-off-by: Tayler Geiger <[email protected]> * capturing gzip catalog demo as asciicast (#323) Signed-off-by: Jordan Keister <[email protected]> * :seedling: Bump github.com/onsi/gomega from 1.33.1 to 1.34.0 (#332) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.33.1 to 1.34.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.33.1...v1.34.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 (#331) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.19.0 to 2.19.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.19.0...v2.19.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 (#333) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.34.0 to 1.34.1. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.34.0...v1.34.1) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * default-catalogs.yaml: add 10m poll (#335) * ✨ initial api audit type alignment (#330) * initial api audit Signed-off-by: Jordan Keister <[email protected]> * review resolutions Signed-off-by: Jordan Keister <[email protected]> --------- Signed-off-by: Jordan Keister <[email protected]> * :seedling: Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0 (#338) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.19.1 to 2.20.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.19.1...v2.20.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/google/go-containerregistry (#337) Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.20.1 to 0.20.2. - [Release notes](https://github.com/google/go-containerregistry/releases) - [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml) - [Commits](https://github.com/google/go-containerregistry/compare/v0.20.1...v0.20.2) --- updated-dependencies: - dependency-name: github.com/google/go-containerregistry dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/prometheus/client_golang (#344) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.1 to 1.20.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.0/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump the k8s-dependencies group with 6 updates (#343) * :seedling: Bump the k8s-dependencies group with 6 updates Bumps the k8s-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [k8s.io/api](https://github.com/kubernetes/api) | `0.30.3` | `0.31.0` | | [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.30.3` | `0.31.0` | | [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.30.3` | `0.31.0` | | [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.30.3` | `0.31.0` | | [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.30.3` | `0.31.0` | | [k8s.io/component-base](https://github.com/kubernetes/component-base) | `0.30.3` | `0.31.0` | Updates `k8s.io/api` from 0.30.3 to 0.31.0 - [Commits](https://github.com/kubernetes/api/compare/v0.30.3...v0.31.0) Updates `k8s.io/apiextensions-apiserver` from 0.30.3 to 0.31.0 - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.30.3...v0.31.0) Updates `k8s.io/apimachinery` from 0.30.3 to 0.31.0 - [Commits](https://github.com/kubernetes/apimachinery/compare/v0.30.3...v0.31.0) Updates `k8s.io/apiserver` from 0.30.3 to 0.31.0 - [Commits](https://github.com/kubernetes/apiserver/compare/v0.30.3...v0.31.0) Updates `k8s.io/client-go` from 0.30.3 to 0.31.0 - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/kubernetes/client-go/compare/v0.30.3...v0.31.0) Updates `k8s.io/component-base` from 0.30.3 to 0.31.0 - [Commits](https://github.com/kubernetes/component-base/compare/v0.30.3...v0.31.0) --- updated-dependencies: - dependency-name: k8s.io/api dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/apimachinery dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/apiserver dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/client-go dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/component-base dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] <[email protected]> * Bump controller-runtime from 0.18.4 to 0.19.0 Signed-off-by: Per Goncalves da Silva <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Per Goncalves da Silva <[email protected]> * :seedling: change GVK to use olm.operatorframework.io (#342) Signed-off-by: Jordan Keister <[email protected]> * Removing the catalogd from app.kubernetes.io/name (#347) As this namespace is shared between catalogd operator-framework-catalogd Fixes issue #346 Signed-off-by: Lalatendu Mohanty <[email protected]> * :seedling: Bump github.com/operator-framework/operator-registry from 1.45.0 to 1.46.0 (#345) * :seedling: Bump github.com/operator-framework/operator-registry Bumps [github.com/operator-framework/operator-registry](https://github.com/operator-framework/operator-registry) from 1.45.0 to 1.46.0. - [Release notes](https://github.com/operator-framework/operator-registry/releases) - [Commits](https://github.com/operator-framework/operator-registry/compare/v1.45.0...v1.46.0) --- updated-dependencies: - dependency-name: github.com/operator-framework/operator-registry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * bump controller-gen to v0.16.1 Signed-off-by: Per Goncalves da Silva <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Per Goncalves da Silva <[email protected]> * ✨ Capture catalog content timestamp in ClusterCatalogStatus (#334) * Capture catalog content timestamp in ClusterCatalogStatus Signed-off-by: Rashmi Gottipati <[email protected]> * address reviews (partial) Signed-off-by: Rashmi Gottipati <[email protected]> * address review feedback Signed-off-by: Rashmi Gottipati <[email protected]> * Address review comments Signed-off-by: Rashmi Gottipati <[email protected]> --------- Signed-off-by: Rashmi Gottipati <[email protected]> * :seedling: Bump github.com/onsi/ginkgo/v2 from 2.20.0 to 2.20.1 (#350) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.20.0 to 2.20.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.20.0...v2.20.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/prometheus/client_golang (#351) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.0 to 1.20.2. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.0...v1.20.2) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/containerd/containerd from 1.7.20 to 1.7.21 (#352) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.20 to 1.7.21. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.20...v1.7.21) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Catalog Priority (#353) Adds an int32 field to allow users to optionally set priority of catalogs. This priority value may be taken into account during bundle selection from multiple catalogs to remove ambiguity. Signed-off-by: dtfranz <[email protected]> * add v1.0 and v1.x issues to OLMv1 project automatically (#354) Signed-off-by: Joe Lanford <[email protected]> * :seedling: Bump bingo + tools (#358) * Add bingo-upgrade target to Makefile Signed-off-by: Per Goncalves da Silva <[email protected]> * Upgrade bingo tools Signed-off-by: Per Goncalves da Silva <[email protected]> * Regenerate manifests Signed-off-by: Per Goncalves da Silva <[email protected]> --------- Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> * bugfix: fix printcolumn for lastUnpacked based on json tag and not field name (#361) Signed-off-by: Rashmi Gottipati <[email protected]> * :seedling: Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2 (#360) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.20.1 to 2.20.2. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.20.1...v2.20.2) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :seedling: Bump github.com/onsi/gomega from 1.34.1 to 1.34.2 (#359) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.34.1 to 1.34.2. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.34.1...v1.34.2) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update cert-manager to v1.15.3 (#367) Signed-off-by: Todd Short <[email protected]> * Remove status.phase field from the code and doc references (#368) Signed-off-by: Todd Short <[email protected]> * 🌱 Add webhook to add a name label to ClusterCatalogs (#356) * Add webhook to name label ClusterCatalogs * Linter fixups * Added bit more webhook test coverage * Use catalogd version & clean up TLS args Signed-off-by: Brett Tofel <[email protected]> * Fix label name Signed-off-by: Brett Tofel <[email protected]> * From stand-alone webhook to operator internal Signed-off-by: Brett Tofel <[email protected]> * Think this fixes e2e-upgrade not sure why PR changes might necessitate this, but it seems legit to delete deployment first Signed-off-by: Brett Tofel <[email protected]> * PR review changes so far... - get MutaingWebhookConfig from kubebuilder; - stop deleting deployment on only-deploy; - use the existing matchLabel, stop adding webhook label to operator; - rename the name label to metadata.name (but not in API yet). Signed-off-by: Brett Tofel <[email protected]> * Restore CA issuer config Signed-off-by: Brett Tofel <[email protected]> * Fix unit tests Signed-off-by: Brett Tofel <[email protected]> * Addresses review comments around TLS cert config Signed-off-by: Brett Tofel <[email protected]> * Move RBAC for webhook to kb directive Signed-off-by: Brett Tofel <[email protected]> * Move allow-direct-injection to secretTemplate Signed-off-by: Brett Tofel <[email protected]> * Make metadata.name an API constant Signed-off-by: Brett Tofel <[email protected]> * Use MetaDataNameLabel API constant in log line Signed-off-by: Brett Tofel <[email protected]> * Combine cert watchers Signed-off-by: Brett Tofel <[email protected]> * Move cert watching back to ctr-rt manager Signed-off-by: Brett Tofel <[email protected]> * Address review comments Signed-off-by: Brett Tofel <[email protected]> * Address review comments 2 Signed-off-by: Brett Tofel <[email protected]> --------- Signed-off-by: Brett Tofel <[email protected]> * Move cert-manager.io patch into tls component (#372) Signed-off-by: Todd Short <[email protected]> * :seedling: Bump github.com/prometheus/client_golang (#375) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.2 to 1.20.3. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.3/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.2...v1.20.3) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add label creation checking in the e2e (#374) Signed-off-by: Todd Short <[email protected]> * Add matchCondition to webhook config (#376) Should add some efficiency as it only lets the webhook fire when needed Signed-off-by: Brett Tofel <[email protected]> * Fix matchConditions to be compatible with GenerateName (#382) Signed-off-by: Todd Short <[email protected]> * Force a rename of the catalogd certificate (#386) This will cause the catalogd deployment to restart, meaning that the catalogd will update quicker (rather than waiting on k8s to update the certificates via the volume) Signed-off-by: Todd Short <[email protected]> * :seedling: Bump github.com/operator-framework/operator-registry (#387) Bumps [github.com/operator-framework/operator-registry](https://github.com/operator-framework/operator-registry) from 1.46.0 to 1.47.0. - [Release notes](https://github.com/operator-framework/operator-registry/releases) - [Commits](https://github.com/operator-framework/operator-registry/compare/v1.46.0...v1.47.0) --- updated-dependencies: - dependency-name: github.com/operator-framework/operator-registry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 📖 [Docs] Document tilt-support install (#388) * Document tilt-support install Signed-off-by: Brett Tofel <[email protected]> * Improve tilt-support text Signed-off-by: Brett Tofel <[email protected]> --------- Signed-off-by: Brett Tofel <[email protected]> * :seedling: Bump github.com/containerd/containerd from 1.7.21 to 1.7.22 (#391) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.21 to 1.7.22. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](https://github.com/containerd/containerd/compare/v1.7.21...v1.7.22) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ✨ Ensure docker registry CA is trusted in e2e tests (#377) * Ensure docker registry CA is trusted in e2e tests * Restructure based on feedback * Fix FS cache for image refs with tags (#394) Signed-off-by: Mikalai Radchuk <[email protected]> * Fixes name of httputil test file (#395) Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> * Add .idea to .gitignore (#393) Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> * Remove TLSVerify/PullSecret fields (#369) Remove fields that will not have long term support committed to them to prepare for the v1.0 release. Removed Fields: - spec.source.image.insecureSkipTLSVerify - spec.source.image.pullSecret GH Issue Ref: #355 Signed-off-by: Per Goncalves da Silva <[email protected]> * Avoid a network call for digest based images (#396) Signed-off-by: Mikalai Radchuk <[email protected]> * :seedling: Bump the k8s-dependencies group with 6 updates (#398) Bumps the k8s-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [k8s.io/api](https://github.com/kubernetes/api) | `0.31.0` | `0.31.1` | | [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.31.0` | `0.31.1` | | [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.31.0` | `0.31.1` | | [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.31.0` | `0.31.1` | | [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.31.0` | `0.31.1` | | [k8s.io/component-base](https://github.com/kubernetes/component-base) | `0.31.0` | `0.31.1` | Updates `k8s.io/api` from 0.31.0 to 0.31.1 - [Commits](https://github.com/kubernetes/api/compare/v0.31.0...v0.31.1) Updates `k8s.io/apiextensions-apiserver` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.0...v0.31.1) Updates `k8s.io/apimachinery` from 0.31.0 to 0.31.1 - [Commits](https://github.com/kubernetes/apimachinery/compare/v0.31.0...v0.31.1) Updates `k8s.io/apiserver` from 0.31.0 to 0.31.1 - [Commits](https://github.com/kubernetes/apiserver/compare/v0.31.0...v0.31.1) Updates `k8s.io/client-go` from 0.31.0 to 0.31.1 - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/kubernetes/client-go/compare/v0.31.0...v0.31.1) Updates `k8s.io/component-base` from 0.31.0 to 0.31.1 - [Commits](https://github.com/kubernetes/component-base/compare/v0.31.0...v0.31.1) --- updated-dependencies: - dependency-name: k8s.io/api dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies - dependency-name: k8s.io/apimachinery dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies - dependency-name: k8s.io/apiserver dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies - dependency-name: k8s.io/client-go dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies - dependency-name: k8s.io/component-base dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix unnecessary lastUnpacked status updates (#397) We should not be updating lastUnpacked status fields when we read from the cache Signed-off-by: Mikalai Radchuk <[email protected]> * ✨ unpacker: switch from google/go-containerregistry to containers/image (#399) * copy containers_image.go from operator-controller Signed-off-by: Joe Lanford <[email protected]> * initial modifications for naming and types Signed-off-by: Joe Lanford <[email protected]> * unpacker: switch to containers/image-based implementation Signed-off-by: Joe Lanford <[email protected]> --------- Signed-off-by: Joe Lanford <[email protected]> * :seedling: Align ClusterCatalog API godoc with OpenShift API conventions (#390) * Update godoc strings for ClusterCatalog API Signed-off-by: Per Goncalves da Silva <[email protected]> * Regenerate manifests Signed-off-by: Per Goncalves da Silva <[email protected]> * Apply suggestions from code review Text fixes Co-authored-by: Bryce Palmer <[email protected]> * Address reviewer comments Signed-off-by: Per Goncalves da Silva <[email protected]> * Update api/core/v1alpha1/clustercatalog_types.go Co-authored-by: Bryce Palmer <[email protected]> * Apply suggestions from code review Co-authored-by: Joe Lanford <[email protected]> Signed-off-by: Per Goncalves da Silva <[email protected]> --------- Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Bryce Palmer <[email protected]> Co-authored-by: Joe Lanford <[email protected]> * Add CI to check if golang version updated (#401) Signed-off-by: Todd Short <[email protected]> * Combine the catalogd services (#402) Only need to define one service for: * metrics * webhook * catalogd itself Clean up the name of the service (now `catalogd-service`) and any corresponding resources Renumber the ports to 7443/8443/9443. The external port for the catalog server is either 80 or 443. Signed-off-by: Todd Short <[email protected]> * Update documentation and default to new service name. (#406) Signed-off-by: Todd Short <[email protected]> * fix: make post-upgrade-e2e checks wait for ClusterCatalog to be reconciled (#407) Signed-off-by: Joe Lanford <[email protected]> * fix: unpack cache cleanup should ignore missing files (#404) Signed-off-by: Joe Lanford <[email protected]> * use controller-runtime Terminal error instead of custom Unrecoverable error (#405) Signed-off-by: Joe Lanford <[email protected]> * Refer to the correct location for go-verdiff (#408) The location is different than the operator-controller repo. Signed-off-by: Todd Short <[email protected]> * :seedling: Bump github.com/prometheus/client_golang (#403) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.3 to 1.20.4. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.3...v1.20.4) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 🐛 Handle finalizers (creation and deletion) better (#411) * 🐛 Handle finalizers (creation and deletion) better Closes [409](https://github.com/operator-framework/catalogd/issues/409) * Move the finalizer setup Move the finalizer setup out from main.go, and into the controller code. This allows the finalizers to be initialized and used in the test code. Signed-off-by: Todd Short <[email protected]> * Undo rename of fbcDeletionFinalizer Signed-off-by: Todd Short <[email protected]> --------- Signed-off-by: Todd Short <[email protected]> Co-authored-by: Todd Short <[email protected]> * ⚠ Status condition cl…
This is the feature request received in the past for OLM to expose the "provided service versions" (aka "Operand versioning") offered by the Operator/extension.
As extensions can only be installed once in a cluster as cluster-wide singletons with OLM 1.0, it is likely for an extension to oversee multiple versions of service and utilize a distinct versioning scheme. This should be a part of the OLM v1 requirement.
Related work in the past (Feb, 2021): https://hackmd.io/IEYEaOYkR-eBkMQkbVrC1A?view