• Kubernetes Submit Queue's avatar
    Merge pull request #41077 from deads2k/cli-01-cani · a1490926
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 41814, 41922, 41957, 41406, 41077)
    
    add kubectl can-i to see if you can perform an action
    
    Adds `kubectl auth can-i <verb> <resource> [<name>]` so that a user can see if they are allowed to perform an action.
    
    @kubernetes/sig-cli-pr-reviews @fabianofranz 
    
    This particular command satisfies the immediate need of knowing if you can perform an action without trying that action.  When using RBAC in a script that is adding permissions, there is a lag between adding the permission and the permission being realized in the RBAC cache.  As a user on the CLI, you almost never see it, but as a script adding a binding and then using that new power, you hit it quite often.
    
    There are natural follow-ons to the same area (hence the `auth` subcommand) to figure out if someone else can perform an action, what actions you can perform in total, and who can perform a given action.  Someone else is an API we have already, what-can-i-do was a proposed API a while back and a very useful one for interfaces, and who-can is common question if someone is administering a namespace.
    a1490926
Name
Last commit
Last update
..
boilerplate Loading commit data...
cmd/teststale Loading commit data...
e2e-internal Loading commit data...
gen-swagger-doc Loading commit data...
jenkins Loading commit data...
lib Loading commit data...
make-rules Loading commit data...
testdata Loading commit data...
verify-flags Loading commit data...
.linted_packages Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
autogenerated_placeholder.txt Loading commit data...
benchmark-go.sh Loading commit data...
benchmark-integration.sh Loading commit data...
build-cross.sh Loading commit data...
build-go.sh Loading commit data...
build-ui.sh Loading commit data...
cherry_pick_pull.sh Loading commit data...
dev-build-and-push.sh Loading commit data...
dev-build-and-up.sh Loading commit data...
dev-push-hyperkube.sh Loading commit data...
e2e-node-test.sh Loading commit data...
e2e.go Loading commit data...
e2e_test.go Loading commit data...
federated-ginkgo-e2e.sh Loading commit data...
generate-bindata.sh Loading commit data...
generate-docs.sh Loading commit data...
get-build.sh Loading commit data...
ginkgo-e2e.sh Loading commit data...
godep-save.sh Loading commit data...
grab-profiles.sh Loading commit data...
install-etcd.sh Loading commit data...
list-feature-tests.sh Loading commit data...
local-up-cluster.sh Loading commit data...
lookup_pull.py Loading commit data...
print-workspace-status.sh Loading commit data...
run-in-gopath.sh Loading commit data...
test-cmd.sh Loading commit data...
test-go.sh Loading commit data...
test-integration.sh Loading commit data...
test-update-storage-objects.sh Loading commit data...
update-all.sh Loading commit data...
update-api-reference-docs.sh Loading commit data...
update-bazel.sh Loading commit data...
update-codecgen.sh Loading commit data...
update-codegen.sh Loading commit data...
update-federation-api-reference-docs.sh Loading commit data...
update-federation-generated-swagger-docs.sh Loading commit data...
update-federation-openapi-spec.sh Loading commit data...
update-federation-swagger-spec.sh Loading commit data...
update-generated-docs.sh Loading commit data...
update-generated-protobuf-dockerized.sh Loading commit data...
update-generated-protobuf.sh Loading commit data...
update-generated-runtime-dockerized.sh Loading commit data...
update-generated-runtime.sh Loading commit data...
update-generated-swagger-docs.sh Loading commit data...
update-godep-licenses.sh Loading commit data...
update-gofmt.sh Loading commit data...
update-openapi-spec.sh Loading commit data...
update-staging-client-go.sh Loading commit data...
update-staging-godeps.sh Loading commit data...
update-swagger-spec.sh Loading commit data...
update-translations.sh Loading commit data...
update_owners.py Loading commit data...
verify-all.sh Loading commit data...
verify-api-groups.sh Loading commit data...
verify-api-reference-docs.sh Loading commit data...
verify-bazel.sh Loading commit data...
verify-boilerplate.sh Loading commit data...
verify-cli-conventions.sh Loading commit data...
verify-codecgen.sh Loading commit data...
verify-codegen.sh Loading commit data...
verify-description.sh Loading commit data...
verify-federation-openapi-spec.sh Loading commit data...
verify-flags-underscore.py Loading commit data...
verify-generated-docs.sh Loading commit data...
verify-generated-protobuf.sh Loading commit data...
verify-generated-runtime.sh Loading commit data...
verify-generated-swagger-docs.sh Loading commit data...
verify-godep-licenses.sh Loading commit data...
verify-godeps.sh Loading commit data...
verify-gofmt.sh Loading commit data...
verify-golint.sh Loading commit data...
verify-govet.sh Loading commit data...
verify-import-boss.sh Loading commit data...
verify-linkcheck.sh Loading commit data...
verify-openapi-spec.sh Loading commit data...
verify-pkg-names.sh Loading commit data...
verify-readonly-packages.sh Loading commit data...
verify-staging-client-go.sh Loading commit data...
verify-staging-godeps.sh Loading commit data...
verify-staging-imports.sh Loading commit data...
verify-swagger-spec.sh Loading commit data...
verify-symbols.sh Loading commit data...
verify-test-images.sh Loading commit data...
verify-test-owners.sh Loading commit data...