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

Move shared code to knative/client-pkg #1591

Open
Tracked by #1582
rhuss opened this issue Jan 27, 2022 · 5 comments
Open
Tracked by #1582

Move shared code to knative/client-pkg #1591

rhuss opened this issue Jan 27, 2022 · 5 comments
Labels
kind/refactor Code refactor needed triage/accepted Issues which should be fixed (post-triage)
Milestone

Comments

@rhuss
Copy link
Contributor

rhuss commented Jan 27, 2022

Since we have now knative/client-pkg for holding shared client code that can be used by kn but also plugins, we should move the client API to this repository (and while doing so, thinking about cleaning it up)

@rhuss rhuss added the kind/refactor Code refactor needed label Jan 27, 2022
@rhuss rhuss moved this to Backlog in Client Planning Jan 27, 2022
@rhuss rhuss mentioned this issue Jan 27, 2022
4 tasks
@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 28, 2022
@rhuss
Copy link
Contributor Author

rhuss commented Apr 28, 2022

/remove-lifecycle stale

@knative-prow knative-prow bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 28, 2022
@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 28, 2022
@rhuss
Copy link
Contributor Author

rhuss commented Jul 28, 2022

/remove-lifecycle stale

@knative-prow knative-prow bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 28, 2022
@rhuss rhuss added the triage/accepted Issues which should be fixed (post-triage) label Aug 16, 2022
@cardil
Copy link
Contributor

cardil commented Sep 13, 2022

We discussed this with @dsimansk on today's WG meeting. There are some areas which are even broader in scope than client, and are related to command line apps in general, like:

  1. Cobra integration and testing (see example PR 🗑️ Migrate to wavesoftware/commandline package knative-extensions/kn-plugin-event#205)
  2. Logging - verbosity, format json,yaml,human, stderr by default
  3. Regular output - format json,yaml,human, stdout by default
  4. Fatal error reporting - all debug logs despite verbosity, error with stack, all in nice file to upload

Maybe others as well. All of this are command line related, and there are other command line tools that we have apart from client and plugins: test-infra tools, hack tools. Just in last week, I've added 3 command line tools: knative/test-infra#3513, knative/test-infra#2995, knative/hack#222.

So, I think we could benefit from knative's commandline package. At the same time, adding those to client-pkg isn't helping as client has deps which simple command line tools don't need.

I had an idea to fix this. We could use Go 1.18 workspaces, and hack's support for it knative/hack#205 to create commandline package in knative.dev/pkg with its own go.mod file. Also, we could fold client-pkg into knative.dev/pkg/client Go module with own deps. The go.work would reference both - simplifying the release process considerably.

go 1.18

use (
  .
  client
  commandline
)

@vyasgun vyasgun moved this from Backlog to In Progress in Client Planning Dec 6, 2022
@dsimansk dsimansk added this to the Knative 1.10 milestone Mar 23, 2023
@dsimansk dsimansk modified the milestones: Knative 1.10 , Knative 1.12 Aug 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/refactor Code refactor needed triage/accepted Issues which should be fixed (post-triage)
Projects
Status: In Progress
Development

No branches or pull requests

3 participants