Git Product home page Git Product logo

Comments (10)

schlapzz avatar schlapzz commented on August 14, 2024 3

Any news for this issue?
Without this feature it is sometimes impossible to use this tool.
The MR #15 seems like a good beginning...

from kubectl-tree.

ahmetb avatar ahmetb commented on August 14, 2024 1

Sure thing. You can probably redact PII like namespaces, object names, and maybe even API names etc.

The -v 5 logs have enough information to understand how much time is spent while querying an api group. That should be a good place to start.

I also suspect two other things: Something wrong with pagination logic (we can increase page size if it has a lot of objects) and client-side rate limit/burst (both set to 1000 qps right now).

from kubectl-tree.

ahmetb avatar ahmetb commented on August 14, 2024

In additional, there’s another kind of failure: When some API groups don’t respond with success (for reasons other than authorization).

We may lump these behaviors all into this one flag so that we don’t distinguish between failure modes.

Also we currently query all objects in all namespaces for child objects. In a secure env, a developer won’t have access to all namespaces.

So when we print warnings for inaccessible resources, would we print them per namespace (which can be hundreds of lines per mamespace), or would we just say “Some objects could not be queried and may be excluded from this result”. I am not certain.

from kubectl-tree.

princerachit avatar princerachit commented on August 14, 2024

Damn I did not read your comment and started working on a PR. Anyway it is a WIP @ahmetb

from kubectl-tree.

ahmetb avatar ahmetb commented on August 14, 2024

@princerachit I'm not as interested in code as I'm interested in designing the experience for now. :) Right now this is a design problem to me. It seems like many users will hit this, so I'm looking at solving it the cleanest way.

from kubectl-tree.

princerachit avatar princerachit commented on August 14, 2024

Sounds right @ahmetb . Another issue I can see is that it takes huge amount of time when running against an enterprise grade cluster

I0106 13:19:41.260134   50748 query.go:45] all goroutines have returned in 7m53.641176705s

from kubectl-tree.

ahmetb avatar ahmetb commented on August 14, 2024

@princerachit let's open a new issue, I'd love to see full logs and which API groups and how many namespaces etc are involved.

from kubectl-tree.

princerachit avatar princerachit commented on August 14, 2024

Maybe another design challenge is to include/exclude only a set of resources. As a user it does not make sense to iterate over non - useful resources like snapshots/monitoring/...

from kubectl-tree.

princerachit avatar princerachit commented on August 14, 2024

@ahmetb Let me talk to my employer. I am not sure if I am allowed to share the logs. But will open an issue.

from kubectl-tree.

wmuizelaar avatar wmuizelaar commented on August 14, 2024

Some objects could not be queried and may be excluded from this result”

What about the default behavior will just print this, and if you want more verbosity, you increase the loglevel, and then get a list of all objects that couldn't be fetched? I would love to use this tool within our company, and propagate it's use, but due to these restrictions it's currently not feasible.

(We, for example, don't have permission to list k8s secrets, because the list verb not only shows the metadata, but gives you actually permissions to view the content of it as well)

from kubectl-tree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.