OC-ADM-POLICY-ADD-CLUSTER-ROLE-TO-GROUP(1)
β¨ oc adm policy add-cluster-role-to-group β¨
okay bestie, so this is a page from the OpenShift CLI User Manuals (the oc adm policy command fam). it's giving cluster-admin energy, and we're about to make it make sense π
π NAME π
oc adm policy add-cluster-role-to-group β add a role to groups for all projects in the cluster, no cap π
πΈ SYNOPSIS πΈ
oc adm policy add-cluster-role-to-group [OPTIONS]
π DESCRIPTION π
so here's the tea: this command adds a role to groups for the project. literally what it says on the tin, bestie.
what it actually does is create or modify a cluster role binding with the named cluster role by adding the named group(s) to the list of subjects. and the wild part? the command does not require the matching role or group resources to actually exist β it will create the binding successfully even when the role or group don't exist, or even when the user doesn't have access to view them. it's giving main character energy that doesn't ask permission ππ₯
if you pass the --rolebinding-name argument, it will look for an existing cluster role binding with that name. important vibes only: the role on the matching cluster role binding MUST match the role name you supplied to the command. no faking it bestie, the role names gotta match fr fr. if no rolebinding name is given, a default name will be used. periodt.
π OPTIONS π
--allow-missing-template-keys=trueβ if true, ignore any errors in templates when a field or map key is missing in the template. only applies togolangandjsonpathoutput formats. (so your template can ghost a missing key and it's fine π«Ά)--dry-run="none"β must be"none","server", or"client". if client strategy, only print the object that would be sent, without sending it (just window shopping β¨). if server strategy, submit server-side request without persisting the resource (the server sees it but doesn't keep it, sneaky π).-o,--output=""β output format. one of: (json,yaml,kyaml,name,go-template,go-template-file,template,templatefile,jsonpath,jsonpath-as-json,jsonpath-file). pick your fave aesthetic π--rolebinding-name=""β name of the rolebinding to modify or create. if left empty, creates a new rolebinding with a default name. (nameless king energy π)--show-managed-fields=falseβ if true, keep themanagedFieldswhen printing objects in JSON or YAML format. (keep the receipts, bestie π§Ύ)--template=""β template string or path to template file to use when-o=go-template,-o=go-template-file. the template format is golang templates [β¨http://golang.org/pkg/text/template/#pkg-overviewβ©]. go off with your custom templates π
π¦ OPTIONS INHERITED FROM PARENT COMMANDS π¦
these are the flags you get from the parent command, and honestly? iconic inheritance π
--as=""β username to impersonate for the operation. user could be a regular user or a service account in a namespace. (cosplay, but make it auth π)--as-group=[]β group to impersonate for the operation. this flag can be repeated to specify multiple groups. stacking groups like friendship bracelets π«Ά--as-uid=""β UID to impersonate for the operation.--as-user-extra=[]β user extras to impersonate for the operation. this flag can be repeated to specify multiple values for the same key.--cache-dir="/homeless-shelter/.kube/cache"β default cache directory. (yes that path is real, don't @ me π)--certificate-authority=""β path to a cert file for the certificate authority.--client-certificate=""β path to a client certificate file for TLS.--client-key=""β path to a client key file for TLS.--cluster=""β the name of the kubeconfig cluster to use.--context=""β the name of the kubeconfig context to use.--disable-compression=falseβ if true, opt-out of response compression for all requests to the server.--insecure-skip-tls-verify=falseβ if true, the server's certificate will not be checked for validity. this will make your HTTPS connections insecure β so like, be careful bestie, this is the red flag emoji π© situation.--kubeconfig=""β path to the kubeconfig file to use for CLI requests.--kuberc=""β path to the kuberc file to use for preferences. this can be disabled by exportingKUBECTL_KUBERC=falsefeature gate or turning off the featureKUBERC=off.--match-server-version=falseβ require server version to match client version. (paranoia but make it valid β¨)-n,--namespace=""β if present, the namespace scope for this CLI request.--profile="none"β name of profile to capture. one of (none|cpu|heap|goroutine|threadcreate|block|mutex). (performance profiling, fancy π )--profile-output="profile.pprof"β name of the file to write the profile to.--request-timeout="0"β the length of time to wait before giving up on a single server request. non-zero values should contain a corresponding time unit (e.g.1s,2m,3h). a value of zero means don't timeout requests. (eternal patience or chaos, your choice π)-s,--server=""β the address and port of the Kubernetes API server.--tls-server-name=""β server name to use for server certificate validation. if it is not provided, the hostname used to contact the server is used.--token=""β bearer token for authentication to the API server.--user=""β the name of the kubeconfig user to use.--warnings-as-errors=falseβ treat warnings received from the server as errors and exit with a non-zero exit code. (no chill mode: activated π)
π₯ EXAMPLE π₯
# Add the 'cluster-admin' cluster role to the 'cluster-admins' group
oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
see? simple. iconic. done. go make that group a cluster-admin bestie π
π SEE ALSO π
π HISTORY π
June 2016, ported from the Kubernetes man-doc generator. vintage but still slaying β¨
okay that's the whole page bestie. now go forth and bind those cluster roles responsibly. mwah π
β written with love, OpenShift CLI User Manuals energy, and a June 2016 timestamp that's honestly lowkey nostalgic π
π¦ where this page comes from
- nixpkgs unstable: openshift 4.22.0-202605222050
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms