OC-ADM-RELEASE-NEW(1)

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

πŸ’– OC ADM RELEASE(1) πŸ’–

okay so bestie, you found the OpenShift CLI User Manuals page for oc adm release new, dated June 2016. This is the release-building main character moment. Let’s go. πŸ’…βœ¨


🌸 NAME 🌸

oc adm release new β€” create a new OpenShift release. Literally what it says on the tin, no cap. πŸ‘‘

πŸ¦‹ SYNOPSIS πŸ¦‹

oc adm release new [OPTIONS]

✨ DESCRIPTION ✨

So this command builds a brand-new OpenShift release image that will update a cluster. Iconic behavior. πŸ’–

OpenShift uses long-running active management processes called β€œoperators” to keep the cluster running and manage component lifecycle. This command composes a set of images with operator definitions into a single update payload that can be used to install or update a cluster.

Operators are expected to host the config they need to be installed to a cluster in the /manifests directory in their image. This command iterates over a set of operator images and extracts those manifests into a single, ordered list of Kubernetes objects that can then be iteratively updated on a cluster by the cluster version operator when it is time to perform an update. Manifest files are renamed to 0000 70<image_name><filename> by default, and an operator author that needs to provide a global-ordered file (before or after other operators) should prepend 0000 NN<component> to their file name, which instructs the release builder to not assign a component prefix. Only images in the input that have the image label io.openshift.release.operator=true will have manifests loaded.

If an image is in the input but is not referenced by an operator’s image-references file, the image will not be included in the final release image unless --include=NAME is provided.

Mappings specified via SRC=DST positional arguments allows overriding particular operators with a specific image. For example:

cluster-version-operator=registry.example.com/openshift/cluster-version-operator:test-123

will override the default cluster-version-operator image with one pulled from registry.example.com.

πŸ’… OPTIONS πŸ’…

  • --allow-missing-images=false β€” ignore errors when an operator references a release image that is not included.
  • --certificate-authority="" β€” the path to a certificate authority bundle to use when communicating with the managed container image registries. If --insecure is used, this flag will be ignored.
  • --component-versions="" β€” supply additional version strings to the release in key=value[,key=value] form.
  • --component-versions-display-names="" β€” supply additional version display names to the release in key=value[,key=value] form.
  • --dir="" β€” directory to write release contents to; will default to a temporary directory.
  • --dry-run=false β€” skips changes to external registries via mirroring or pushing images.
  • --exclude=[] β€” a list of image names or tags to exclude. It is applied after all inputs. Comma separated or individual arguments.
  • --from-dir="" β€” use this directory as the source for the release payload.
  • --from-image-stream="" β€” look at all tags in the provided image stream and build a release payload from them.
  • -f, --from-image-stream-file="" β€” take the provided image stream on disk and build a release payload from it.
  • --from-release="" β€” use an existing release image as input.
  • --include=[] β€” a list of image tags that should not be pruned. Excluding a tag takes precedence. Comma separated or individual arguments.
  • --insecure=false β€” allow push and pull operations to registries to be made over HTTP.
  • --keep-manifest-list=false β€” if an image is part of a manifest list, always mirror the list even if only one image is found.
  • --mapping-file=[] β€” a file defining a mapping of input images to use to build the release.
  • --max-per-registry=4 β€” number of concurrent requests allowed per registry.
  • --metadata="" β€” a JSON object to attach as the metadata for the release manifest.
  • --mirror="" β€” mirror the contents of the release to this repository.
  • --name="" β€” the name of the release. Will default to the current time.
  • --next=[] β€” a list of semantic versions that should succeed this version in the release manifest. Using --next can potentially cause regressions given the release does not exist. Use with caution.
⚠️ bestie, that --next caveat is real: using --next can potentially cause regressions given the release does not exist. Use with caution. 😭
  • -o, --output="" β€” output the mapping definition in this format.
  • --previous=[] β€” a list of semantic versions that should precede this version in the release manifest.
  • --reference-mode="" β€” by default, the image reference from an image stream points to the public registry for the stream and the image digest. Pass source to build references to the originating image.
  • -a, --registry-config="" β€” path to your registry credentials. Alternatively REGISTRY_AUTH_FILE env variable can be also specified. Defaults to ${XDG_RUNTIME_DIR}/containers/auth.json, /run/containers/${UID}/auth.json, ${XDG_CONFIG_HOME}/containers/auth.json, ${DOCKER_CONFIG}, /.docker/config.json, /.dockercfg. The order can be changed via the REGISTRY_AUTH_PREFERENCE env variable (deprecated) to a "docker" value; that prioritizes Docker credentials over Podman’s.
  • --release-manifest=false β€” if true, a release manifest will be created using --name as the semantic version.
  • --skip-manifest-check=false β€” ignore errors when an operator includes a yaml/yml/json file that is not parseable.
  • --skip-verification=false β€” skip verifying the integrity of the retrieved content. This is not recommended, but may be necessary when importing images from older image registries. Only bypass verification if the registry is known to be trustworthy.
🚨 no cap: only bypass verification if the registry is known to be trustworthy. That is not a casual vibe-check situation. πŸ’€
  • --to-dir="" β€” output the release manifests to a directory instead of creating an image.
  • --to-file="" β€” output the release to a tar file instead of creating an image.
  • --to-image="" β€” the location to upload the release image to.
  • --to-image-base="" β€” if specified, the image to add the release layer on top of.
  • --to-image-base-tag="cluster-version-operator" β€” if specified, the image tag in the input to add the release layer on top of. Defaults to cluster-version-operator.
  • --to-signature="" β€” if specified, output a message that can be signed that describes this release. Requires --to-image.

🫢 OPTIONS INHERITED FROM PARENT COMMANDS 🫢

  • --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.
  • --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.
πŸ™ˆ this one is giving β€œsecurity is optional” and that is exactly what it says: the server’s certificate will not be checked for validity. Your HTTPS connections will be insecure. Do with that what you will, 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.
  • --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.
  • -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 πŸ”₯

okay these are the exact examples, keep them safe in your notes app bestie:

# Create a release from the latest origin images and push to a DockerHub repository
oc adm release new --from-image-stream=4.11 -n origin --to-image docker.io/mycompany/myrepo:latest

# Create a new release with updated metadata from a previous release
oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11 --name 4.11.1 \
--previous 4.11.0 --metadata ... --to-image docker.io/mycompany/myrepo:latest

# Create a new release and override a single image
oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11 \
cli=docker.io/mycompany/cli:latest --to-image docker.io/mycompany/myrepo:latest

# Run a verification pass to ensure the release can be reproduced
oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11

🌈 SEE ALSO 🌈

peep this sibling page too: oc-adm-release(1),

πŸŽ€ HISTORY πŸŽ€

June 2016, Ported from the Kubernetes man-doc generator


πŸ’– cute little sign-off before you go: source/version is Openshift, the manual is Openshift CLI User Manuals, the date is June 2016, and this page is OC ADM RELEASE(1). slay, you’re all caught up. 🫢✨

πŸ“¦ where this page comes from