XL Deploy repository

The XL Deploy database is called the repository. It stores all configuration items (CIs), binary files - such as deployment packages, and XL Deploy security configuration - such as user accounts and rights. By default, XL Deploy uses an internal database that stores data on the file system. This configuration is intended for temporary use and is not recommended for production use. In production environments, the repository is stored in a relational database on a external database server. For more information, see using a database.

Repository IDs

Each CI in XL Deploy has an ID that uniquely identifies the CI. This ID is a path that determines the place of the CI in the repository. For instance, a CI with ID “Applications/PetClinic/1.0” will appear in the PetClinic subdirectory under the Applications root directory.

Repository directory structure

The repository has a hierarchical layout and a version history. All CIs of all types are stored here. The top-level directories indicate the type of CI stored below it. Depending on the type of CI, the repository stores it under a particular directory:

  • Application and deployment package CIs are stored in the Applications directory.
  • Environment and dictionary CIs are stored in the Environments directory.
  • Middleware CIs, representing hosts, servers, etc. are stored in the Infrastructure directory.
  • XL Deploy configuration CIs, such as policies and deployment pipelines, are stored in the Configuration directory.

Version control

Everything that is stored in the repository is fully versioned, so that any change to an item or its properties creates a new, timestamped version. Every change to every item in the repository is logged and stored. This makes it possible to compare a history of all changes to every CI in the repository. For deleted CIs, XL Deploy maintains the history information, but once a CI is deleted, it is not retrievable.

Containment and references

The XL Deploy repository contains CIs that refer to other CIs. There are two ways in which CIs can refer to each other:

  • Containment. In this case, one CI contains another CI. If the parent CI is removed, so is the child CI. An example of this type of reference is an Environment CI and its deployed applications.
  • Reference. In this case, one CI refers to another CI. If the referring CI is removed, the referred CI is unchanged. Removing a CI when it is still being referred to is not allowed. An example of this type of reference is an environment CI and its middleware. The middleware exists in the Infrastructure directory independently of the environments the middleware is in.

Deployed applications

A deployed application is the result of deploying a deployment package to an environment. Deployed applications have a special structure in the repository. While performing the deployment, package members are installed as deployed items on individual environment members. In the repository, the deployed application CI is stored under the Environment node. Each of the deployed items are stored under the infrastructure members in the Infrastructure node.

Deployed applications exist in both the Environment as well as Infrastructure folder. This has some consequences for the security setup. For more information, see local permissions.

Searching and filtering

You can search and filter the CIs in the repository using the search box in the left pane. For example, to search for an application, type a search term in the search field and press ENTER.

To clear the search results, click Search.

Note: The GET /repository/query API call provides a more robust search.