OC-SET-IMAGE(1)

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

✨ OC SET IMAGE(1) ✨

okay so bestie, this is the oc set image page from the OpenShift CLI user manual and honestly? it's giving "quiet little command that does exactly one thing really well" πŸ’…


🌸 NAME 🌸

oc set image β€” update the image of a pod template. that's it. that's the whole vibe. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

oc set image [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

Update existing container image(s) of resources. lowkey simple, highkey powerful β€” you point it at a resource, you tell it which container gets which image, and it just does that ✨


πŸ‘‘ OPTIONS πŸ‘‘

  • --all=false β€” select all resources, but only within the namespace of the resource types you named. no cap, it stays in its lane 🫢
  • --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 to golang and jsonpath output formats, iykyk.
  • --dry-run="none" β€” must be "none", "server", or "client". if it's the client strategy, it only prints the object that would be sent, without sending it. if it's the server strategy, it submits a server-side request without persisting the resource. a little peek, no commitment 😌
  • --field-manager="kubectl-set" β€” name of the manager used to track field ownership. yes it's kubectl-set, that's not a typo, that's the default, leave it alone πŸ’€
  • -f, --filename=[] β€” filename, directory, or URL to files identifying the resource to get from a server.
  • -k, --kustomize="" β€” process the kustomization directory. heads up: this flag can't be used together with -f or -R. pick a lane bestie 🌈
  • --local=false β€” if true, set image will NOT contact api-server but run locally. offline era πŸ’…
  • -o, --output="" β€” output format. one of: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file). so many choices, all iconic.
  • -R, --recursive=false β€” process the directory used in -f, --filename recursively. useful when you want to manage related manifests organized within the same directory. it goes deep 🧚
  • -l, --selector="" β€” selector (label query) to filter on, supports =, ==, !=, in, notin.(e.g. -l key1=value1,key2=value2,key3 in (value3)). matching objects must satisfy all of the specified label constraints. yes, all of them. no halfies.
  • --show-managed-fields=false β€” if true, keep the managedFields when printing objects in JSON or YAML format.
  • --source="docker" β€” the image source type; valid types are 'imagestreamtag', 'istag', 'imagestreamimage', 'isimage', and 'docker'. (shoutout to docker for being the default πŸ’œ)
  • --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⟩ ].

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

these are the ones you didn't ask for but got anyway, like a group chat you never left 🫢

  • --as="" β€” username to impersonate for the operation. user could be a regular user or a service account in a namespace. main character energy, but someone else's πŸ’…
  • --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. (yes, /homeless-shelter, don't ask 😭)
  • --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. like, actually insecure, be so fr πŸ”₯
  • --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.
  • --match-server-version=false β€” require server version to match client version
  • -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)
  • --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. zero = forever bestie ⭐
  • -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

🌈 EXAMPLE 🌈

the moment you've all been waiting for πŸ“

# Set a deployment config's nginx container image to 'nginx:1.9.1', and its busybox container image to 'busybox'.
oc set image dc/nginx busybox=busybox nginx=nginx:1.9.1

# Set a deployment config's app container image to the image referenced by the imagestream tag 'openshift/ruby:2.3'.
oc set image dc/myapp app=openshift/ruby:2.3 --source=imagestreamtag

# Update all deployments' and rc's nginx container's image to 'nginx:1.9.1'
oc set image deployments,rc nginx=nginx:1.9.1 --all

# Update image of all containers of daemonset abc to 'nginx:1.9.1'
oc set image daemonset abc *=nginx:1.9.1

# Print result (in YAML format) of updating nginx container image from local file, without hitting the server
oc set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
ngl that *= in the daemonset example? it means all containers. obsessed. πŸ”₯

πŸ’€ SEE ALSO πŸ’€


🌸 HISTORY 🌸

June 2016, Ported from the Kubernetes man-doc generator. so vintage. so retro. a true elder of the CLI world πŸ‘‘


and that's the whole page bestie 🫢 this was Openshift CLI User Manuals, wearing an Openshift badge, dated June 2016 πŸ’œ go forth and set some images, slay βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from