oc-new-app - Man Page
Create a new application
Synopsis
oc new-app [Options]
Description
Create a new application by specifying source code, templates, and/or images
This command will try to build up the components of an application using images, templates, or code that has a public repository. It will lookup the images on the local Docker installation (if available), a Docker registry, an integrated image stream, or stored templates.
If you specify a source code URL, it will set up a build that takes your source code and converts it into an image that can run inside of a pod. Local source must be in a git repository that has a remote repository that the server can see. The images will be deployed via a deployment configuration, and a service will be connected to the first public port of the app. You may either specify components using the various existing flags or let new-app autodetect what kind of components you have provided.
If you provide source code, a new build will be automatically triggered. You can use 'oc status' to check the progress.
Options
- --allow-missing-images=false
If true, indicates that referenced Docker images that cannot be found locally or in a registry should still be used.
- --allow-missing-imagestream-tags=false
If true, indicates that image stream tags that don't exist should still be used.
- --allow-missing-template-keys=false
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.
- --as-test=false
If true create this application as a test deployment, which validates that the deployment succeeds and then scales down.
- --build-env=[]
Specify a key-value pair for an environment variable to set into each build image.
- --build-env-file=[]
File containing key-value pairs of environment variables to set into each build image.
- --code=[]
Source code to use to build this application.
- --context-dir=""
Context directory to be used for the build.
- --docker-image=[]
Name of a Docker image to include in the app.
- --dry-run=false
If true, show the result of the operation without performing it.
- -e, --env=[]
Specify a key-value pair for an environment variable to set into each container.
- --env-file=[]
File containing key-value pairs of environment variables to set into each container.
- -f, --file=[]
Path to a template file to use for the app.
- --grant-install-rights=false
If true, a component that requires access to your account may use your token to install software into your project. Only grant images you trust the right to run with your token.
- --group=[]
Indicate components that should be grouped together as <comp1>+<comp2>.
- --ignore-unknown-parameters=false
If true, will not stop processing if a provided parameter does not exist in the template.
- -i, --image-stream=[]
Name of an image stream to use in the app.
- --insecure-registry=false
If true, indicates that the referenced Docker images are on insecure registries and should bypass certificate checking
- -l, --labels=""
Label to set in all resources for this application.
- -L, --list=false
List all local templates and image streams that can be used to create.
- --name=""
Set name to use for generated application artifacts
- --no-install=false
Do not attempt to run images that describe themselves as being installable
- -o, --output=""
Output format. One of: json|yaml|name|template|go-template|go-template-file|templatefile|jsonpath-file|jsonpath.
- --output-version=""
The preferred API versions of the output objects
- -p, --param=[]
Specify a key-value pair (e.g., -p FOO=BAR) to set/override a parameter value in the template.
- --param-file=[]
File containing parameter values to set/override in the template.
- -S, --search=false
Search all templates, image streams, and Docker images that match the arguments provided.
- -a, --show-all=true
When printing, show all resources (false means hide terminated pods.)
- --show-labels=false
When printing, show all labels as the last column (default hide labels column)
- --sort-by=""
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.
- --source-secret=""
The name of an existing secret that should be used for cloning a private git repository.
- --strategy=
Specify the build strategy to use if you don't want to detect (docker|pipeline|source).
- --template=[]
Name of a stored template to use in the app.
Options Inherited from Parent Commands
- --allow_verification_with_non_compliant_keys=false
Allow a SignatureVerifier to use keys which are technically non-compliant with RFC6962.
- --alsologtostderr=false
log to standard error as well as files
- --application_metrics_count_limit=100
Max number of application metrics to store (per container)
- --as=""
Username to impersonate for the operation
- --as-group=[]
Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
- --azure-container-registry-config=""
Path to the file containing Azure container registry configuration information.
- --boot_id_file="/proc/sys/kernel/random/boot_id"
Comma-separated list of files to check for boot-id. Use the first one that exists.
- --cache-dir="/builddir/.kube/http-cache"
Default HTTP cache directory
- --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
- --cloud-provider-gce-lb-src-cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
CIDRs opened in GCE firewall for LB traffic proxy health checks
- --cluster=""
The name of the kubeconfig cluster to use
- --container_hints="/etc/cadvisor/container_hints.json"
location of the container hints file
- --containerd="unix:///var/run/containerd.sock"
containerd endpoint
- --context=""
The name of the kubeconfig context to use
- --default-not-ready-toleration-seconds=300
Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration.
- --default-unreachable-toleration-seconds=300
Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration.
- --docker="unix:///var/run/docker.sock"
docker endpoint
- --docker-tls=false
use TLS to connect to docker
- --docker-tls-ca="ca.pem"
path to trusted CA
- --docker-tls-cert="cert.pem"
path to client certificate
- --docker-tls-key="key.pem"
path to private key
- --docker_env_metadata_whitelist=""
a comma-separated list of environment variable keys that needs to be collected for docker containers
- --docker_only=false
Only report docker containers in addition to root stats
- --docker_root="/var/lib/docker"
DEPRECATED: docker root is read from docker info (this is a fallback, default: /var/lib/docker)
- --enable_load_reader=false
Whether to enable cpu load reader
- --event_storage_age_limit="default=24h"
Max length of time for which to store events (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is a duration. Default is applied to all non-specified event types
- --event_storage_event_limit="default=100000"
Max number of events to store (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is an integer. Default is applied to all non-specified event types
- --global_housekeeping_interval=0
Interval between global housekeepings
- --housekeeping_interval=0
Interval between container housekeepings
- --insecure-skip-tls-verify=false
If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
- --kubeconfig=""
Path to the kubeconfig file to use for CLI requests.
- --log-flush-frequency=0
Maximum number of seconds between log flushes
- --log_backtrace_at=:0
when logging hits line file:N, emit a stack trace
- --log_cadvisor_usage=false
Whether to log the usage of the cAdvisor container
- --log_dir=""
If non-empty, write log files in this directory
- --logtostderr=true
log to standard error instead of files
- --machine_id_file="/etc/machine-id,/var/lib/dbus/machine-id"
Comma-separated list of files to check for machine-id. Use the first one that exists.
- --match-server-version=false
Require server version to match client version
- -n, --namespace=""
If present, the namespace scope for this CLI request
- --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.
- -s, --server=""
The address and port of the Kubernetes API server
- --stderrthreshold=2
logs at or above this threshold go to stderr
- --storage_driver_buffer_duration=0
Writes in the storage driver will be buffered for this duration, and committed to the non memory backends as a single transaction
- --storage_driver_db="cadvisor"
database name
- --storage_driver_host="localhost:8086"
database host:port
- --storage_driver_password="root"
database password
- --storage_driver_secure=false
use secure connection with database
- --storage_driver_table="stats"
table name
- --storage_driver_user="root"
database username
- --token=""
Bearer token for authentication to the API server
- --user=""
The name of the kubeconfig user to use
- -v, --v=0
log level for V logs
- --version=false
Print version information and quit
- --vmodule=
comma-separated list of pattern=N settings for file-filtered logging
Example
# List all local templates and image streams that can be used to create an app oc new-app --list # Create an application based on the source code in the current git repository (with a public remote) # and a Docker image oc new-app . --docker-image=repo/langimage # Create a Ruby application based on the provided [image] [source code] combination oc new-app centos/ruby-25-centos7 https://github.com/sclorg/ruby-ex.git # Use the public Docker Hub MySQL image to create an app. Generated artifacts will be labeled with db=mysql oc new-app mysql MYSQL_USER=user MYSQL_PASSWORD=pass MYSQL_DATABASE=testdb -l db=mysql # Use a MySQL image in a private registry to create an app and override application artifacts' names oc new-app --docker-image=myregistry.com/mycompany/mysql --name=private # Create an application from a remote repository using its beta4 branch oc new-app https://github.com/openshift/ruby-hello-world#beta4 # Create an application based on a stored template, explicitly setting a parameter value oc new-app --template=ruby-helloworld-sample --param=MYSQL_USER=admin # Create an application from a remote repository and specify a context directory oc new-app https://github.com/youruser/yourgitrepo --context-dir=src/build # Create an application from a remote private repository and specify which existing secret to use oc new-app https://github.com/youruser/yourgitrepo --source-secret=yoursecret # Create an application based on a template file, explicitly setting a parameter value oc new-app --file=./example/myapp/template.json --param=MYSQL_USER=admin # Search all templates, image streams, and Docker images for the ones that match "ruby" oc new-app --search ruby # Search for "ruby", but only in stored templates (--template, --image-stream and --docker-image # can be used to filter search results) oc new-app --search --template=ruby # Search for "ruby" in stored templates and print the output as an YAML oc new-app --search --template=ruby --output=yaml
See Also
History
June 2016, Ported from the Kubernetes man-doc generator