Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency Library + CLI #206

Closed
awgreene opened this issue May 9, 2023 · 3 comments
Closed

Dependency Library + CLI #206

awgreene opened this issue May 9, 2023 · 3 comments
Assignees
Milestone

Comments

@awgreene
Copy link
Member

awgreene commented May 9, 2023

We want to be able to perform deppy resolution off cluster. The Deppy library leaves it to users to define the EntitySource/VariableSources, so it wouldn't make sense to couple the CLI with the Deppy library. Instead, this ticket proposes that we create a new library that:

  • Handles the implementation details of OLM V1's EntitySource/VariableSource implementation.
  • Defines an input API that is OLM V1 specific:
    -- FBC Content
    -- Operator CR Constraints
    -- Cluster Properties
  • Introduces a CLI that allows off cluster resolution

A stretch goal could be to provide a KUBECONFIG and generate a file that can be used as an input API to the CLI.

@m1kola
Copy link
Member

m1kola commented Jun 20, 2023

We have a proof of concept in this PR: #246

The next steps here:

  • Add a message into the CLI tool saying something along the lines: "This is the proof of concept of off-cluster resolution and will likely change. We are gathering community feedback here: [link to GitHub discussion]"
  • Get it reviewed and merged
  • Gather more feedback from the community using this GitHub discussion - Off Cluster CLI Tools #262
  • Plan next iterations based on feedback

Also there are a few things going in parallel. For example, we will likely change significantly how we build resolution problems (see operator-framework/deppy#96 and relevant RFC). Once we have more or less stable way to build the resolution problem - we will be able to create some sort of library to share between operator-controller and resolution CLI.

@m1kola
Copy link
Member

m1kola commented Jul 19, 2023

#246 got merged. We have PoC CLI which is:

  • Capable of resolving off-cluster (doesn't require a cluster at all)
  • Takes package name, channel (optional) and version (optional) as input for resulution
  • It also take either a local directory with FBC or an image ref with FBC catalog (just one for now)
  • Optionally it also takes a directory with yaml manifests. If manifests contain Operator objects, they will be used as input into the solver (list of required packages - similar to Operator objects installed in the cluster when running on-cluster resoltion).

Next steps:

Also there are a few things going in parallel. For example, we will likely change significantly how we build resolution problems (see operator-framework/deppy#96 and relevant RFC). Once we have more or less stable way to build the resolution problem - we will be able to create some sort of library to share between operator-controller and resolution CLI.

This is still valid.

@m1kola
Copy link
Member

m1kola commented Aug 8, 2023

Created a new issue for next steps: #327

@m1kola m1kola closed this as completed Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants