The Application Navigator Plugin Interface enables users to extend the capabilities of Application Navigator. The plugin interface allows the following extension types:
-
action
The action extension type supports day 2 operations. These are things an administrator may need to do to a running application for any number of purposes, including inspection, gathering diagnostic data, changing configuration, etc..
-
status
The status extension type provides a way to customize how resource status is mapped to Application Navigator's uniform high level status indicators of: normal, warning, problem, and unknown.
-
detail
The detail extension type provides a way to enhance the view of an application or application component with additional information.
The action extension type supports day 2 operations. These are things an administrator may need to do to a running application for any number of purposes, including inspection, gathering diagnostic data, changing configuration, etc..
All Application Navigator actions are exposed as actions in an actions menu for each application or application component.
There are two kinds of actions:
-
Web action
Web actions associate a URL with a resource. "Performing" the action means opening the URL.
-
Command action
Command actions associate a container image with a resource. The purpose of the container is to run a command. Command actions run as Kuberentes jobs. "Performing" the action means running the job. User inputs to provide parameters to the command are supported.
Actions are defined in a Config Map. The Config Maps consumed by Application Navigator are defined by a "Kind Action Mapping" custom resource. The mappings allow specific actions to be assigned to specific resource kinds or instances. Therefore, creating an Application Navigator action requires two steps:
See also Implementing Custom Actions
The status extension type provides a way to customize how resource status is mapped to Application Navigator's uniform high level status indicators of: normal, warning, problem, and unknown. This applies equally to Custom Resources.
A small number of built-in resource kinds have out-of-the-box status mappings. These kinds include Deployment, Pod, and Route; these can be customized according to user preference. Most other resource kinds are covered by a default mapping that essentially equates 'existence' with 'normal' status; any of these can be given a specific mapping according to user preference.
Status mappings are defined in a Config Map. These mapping rules map a resource's unique status values to the Appliction Navigator's status scheme. Status mappings are defined for a discrete resource kind. They are assigned to a resource kind through the "Kind Action Mapping" custom resource. Creating a status mapping requires two steps:
The detail section extension type provides a way to enhance the view of an application or application component with additional information displayed in a detail section in the App Navigator UI. A detail section is displayed in the App Navigator UI as an expandable area on the bottom edge of an application or component row. Clicking on a special icon opens and closes the detail section.
A detail section is assigned on a per kind basis. It is defined in a config map. They are assigned to a resource kind through the "Kind Action Mapping" custom resource. It specifies details about the layout of the detail section and the source of information to be displayed in that section. Creating a detail section requires two steps: