Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

+groupName=console.openshift.io

Index

Constants

This section is empty.

Variables

View Source
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"`
	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"`
	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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyServiceConfig.

func (*ConsolePluginProxyServiceConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginProxyServiceConfig) SwaggerDoc

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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL