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". |