This topic gives you an overview of what a ContainerApp is and how it is used in Tanzu Platform for Kubernetes.
A ContainerApp is a first-class interface that represents an application. The ContainerApp API underlies all CLI and UI interactions with applications, and allows for a separation of concerns.
Users most familiar with their application’s needs (typically developers) can set default build and runtime values in the ContainerApp interface (at rest) while users responsible for managing applications at scale (typically application operators) can interact with the ContainerApp API (live) to view and edit their running application.
The ContainerApp at rest interface gives developers a simple way to set build and runtime defaults for their application using the Tanzu CLI.
The following build defaults can be set:
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:
For more information on setting build defaults, see defining build defaults
The following runtime defaults can be set:
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:
For more information on setting runtime defaults and app metadata, see defining app defaults
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.