What is a ContainerApp?

ContainerApp is a first-class interface that represents an application. The ContainerApp API underlies all CLI and UI interactions with applications. It allows for a separation of concerns, providing a simple way for users most familiar with their application’s needs (typically Developers) to set build and runtime defaults in the ContainerApp (at rest) interface, while users responsible for managing applications at scale (typically Application Operators) are able to interact with the ContainerApp (live) API to view and modify their running application.

Persona Specific Container App example

ContainerApp at rest

The ContainerApp at rest interface gives developers a simple way to set build and runtime defaults for their application using the Tanzu CLI.

Setting build defaults

The following build defaults can be set:

  • Build path
  • Build environment variables
  • Container image build solution

These values are passed to tanzu build as inputs. Then, tanzu build outputs a built application artifact along with a ContainerApp decorated with build information. You can expect to see the following build metadata in your ContainerApp after it has been built:

  • Git URL
  • Git SHA from which the app was built
  • Container image URL

For more information on setting build defaults, see defining build defaults

Setting runtime defaults

The following runtime defaults can be set:

  • Application replicas
  • CPU limit
  • Memory limit
  • Non-secret environment variables
  • Accepted service bindings

These values are used as the default runtime configuration when the ContainerApp is deployed to a Space.

Additionally, developers can include metadata about their application so that Operators have additional context about the app and know how to contact the appropriate team responsible for maintaining the application’s source code. The following metadata can be added:

  • App name
  • App description
  • Arbitrary contact information (email, phone, Slack channel, etc.)

For more information on setting runtime defaults and app metadata, see defining app defaults

ContainerApp live interface

Once a ContainerApp has been deployed to a Space, Operators can interact with their running applications via the ContainerApp API. This gives Operators a simple way to view ContainerApps running in a Space and allows them to modify runtime configuration on an environment-by-environment basis.

For reference information for ContainerApp, see ContainerApp API reference.

check-circle-line exclamation-circle-line close-line
Scroll to top icon