Skip to content

Latest commit

 

History

History
102 lines (99 loc) · 4.9 KB

api.md

File metadata and controls

102 lines (99 loc) · 4.9 KB

Application Object

An Application object provides a way for you to aggregate individual Kubernetes components (e.g. Services, Deployments, StatefulSets, Ingresses, CRDs), and manage them as a group. It provides tooling and UI with a resource that allows for the aggregation and display of all the components in the Application.

Field Type Description
spec.descriptor.type string The type of the application (e.g. WordPress, MySQL, Cassandra). You can have many applications of different names in the same namespace. They type field is used to indicate that they are all the same type of application.
spec.componentKinds [] GroupKind This array of GroupKinds is used to indicate the types of resources that the application is composed of. As an example an Application that has a service and a deployment would set this field to [{"group":"core","kind": "Service"},{"group":"apps","kind":"Deployment"}]
spec.selector LabelSelector The selector is used to match resources that belong to the Application. All of the applications resources should have labels such that they match this selector. Users should use the app.kubernetes.io/name label on all components of the Application and set the selector to match this label. For instance, {"matchLabels": [{"app.kubernetes.io/name": "my-cool-app"}]} should be used as the selector for an Application named "my-cool-app", and each component should contain a label that matches.
spec.addOwnerRef bool Flag controlling if the matched resources need to be adopted by the Application object. When adopting, an OwnerRef to the Application object is inserted into the matched objects .metadata.[]OwnerRefs. The injected OwnerRef has blockOwnerDeletion set to True and controller set to False.
spec.descriptor.version string A version indicator for the application (e.g. 5.7 for MySQL version 5.7).
spec.descriptor.description string A short, human readable textual description of the Application.
spec.descriptor.icons []ImageSpec A list of icons for an application. Icon information includes the source, size, and mime type.
spec.descriptor.maintainers []ContactData A list of the maintainers of the Application. Each maintainer has a name, email, and URL. This field is meant for the distributors of the Application to indicate their identity and contact information.
spec.descriptor.owners []ContactData A list of the operational owners of the application. This field is meant to be left empty by the distributors of application, and set by the installer to indicate who should be contacted in the event of a planned or unplanned disruption to the Application
spec.descriptor.keywords array string A list of keywords that identify the application.
spec.info []InfoItem Info contains human readable key-value pairs for the Application.
spec.descriptor.links []Link Links are a list of descriptive URLs intended to be used to surface additional documentation, dashboards, etc.
spec.descriptor.notes string Notes contain human readable snippets intended as a quick start for the users of the Application. They may be plain text or CommonMark markdown.
spec.assemblyPhase string: "Pending", "Succeeded" or "Failed" The installer can set this field to indicate that the application's components are still being deployed ("Pending") or all are deployed already ("Succeeded"). When the application cannot be successfully assembled, the installer can set this field to "Failed".