Skip to content

Migrate Helm Operator to File Based Catalog #603

@haywoodsh

Description

@haywoodsh

Convert the nginx/nginx-ingress-helm-operator from bundle based to File-Based Catalog, following the result of nginx/kubernetes-ingress#8222

Acceptance Criteria:

This should result in the catalog image containing all NIC operator versions available with opm alpha render-graph.
Current catalog:

❯ opm alpha render-graph -p nginx-ingress-operator registry.redhat.io/redhat/certified-operator-index:v4.19
graph LR
  classDef deprecated fill:#E8960F
  %% package "nginx-ingress-operator"
  subgraph "nginx-ingress-operator"
    %% channel "alpha"
    subgraph nginx-ingress-operator-alpha["alpha"]
      nginx-ingress-operator-alpha-nginx-ingress-operator.v3.3.0["nginx-ingress-operator.v3.3.0"]
    end
  end

Desired catalog (sample operator versions and channels only):

❯ opm alpha render-graph -p <new-catalog-image>
graph LR     
  classDef deprecated fill:#E8960F
  %% package "nginx-ingress-operator"
  subgraph "nginx-ingress-operator"
    %% channel "v2"
    subgraph nginx-ingress-operator-v2["v2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.0.2["nginx-ingress-operator.v2.0.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.1.2["nginx-ingress-operator.v2.1.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.0.2["nginx-ingress-operator.v2.0.2"]-- replace --> nginx-ingress-operator-v2-nginx-ingress-operator.v2.1.2["nginx-ingress-operator.v2.1.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.2.2["nginx-ingress-operator.v2.2.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.1.2["nginx-ingress-operator.v2.1.2"]-- replace --> nginx-ingress-operator-v2-nginx-ingress-operator.v2.2.2["nginx-ingress-operator.v2.2.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.3.2["nginx-ingress-operator.v2.3.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.2.2["nginx-ingress-operator.v2.2.2"]-- replace --> nginx-ingress-operator-v2-nginx-ingress-operator.v2.3.2["nginx-ingress-operator.v2.3.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.4.2["nginx-ingress-operator.v2.4.2"]
      nginx-ingress-operator-v2-nginx-ingress-operator.v2.3.2["nginx-ingress-operator.v2.3.2"]-- replace --> nginx-ingress-operator-v2-nginx-ingress-operator.v2.4.2["nginx-ingress-operator.v2.4.2"]
    end
    %% channel "v3"
    subgraph nginx-ingress-operator-v3["v3"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.0.1["nginx-ingress-operator.v3.0.1"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.1.0["nginx-ingress-operator.v3.1.0"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.0.1["nginx-ingress-operator.v3.0.1"]-- replace --> nginx-ingress-operator-v3-nginx-ingress-operator.v3.1.0["nginx-ingress-operator.v3.1.0"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.2.3["nginx-ingress-operator.v3.2.3"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.1.0["nginx-ingress-operator.v3.1.0"]-- replace --> nginx-ingress-operator-v3-nginx-ingress-operator.v3.2.3["nginx-ingress-operator.v3.2.3"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.3.0["nginx-ingress-operator.v3.3.0"]
      nginx-ingress-operator-v3-nginx-ingress-operator.v3.2.3["nginx-ingress-operator.v3.2.3"]-- replace --> nginx-ingress-operator-v3-nginx-ingress-operator.v3.3.0["nginx-ingress-operator.v3.3.0"]
    end
  end

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalAn issue that proposes a feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions