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.


Select all resources in the namespace of the specified resource types
-c, --containers="*"
The names of containers in the selected pod templates to change - may use wildcards
-e, --env=[]
Specify key value pairs of environment variables 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 enviroment variables
Display the environment and any changes in the standard format
-o, --output=""
Display the changed objects instead of updating them. One of: json|yaml.
Output the changed objects with the given version (default api-version).
If true, allow environment to be overwritten, otherwise reject updates that overwrite existing environment.
Prefix to append to variable names
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

Options Inherited from Parent Commands

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

Username to impersonate for the operation.

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 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 Openshift June 2016