What is Manifest
For RAPD, the Application Manifest is a descriptive file for applications. Through a Yaml formatted Manifest, you can define the composition of your application, its components, relationships between components, and more. In simple terms, the Manifest is a description file for your application spec, and RAPD automatically deploys the application according to your definition.
Composition
A Manifest file consists of four main parts:
- apiVersion
- kind
- metadata
- spec
apiVersion
Defines the version of the Manifest Yaml format.
apiVersion: po.rapd.app/v1beta1
kind
Defines the type of entity described by the Manifest. It could be Application, Composition, Cloud, and so on.
kind: Application
metadata
Parameters assigned for RAPD to deploy this Manifest automatically. For deploying an application, for instance, you can set the name of the application.
metadata: name: [your_application_name]
spec
This is the most important part of the entire Manifest, allowing you to fully define the specifications needed for RAPD deployment. The specifications could be Application, Composition, and so on (please refer to kind).
For example, an application could be as simple as a container on k8s, or it could be a web page paired with a postgres DB, or even define a complex and large system specification.
spec: version: "1.0" revisionHistory: 3 components: - type: networking.api-gateway name: kong target: [deployment_target_name]
This is a simple example. The next chapter will explain how to describe your system within the spec.