# Codehaus Cargo : Runtime Configuration

Created by Former user, last modified by S. Ali Tokmen on Jan 28, 2021

### Definition

A configuration for a container that is already started

### Explanation

This configuration represents a container that is already running somewhere, be it on the same machine as Cargo or not, that might have been started by Cargo or not. Cargo accesses that container using a remote access protocol and the container is considered as a black box.

This configuration is typically used in order to remotely deploy applications.

### Support Matrix

Java | Ant | Maven 3
--- | --- | ---

### Java API

There are different ways of using a runtime configuration:

- By directly instantiating the configuration matching your container. For example:

    [...]
    Configuration configuration = new TomcatRuntimeConfiguration();
    [...]

- By using the `DefaultConfigurationFactory` which automatically maps the right implementation for the container you're using. For example:

    [...]
    ConfigurationFactory factory = new DefaultConfigurationFactory();
    Configuration configuration = factory.createConfiguration("tomcat5x",
        ContainerType.REMOTE, ConfigurationType.RUNTIME);
    [...]

### Ant Task

Example:

    <cargo containerId="tomcat5x" [...]>
      <configuration type="runtime"/>
      [...]
    </cargo>

### Maven 3 Plugin

Example:

    [...]
    <container>
      <containerId>tomcat5x</containerId>
      [...]
    </container>
    <configuration>
      <type>runtime</type>
    </configuration>
    [...]

Note that the Maven 3 Archetype showing remote deployer support is a complete and easy-to-use example for remote deployment. Please read: Webapp Creation and Remote Deployment Archetype.