oc-set-env man page

oc set env — Update environment variables on a pod template


oc set env [Options]


Update environment variables on a pod template or a build config

List environment variable definitions in one or more pods, pod templates or build configuration. Add, update, or remove container environment variable definitions in one or more pod templates (within replication controllers or deployment configurations) or build configurations. View or modify the environment variable definitions on all containers in the specified pods or pod templates, or just those that match a wildcard.

If "--env -" is passed, environment variables can be read from STDIN using the standard env syntax.



If true, select all resources in the namespace of the specified resource types


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.

-c, --containers="*"

The names of containers in the selected pod templates to change - may use wildcards


If true, only print the object that would be sent, without sending it.

-e, --env=[]

Specify a key-value pair for an environment variable to set into each container.

-f, --filename=[]

Filename, directory, or URL to file to use to edit the resource.


The name of a resource from which to inject environment variables


If true, display the environment and any changes in the standard format


If true, set image will NOT contact api-server but run locally.


When using the default or custom-column output format, don't print headers (default print headers).

-o, --output=""

Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [ ⟨http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns⟩], golang template [ ⟨http://golang.org/pkg/text/template/#pkg-overview⟩] and jsonpath template [ ⟨http://kubernetes.io/docs/user-guide/jsonpath⟩].


If true, allow environment to be overwritten, otherwise reject updates that overwrite existing environment.


Prefix to append to variable names


If true, show secret or configmap references when listing variables


If non-empty, the labels update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource.

-l, --selector=""

Selector (label query) to filter on

-a, --show-all=true

When printing, show all resources (false means hide terminated pods.)


When printing, show all labels as the last column (default hide labels column)


If non-empty, sort list types using this field specification.  The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.


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


DEPRECATED: The API version to use when talking to the server


Username to impersonate for the operation


Path to the file container Azure container registry configuration information.


Path to a cert. file for the certificate authority


Path to a client certificate file for TLS


Path to a client key file for TLS


The name of the kubeconfig cluster to use


Path to the config file to use for CLI requests.


The name of the kubeconfig context to use


The Google Cloud Platform Service Account JSON Key to use for authentication.


If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure


Maximum number of seconds between log flushes


Require server version to match client version

-n, --namespace=""

If present, the namespace scope for this CLI request


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.


The address and port of the Kubernetes API server


Bearer token for authentication to the API server


The name of the kubeconfig user to use


  # Update deployment 'registry' with a new environment variable
  oc set env dc/registry STORAGE_DIR=/local
  # List the environment variables defined on a build config 'sample-build'
  oc set env bc/sample-build --list
  # List the environment variables defined on all pods
  oc set env pods --all --list
  # Output modified build config in YAML, and does not alter the object on the server
  oc set env bc/sample-build STORAGE_DIR=/data -o yaml
  # Update all containers in all replication controllers in the project to have ENV=prod
  oc set env rc --all ENV=prod
  # Import environment from a secret
  oc set env --from=secret/mysecret dc/myapp
  # Import environment from a config map with a prefix
  oc set env --from=configmap/myconfigmap --prefix=MYSQL_ dc/myapp
  # Remove the environment variable ENV from container 'c1' in all deployment configs
  oc set env dc --all --containers="c1" ENV-
  # Remove the environment variable ENV from a deployment config definition on disk and
  # update the deployment config on the server
  oc set env -f dc.json ENV-
  # Set some of the local shell environment into a deployment config on the server
  env | grep RAILS_ | oc set env -e - dc/registry

See Also



June 2016, Ported from the Kubernetes man-doc generator

Referenced By


Openshift CLI User Manuals June 2016