GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [epic] Initial `kubectl operator` plugin updates for operator-controller and catalogd · Issue #1424 · operator-framework/operator-controller

[epic] Initial kubectl operator plugin updates for operator-controller and catalogd #1424

New issue
Copy link
New issue
Copy link
Open
4 / 44 of 4 issues completed
Open
[epic] Initial kubectl operator plugin updates for operator-controller and catalogd#1424
4 / 44 of 4 issues completed
Copy link
Labels
epicepic/kubectl-operator-pluginlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.Indicates that an issue or PR should not be auto-closed due to staleness.supporting-toolsv1.xIssues related to OLMv1 features that come after 1.0Issues related to OLMv1 features that come after 1.0

Description

@joelanford
joelanford
opened on Nov 1, 2024
Issue body actions

With the imminent 1.0.0 releases of operator-controller and catalogd, we should circle back to our kubectl-operator plugin, update it to work with operator-controller/catalogd APIs and make those interactions the default experience (deprecating the OLMv0 implementation).

One of the most important new features the kubectl plugin should include is a way to query the contents of the ClusterCatalog objects on a cluster. This is a tricky problem to solve because the networking and authentication stacks between an off-cluster client and the on-cluster catalogd service are often environment-specific. Potential options include:

  • kubectl port-forward, but this requires users to have permission to get information about the catalogd pod (and possibly its service) in order to setup the port-forward connection.
  • kubectl proxy, but no client authentication to the in-cluster service is supported. This would be a problem if we ever want to require client authentication in order to access catalogd from outside the cluster. Are there any advantages of proxy over port-forward that we should consider?
  • An Ingress or Gateway - these APIs are the traditional way to expose cluster services outside the cluster, but there are many implementations, each with nuances, and OLM cannot really make assumptions that there will even be an ingress or gateway controller running on every cluster.
  • Service with a NodePort - this configures each node to start a listener on the specified port for the specified protocol, and all nodes proxy connections to the in-cluster service. Downside is that it requires a port reservation, and clients would need a way to discover the node IPs and port assignment (not insurmountable, but something we'd have to consider carefully).

Because all of these options have pitfalls, we may need to design a flexible solution that enables distributions that include OLM to select which of these to support. And ideally the client could automatically discover which technique to use. Since clients will be required to query for ClusterCatalog to know what is even available to query, perhaps catalogd could include external URLs in the ClusterCatalog status?


In addition to the challenges with exposing catalog content off-cluster, we should also implement some or all of:

  • ClusterExtension get/list/install/upgrade/uninstall
  • ClusterCatalog get/list/add/remove, and maybe mechanisms to update availability, labels, priority, etc.

We should definitely plan to implement a really nice UX for discovering the current state of what is actually present on the cluster. We can implement custom printer columns, sorting, etc. that can really enhance a user's understanding of the state of the system.


There may be additional iterations on this effort (for e.g. as we discover possible benefits of new printer columns or something else), but for this initial iteration we plan a functional breakdown to give solid experiences in stages. This may enable other features (for e.g. service account permissions evaluations).

These phases are captured as sub-issues, and duplicated here for those expecting a table:

  • Extend kubectl-operator to get/list OLMv1 resources #1767
  • Extend kubectl-operator to list available OLMv1 bundles for install. #1768
  • Extend kubectl-operator to install and uninstall ClusterExtensions #1769
  • Extend kubectl-operator to add/remove ClusterCatalogs #1770
  • Extend kubectl-operator to modify existing ClusterCatalogs #1771
  • Extend kubectl-operator plugin to upgrade a ClusterExtension #1772
  • Spike: Expose catalogd service off cluster #1765
  • Investigate listing cluster-catalog contents of very large catalogs with port-forwarding #1853
  • Deprecate olm v0 components within kubectl-operator plugin #1766
  • Prepare and include demo of olmv1 commands in kubectl-operator plugin README #1807
  • Move the olmv1 implementation in kubectl-operator to the operator-controller repo #1850
  • Optimize olmv1 kubectl plugin UX #1851
  • Publish olmv1 kubectl plugin #1852

Activity

Next
  1. joelanford
    added this to OLM v1on Nov 1, 2024
  2. joelanford
    added
    epic
    v1.xIssues related to OLMv1 features that come after 1.0Issues related to OLMv1 features that come after 1.0
    v1.1
    and removed
    v1.xIssues related to OLMv1 features that come after 1.0Issues related to OLMv1 features that come after 1.0
    on Nov 1, 2024
  3. LalatenduMohanty
    added
    v1.xIssues related to OLMv1 features that come after 1.0Issues related to OLMv1 features that come after 1.0
    on Dec 10, 2024
  4. LalatenduMohanty
    removed
    v1.1
    on Jan 21, 2025
  5. LalatenduMohanty
    assigned
    joelanford
    on Jan 21, 2025
  6. LalatenduMohanty commented on Feb 5, 2025

    @LalatenduMohanty
    LalatenduMohanty
    on Feb 5, 2025
    Member
    More actions

    @joelanford have the POC PR operator-framework/kubectl-operator#213

  7. ankitathomas
    added
    epic/kubectl-operator-plugin
    on Feb 13, 2025
  8. ankitathomas
    added sub-issues on Feb 13, 2025
    • Extend kubectl-operator plugin to support OLMv1 resources #1763
    • Extend kubectl-operator plugin to support ClusterCatalogs #1764
    • Spike: Expose catalogd service off cluster #1765
    • Deprecate olm v0 components within kubectl-operator plugin #1766
  9. ankitathomas
    removed a sub-issue on Feb 13, 2025
    • Extend kubectl-operator plugin to support ClusterCatalogs #1764
  10. 4 remaining items

  11. grokspawn
    added
    supporting-tools
    on Apr 2, 2025
  12. github-actions commented on Jul 2, 2025

    @github-actions
    github-actionsBot
    on Jul 2, 2025 – with GitHub Actions
    More actions

    Issues go stale after 90 days of inactivity. If there is no further activity, the issue will be closed in another 30 days.

  13. github-actions
    added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.
    on Jul 2, 2025
  14. camilamacedo86
    removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.
    on Jul 22, 2025
  15. camilamacedo86
    moved this from Implementing to No status in OLM v1on Jul 22, 2025
  16. ankitathomas
    removed their assignment
    on Aug 12, 2025
  17. github-actions commented on Nov 11, 2025

    @github-actions
    github-actionsBot
    on Nov 11, 2025 – with GitHub Actions
    More actions

    Issues go stale after 90 days of inactivity. If there is no further activity, the issue will be closed in another 30 days.

  18. github-actions
    added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.
    on Nov 11, 2025
  19. github-actions commented on Dec 11, 2025

    @github-actions
    github-actionsBot
    on Dec 11, 2025 – with GitHub Actions
    More actions

    This issue has been closed due to inactivity.

  20. github-actions
    closed this as not plannedon Dec 11, 2025
  21. grokspawn
    added
    lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.Indicates that an issue or PR should not be auto-closed due to staleness.
    and removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.
    on Jan 20, 2026
  22. grokspawn
    reopened this on Jan 20, 2026
  23. tmshort commented on Apr 28, 2026

    @tmshort
    tmshort
    on Apr 28, 2026
    Member
    More actions

    Some of this has been done; there is support to list contents of the eatalogs, and to create CE.
    This may have some intersection with work that @trgeiger is doing.

  24. ankitathomas commented on Apr 28, 2026

    @ankitathomas
    ankitathomas
    on Apr 28, 2026
    Contributor
    More actions

    @trgeiger had a new iteration of the CLI: https://github.com/trgeiger/opconsh, it looks promising as a CLI alternative

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicepic/kubectl-operator-pluginlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.Indicates that an issue or PR should not be auto-closed due to staleness.supporting-toolsv1.xIssues related to OLMv1 features that come after 1.0Issues related to OLMv1 features that come after 1.0

    Type

    No type

    Projects

    • OLM v1
      Status
      No status
      Show more project fields

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    You are visitor 01402520 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.