Chapter 15. Application Backup and Restoration with Snapshots


15.1. Introduction to Snapshots

Application snapshots are used to back up and restore applications. Snapshots are stored in tar.gz files, which contain the application and all local files, including log files.

Important

Application backups and user data are not stored on OpenShift Enterprise servers. These files are only stored on the local system.
Binary Deployment File Structure

A binary deployment file is a snapshot of an application used for deployment without using Git. Each snapshot has the same top-level structure:

Copy to Clipboard Toggle word wrap
build-dependencies/
dependencies/
repo/
The contents of the repo directory are the files that make up the application source code. The contents of the build-dependencies and dependencies directories are cartridge-specific, and are determined by the contents of the managed_files.yml file.

The following information on the managed_files.yml file dictates the construction of the snapshot:
  • If an entry under dependency_dirs starts with ~/, then a new folder will be created in the dependencies directory.
  • If an entry under dependency_dirs does not start with ~/, then a directory will be created in the dependencies/Cartridge_Name directory.
  • If an entry under dependency_dirs has the format key: Value, then Value will be the directory name for the previous rules.

Example 15.1. A Sample Node.js managed_files.yml File

The following is an excerpt from the managed_files.yml file on a Node.js cartridge:
Copy to Clipboard Toggle word wrap
dependency_dirs:
- ~/.npm
- node_modules
- ~/.node_modules: node_modules
Using the above rules, this means that the .npm file will be in the dependencies directory, and the node_modules file will be in the cartridge dependencies directory dependencies/nodejs directory: Copy to Clipboard Toggle word wrap
.npm
nodejs/node_modules
These same rules apply to the information under build_dependencies in the managed_files.yml file, though the build_dependencies file is mainly used in JBoss cartridges.
This information can be used to prepare your own managed_files.yml file for deployment. See Section 13.1, “Introduction to Deployment” for information on deployment, and Section 13.3.2.4, “Deploying from a Snapshot” for information on deploying from a binary snapshot file.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat, Inc.