OC-POLICY-SCC-SUBJECT-REVIEW(1)

πŸ“¦
version 4.22.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… OC-POLICY-SCC-SUBJECT-REVIEW πŸ’…

okay bestie, so you know how oc policy has a million subcommands and you're like "which one do I even need"? This is that one. It's the one that answers the question every developer asks before deploying: "wait, will this pod even, like, exist?" ✨

The manual name is oc policy scc-subject-review, and fr fr it's the vibe check for your security context constraints.


✨ SYNOPSIS ✨

oc policy scc-subject-review [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so here's the tea: this command checks whether a user, a service account, or a group can create a pod. It hands you back a list of security context constraints that will actually admit the resource β€” like, "who's gonna let this pod through the velvet rope" energy. πŸŽ€

And the rules are a lil specific, so pay attention:

  • If you specify a user but not groups, it's interpreted as "what if the user is not a member of any groups" β€” like they're a lone wolf, no squad, no group chat. 🐺
  • If user and groups are both empty, then the check is performed using the current user β€” so basically "what about me, the main character?" πŸ‘‘

πŸ”₯ OPTIONS πŸ”₯

  • --allow-missing-template-keys=true β€” If this is true, then any errors in templates when a field or map key is missing just get ignored. The audacity, honestly. πŸ’… Important: only applies to golang and jsonpath output formats.
  • -f, --filename=[] β€” Filename, directory, or URL to files. Filename, directory, or URL to a file identifying the resource to get from a server. (Yes, it says it twice in the original, and yes we're keeping it because that's the lore. 😭)
  • -g, --groups=[] β€” Comma separated list of groups. Review will be performed on behalf of these groups. Your squad's collective vibe check. πŸ‘―β€β™€οΈ
  • -k, --kustomize="" β€” Process the kustomization directory. Warning bestie: this flag can't be used together with -f or -R. It's giving exclusive. 🚫
  • --no-headers=false β€” When using the default output format, don't print headers. Default is false, which means headers are printed. So if you want the clean aesthetic, flip it. ✨
  • -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 fighter. πŸ₯Š
  • -R, --recursive=false β€” Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. The "do it all" option. 🌈
  • -z, --serviceaccount="" β€” service account in the current namespace to use as a user. Because sometimes the protagonist is a robot. πŸ€–
  • --show-managed-fields=false β€” If true, keep the managedFields when printing objects in JSON or YAML format. For the detail-obsessed girlies. πŸ”
  • --template="" β€” Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates β€” and here's the link: ⟨http://golang.org/pkg/text/template/#pkg-overview⟩. Go off, king. πŸ‘‘
  • -u, --user="" β€” Review will be performed on behalf of this user. Like, "review it as if I were them." The impersonation fantasy. πŸ’­

πŸŽ€ OPTIONS INHERITED FROM PARENT COMMANDS πŸŽ€

These are the hand-me-downs from the parent command β€” still iconic, still necessary.

  • --as="" β€” Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
  • --as-group=[] β€” Group to impersonate for the operation. This flag can be repeated to specify multiple groups. πŸ”
  • --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. That path is... a choice. πŸ™ˆ
  • --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. ⚠️ Heads up: this will make your HTTPS connections insecure. Be careful out there, bestie. πŸ”“
  • --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 exporting KUBECTL_KUBERC=false feature gate or turning off the feature KUBERC=off. Feature flag realness. 🚩
  • --match-server-version=false β€” Require server version to match client version. No mismatched energy allowed. 🚫
  • -n, --namespace="" β€” If present, the namespace scope for this CLI request. Your little corner of the cluster. 🏠
  • --profile="none" β€” Name of profile to capture. One of (none|cpu|heap|goroutine|threadcreate|block|mutex). Pick your profiling poison. πŸ§ͺ
  • --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. Pro tip: non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. So 0 = infinite patience. 😀
  • -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.
  • --warnings-as-errors=false β€” Treat warnings received from the server as errors and exit with a non-zero exit code. Harsh but fair. πŸ’€

🌸 EXAMPLE 🌸

Here's where it gets good β€” actual examples, so you can see the lore in action:

# Check whether user bob can create a pod specified in myresource.yaml
oc policy scc-subject-review -u bob -f myresource.yaml
# Check whether user bob who belongs to projectAdmin group can create a pod specified in myresource.yaml
oc policy scc-subject-review -u bob -g projectAdmin -f myresource.yaml
# Check whether a service account specified in the pod template spec in myresourcewithsa.yaml can create the pod
oc policy scc-subject-review -f myresourcewithsa.yaml

See? Bob stays booked and busy. πŸ’–


πŸ‘€ SEE ALSO πŸ‘€

(yes, that's the whole list β€” sometimes less is more, iykyk)


⭐ HISTORY ⭐

June 2016 β€” Ported from the Kubernetes man-doc generator. A classic. Vintage, even. πŸ“


and that's the whole page, bestie! 🫢

this little masterpiece was brought to you by Openshift β€” Openshift CLI User Manuals β€” dated June 2016. go forth and vibe check those security context constraints. πŸ’œβœ¨

πŸ“¦ where this page comes from