ConsolePlugin [console.openshift.io/v1]

    ConsolePlugin is an extension for customizing OpenShift web console by dynamically loading code from another service running on the cluster. Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).

    Type

    Required

    • metadata

    • spec

    Description

    ConsolePluginSpec is the desired plugin configuration.

    Type

    object

    Required

    • backend

    • displayName

    PropertyTypeDescription

    backend

    object

    backend holds the configuration of backend which is serving console’s plugin .

    displayName

    string

    displayName is the display name of the plugin. The dispalyName should be between 1 and 128 characters.

    i18n

    object

    i18n is the configuration of plugin’s localization resources.

    proxy

    array

    proxy is a list of proxies that describe various service type to which the plugin needs to connect to.

    proxy[]

    object

    ConsolePluginProxy holds information on various service types to which console’s backend will proxy the plugin’s requests.

    .spec.backend

    Description

    backend holds the configuration of backend which is serving console’s plugin .

    Type

    object

    Required

    • type
    PropertyTypeDescription

    service

    object

    service is a Kubernetes Service that exposes the plugin using a deployment with an HTTP server. The Service must use HTTPS and Service serving certificate. The console backend will proxy the plugins assets from the Service using the service CA bundle.

    type

    string

    type is the backend type which servers the console’s plugin. Currently only “Service” is supported. —-

    .spec.backend.service

    Description

    service is a Kubernetes Service that exposes the plugin using a deployment with an HTTP server. The Service must use HTTPS and Service serving certificate. The console backend will proxy the plugins assets from the Service using the service CA bundle.

    Type

    object

    Required

    • name

    • namespace

    • port

    PropertyTypeDescription

    basePath

    string

    basePath is the path to the plugin’s assets. The primary asset it the manifest file called plugin-manifest.json, which is a JSON document that contains metadata about the plugin and the extensions.

    name

    string

    name of Service that is serving the plugin assets.

    namespace

    string

    namespace of Service that is serving the plugin assets.

    port

    integer

    port on which the Service that is serving the plugin is listening to.

    Description

    i18n is the configuration of plugin’s localization resources.

    Type

    object

    Required

    • loadType
    PropertyTypeDescription

    loadType

    string

    loadType indicates how the plugin’s localization resource should be loaded. Valid values are Preload, Lazy and the empty string. When set to Preload, all localization resources are fetched when the plugin is loaded. When set to Lazy, localization resources are lazily loaded as and when they are required by the console. When omitted or set to the empty string, the behaviour is equivalent to Lazy type.

    .spec.proxy

    Description

    proxy is a list of proxies that describe various service type to which the plugin needs to connect to.

    Type

    array

    .spec.proxy[]

    Description

    ConsolePluginProxy holds information on various service types to which console’s backend will proxy the plugin’s requests.

    Type

    object

    Required

    • alias

    • endpoint

    PropertyTypeDescription

    alias

    string

    alias is a proxy name that identifies the plugin’s proxy. An alias name should be unique per plugin. The console backend exposes following proxy endpoint: /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters> Request example path: /api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver

    authorization

    string

    authorization provides information about authorization type, which the proxied request should contain

    caCertificate

    string

    caCertificate provides the cert authority certificate contents, in case the proxied Service is using custom service CA. By default, the service CA bundle provided by the service-ca operator is used.

    endpoint

    object

    endpoint provides information about endpoint to which the request is proxied to.

    Description

    endpoint provides information about endpoint to which the request is proxied to.

    Type

    Required

    PropertyTypeDescription

    service

    service is an in-cluster Service that the plugin will connect to. The Service must use HTTPS. The console backend exposes an endpoint in order to proxy communication between the plugin and the Service. Note: service field is required for now, since currently only “Service” type is supported.

    type

    string

    type is the type of the console plugin’s proxy. Currently only “Service” is supported. —-

    .spec.proxy[].endpoint.service

    Description

    service is an in-cluster Service that the plugin will connect to. The Service must use HTTPS. The console backend exposes an endpoint in order to proxy communication between the plugin and the Service. Note: service field is required for now, since currently only “Service” type is supported.

    Type

    object

    Required

    • name

    • namespace

    • port

    PropertyTypeDescription

    name

    string

    name of Service that the plugin needs to connect to.

    namespace

    string

    namespace of Service that the plugin needs to connect to

    port

    integer

    port on which the Service that the plugin needs to connect to is listening on.

    API endpoints

    The following API endpoints are available:

    • /apis/console.openshift.io/v1/consoleplugins

      • DELETE: delete collection of ConsolePlugin

      • GET: list objects of kind ConsolePlugin

      • POST: create a ConsolePlugin

    • /apis/console.openshift.io/v1/consoleplugins/{name}

      • DELETE: delete a ConsolePlugin

      • GET: read the specified ConsolePlugin

      • PATCH: partially update the specified ConsolePlugin

    /apis/console.openshift.io/v1/consoleplugins

    Table 1. Global query parameters
    ParameterTypeDescription

    pretty

    string

    If ‘true’, then the output is pretty printed.

    HTTP method

    DELETE

    Description

    delete collection of ConsolePlugin

    Table 3. HTTP responses
    HTTP codeReponse body

    200 - OK

    schema

    401 - Unauthorized

    Empty

    HTTP method

    GET

    Description

    list objects of kind ConsolePlugin

    Table 4. Query parameters
    ParameterTypeDescription

    allowWatchBookmarks

    boolean

    allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.

    continue

    string

    The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”.

    This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

    fieldSelector

    string

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    labelSelector

    string

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    limit

    integer

    limit is a maximum number of responses to return for a list call. If more items exist, the server will set the field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.

    The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

    resourceVersion

    string

    resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

    Defaults to unset

    resourceVersionMatch

    string

    resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See for details.

    Defaults to unset

    timeoutSeconds

    integer

    Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.

    watch

    boolean

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    Table 5. HTTP responses
    HTTP codeReponse body

    ConsolePluginList schema

    401 - Unauthorized

    Empty

    HTTP method

    POST

    Description

    create a ConsolePlugin

    Table 6. Query parameters
    ParameterTypeDescription

    dryRun

    string

    When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

    fieldManager

    string

    fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by .

    fieldValidation

    string

    fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the ServerSideFieldValidation feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the ServerSideFieldValidation feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the ServerSideFieldValidation feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

    Table 7. Body parameters
    ParameterTypeDescription

    body

    ConsolePlugin schema

    Table 8. HTTP responses
    HTTP codeReponse body

    200 - OK

    schema

    201 - Created

    ConsolePlugin schema

    202 - Accepted

    schema

    401 - Unauthorized

    Empty

    Table 9. Global path parameters
    ParameterTypeDescription

    name

    string

    name of the ConsolePlugin

    Table 10. Global query parameters
    ParameterTypeDescription

    pretty

    string

    If ‘true’, then the output is pretty printed.

    HTTP method

    DELETE

    Description

    delete a ConsolePlugin

    Table 12. Body parameters
    ParameterTypeDescription

    body

    schema

    Table 13. HTTP responses
    HTTP codeReponse body

    200 - OK

    Status schema

    202 - Accepted

    schema

    401 - Unauthorized

    Empty

    HTTP method

    GET

    Description

    read the specified ConsolePlugin

    Table 14. Query parameters
    ParameterTypeDescription

    resourceVersion

    string

    resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

    Defaults to unset

    Table 15. HTTP responses
    HTTP codeReponse body

    200 - OK

    schema

    401 - Unauthorized

    Empty

    HTTP method

    PATCH

    Description

    partially update the specified ConsolePlugin

    Table 16. Query parameters
    ParameterTypeDescription

    dryRun

    string

    When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

    fieldManager

    string

    fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

    fieldValidation

    string

    fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the ServerSideFieldValidation feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the ServerSideFieldValidation feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the ServerSideFieldValidation feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

    Table 17. Body parameters
    ParameterTypeDescription

    body

    schema

    Table 18. HTTP responses
    HTTP codeReponse body

    200 - OK

    ConsolePlugin schema

    401 - Unauthorized

    Empty

    HTTP method

    PUT

    Description

    replace the specified ConsolePlugin

    Table 19. Query parameters
    ParameterTypeDescription

    dryRun

    string

    When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

    fieldManager

    string

    fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by .

    fieldValidation

    string

    fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the ServerSideFieldValidation feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the ServerSideFieldValidation feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the ServerSideFieldValidation feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

    Table 21. HTTP responses
    HTTP codeReponse body

    200 - OK

    ConsolePlugin schema

    201 - Created

    schema

    401 - Unauthorized

    Empty