Documentation
¶
Overview ¶
+groupName=console.openshift.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( GroupName = "console.openshift.io" GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED
Types ¶
type ConsolePlugin ¶
type ConsolePlugin struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata"`
// +kubebuilder:validation:Required
// +required
Spec ConsolePluginSpec `json:"spec"`
}
ConsolePlugin is an extension for customizing OpenShift web console by dynamically loading code from another service running on the cluster.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.
func (*ConsolePlugin) DeepCopy ¶
func (in *ConsolePlugin) DeepCopy() *ConsolePlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePlugin.
func (*ConsolePlugin) DeepCopyInto ¶
func (in *ConsolePlugin) DeepCopyInto(out *ConsolePlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConsolePlugin) DeepCopyObject ¶
func (in *ConsolePlugin) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ConsolePlugin) SwaggerDoc ¶
func (ConsolePlugin) SwaggerDoc() map[string]string
type ConsolePluginList ¶
type ConsolePluginList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata"`
Items []ConsolePlugin `json:"items"`
}
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.
func (*ConsolePluginList) DeepCopy ¶
func (in *ConsolePluginList) DeepCopy() *ConsolePluginList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginList.
func (*ConsolePluginList) DeepCopyInto ¶
func (in *ConsolePluginList) DeepCopyInto(out *ConsolePluginList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConsolePluginList) DeepCopyObject ¶
func (in *ConsolePluginList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ConsolePluginList) SwaggerDoc ¶
func (ConsolePluginList) SwaggerDoc() map[string]string
type ConsolePluginProxy ¶
type ConsolePluginProxy struct {
// type is the type of the console plugin's proxy. Currently only "Service" is supported.
// +kubebuilder:validation:Required
// +required
Type ConsolePluginProxyType `json:"type"`
// 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
//
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$`
// +required
Alias string `json:"alias"`
// 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.
// +kubebuilder:validation:Required
// +required
Service ConsolePluginProxyServiceConfig `json:"service,omitempty"`
// 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.
// +kubebuilder:validation:Pattern=`^-----BEGIN CERTIFICATE-----([\s\S]*)-----END CERTIFICATE-----\s?$`
// +kubebuilder:validation:Optional
// +optional
CACertificate string `json:"caCertificate,omitempty"`
// authorize indicates if the proxied request should contain the logged-in user's
// OpenShift access token in the "Authorization" request header. For example:
//
// Authorization: Bearer sha256~kV46hPnEYhCWFnB85r5NrprAxggzgb6GOeLbgcKNsH0
//
// By default the access token is not part of the proxied request.
// +kubebuilder:default:=false
// +kubebuilder:validation:Optional
// +optional
Authorize bool `json:"authorize,omitempty"`
}
ConsolePluginProxy holds information on various service types to which console's backend will proxy the plugin's requests.
func (*ConsolePluginProxy) DeepCopy ¶
func (in *ConsolePluginProxy) DeepCopy() *ConsolePluginProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxy.
func (*ConsolePluginProxy) DeepCopyInto ¶
func (in *ConsolePluginProxy) DeepCopyInto(out *ConsolePluginProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginProxy) SwaggerDoc ¶
func (ConsolePluginProxy) SwaggerDoc() map[string]string
type ConsolePluginProxyServiceConfig ¶
type ConsolePluginProxyServiceConfig struct {
// name of Service that the plugin needs to connect to.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +required
Name string `json:"name"`
// namespace of Service that the plugin needs to connect to
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +required
Namespace string `json:"namespace"`
// port on which the Service that the plugin needs to connect to
// is listening on.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Maximum:=65535
// +kubebuilder:validation:Minimum:=1
// +required
Port int32 `json:"port"`
}
ProxyTypeServiceConfig holds information on Service to which console's backend will proxy the plugin's requests.
func (*ConsolePluginProxyServiceConfig) DeepCopy ¶
func (in *ConsolePluginProxyServiceConfig) DeepCopy() *ConsolePluginProxyServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyServiceConfig.
func (*ConsolePluginProxyServiceConfig) DeepCopyInto ¶
func (in *ConsolePluginProxyServiceConfig) DeepCopyInto(out *ConsolePluginProxyServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginProxyServiceConfig) SwaggerDoc ¶
func (ConsolePluginProxyServiceConfig) SwaggerDoc() map[string]string
type ConsolePluginProxyType ¶
type ConsolePluginProxyType string
ProxyType is an enumeration of available proxy types +kubebuilder:validation:Pattern=`^(Service)$`
const ( // ProxyTypeService is used when proxying communication to a Service ProxyTypeService ConsolePluginProxyType = "Service" )
type ConsolePluginService ¶
type ConsolePluginService struct {
// name of Service that is serving the plugin assets.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +required
Name string `json:"name"`
// namespace of Service that is serving the plugin assets.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +required
Namespace string `json:"namespace"`
// port on which the Service that is serving the plugin is listening to.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Maximum:=65535
// +kubebuilder:validation:Minimum:=1
// +required
Port int32 `json:"port"`
// 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.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:Pattern=`^/`
// +kubebuilder:default:="/"
// +required
BasePath string `json:"basePath"`
}
ConsolePluginService holds information on Service that is serving console dynamic plugin assets.
func (*ConsolePluginService) DeepCopy ¶
func (in *ConsolePluginService) DeepCopy() *ConsolePluginService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginService.
func (*ConsolePluginService) DeepCopyInto ¶
func (in *ConsolePluginService) DeepCopyInto(out *ConsolePluginService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginService) SwaggerDoc ¶
func (ConsolePluginService) SwaggerDoc() map[string]string
type ConsolePluginSpec ¶
type ConsolePluginSpec struct {
// displayName is the display name of the plugin.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +optional
DisplayName string `json:"displayName,omitempty"`
// 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.
// +kubebuilder:validation:Required
// +required
Service ConsolePluginService `json:"service"`
// proxy is a list of proxies that describe various service type
// to which the plugin needs to connect to.
// +kubebuilder:validation:Optional
// +optional
Proxy []ConsolePluginProxy `json:"proxy,omitempty"`
}
ConsolePluginSpec is the desired plugin configuration.
func (*ConsolePluginSpec) DeepCopy ¶
func (in *ConsolePluginSpec) DeepCopy() *ConsolePluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginSpec.
func (*ConsolePluginSpec) DeepCopyInto ¶
func (in *ConsolePluginSpec) DeepCopyInto(out *ConsolePluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginSpec) SwaggerDoc ¶
func (ConsolePluginSpec) SwaggerDoc() map[string]string