This topic explains how to integrate Convention Service into Application Live View.

What is a Convention Service?

Kubernetes as an infrastructure focused platform is able to run containerized workloads, but is missing knowledge of the application domain. An application-aware platform can extend the infrastructure platform adding application semantics to benefit both the application developer and application operator. Convention Service allows application developers to specify less in their deployment manifest, while giving operators more cross cutting control over how application workloads run within their platform.

Role of Application Live View Convention Service

The Application Live View service works in conjunction with core convention service. The Application Live View Convention Service is used by the application operator to enhance a basic PodSpec delivered by the application developer. This PodSpec is enhanced with metadata such as labels, annotations or application properties. This metadata facilitates the Application Live View Connector to discover application instances to register with Application Live View Server.

The metadata labels added by Application Live View Convention Service are:

  • tanzu.app.live.view (Enables the connector to observe application pod)
  • tanzu.app.live.view.name (Identifies the application name to be used by Application Live View)
  • management.endpoints.web.exposure.include (Exposes actuator endpoints of the application)
  • management.endpoint.health.show-details (Show the health details)
  • tanzu.app.live.view.appflavours (Exposes the framework of the application)

Description of metadata labels are listed below:

Metadata Default Type Precedence
tanzu.app.live.view true Label The user provided label takes precedence over default value set by Application Live View Convention Service
tanzu.app.live.view.name spring-boot-app Label The user provided label takes precedence over default value set by Application Live View Convention Service
management.endpoints.web.exposure.include * Environment Property The user provided label takes precedence over default value set by Application Live View Convention Service
management.endpoint.health.show-details always Environment Property The user provided label takes precedence over default value set by Application Live View Convention Service
tanzu.app.live.view.appflavours spring-boot Label The user provided label takes precedence over default value set by Application Live View Convention Service. If both are not provided, the connector defaults it to spring-boot

The metadata labels added by Spring Boot Convention Service are:

  • boot.spring.io/version (Exposes the application version)
  • boot.spring.io/actuator (Exposes actuator url of the application)
  • conventions.apps.tanzu.vmware.com/framework (Identifies the application framework)

Description of metadata labels added by Spring Boot convention service are listed below:

Metadata Default Type Precedence
boot.spring.io/version None Annotation The Spring Boot convention service adds this annotation from image metadata. If it not added, the connector picks it directly from the actuator endpoint to fetch the version
boot.spring.io/actuator None Annotation The Spring Boot convention service adds the actuator endpoint annotation if it exists. The user provided label takes precedence if provided
conventions.apps.tanzu.vmware.com/framework * Label The user provided label takes precedence over default value set by Application Live View Convention Service.

Note: The connector first tries to pick the framework from tanzu.app.live.view.appflavours label. If the label is not set, then it picks it from conventions.apps.tanzu.vmware.com/framework

Deployment

The order in which the deployments are carried out are:

  • Core convention service
  • Spring Boot convention service
  • Application Live View convention service
check-circle-line exclamation-circle-line close-line
Scroll to top icon