v1

package
v0.0.0-...-05ea89d Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2026 License: Apache-2.0 Imports: 5 Imported by: 145

Documentation

Overview

+groupName=console.openshift.io Package v1 is the v1 version of the API.

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupName    = "console.openshift.io"
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}

	// 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 ApplicationMenuSpec

type ApplicationMenuSpec struct {
	// section is the section of the application menu in which the link should appear.
	// This can be any text that will appear as a subheading in the application menu dropdown.
	// A new section will be created if the text does not match text of an existing section.
	Section string `json:"section"`
	// imageURL is the URL for the icon used in front of the link in the application menu.
	// The URL must be an HTTPS URL or a Data URI. The image should be square and will be shown at 24x24 pixels.
	// +optional
	ImageURL string `json:"imageURL,omitempty"`
}

ApplicationMenuSpec is the specification of the desired section and icon used for the link in the application menu.

func (*ApplicationMenuSpec) DeepCopy

func (in *ApplicationMenuSpec) DeepCopy() *ApplicationMenuSpec

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

func (*ApplicationMenuSpec) DeepCopyInto

func (in *ApplicationMenuSpec) DeepCopyInto(out *ApplicationMenuSpec)

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

func (ApplicationMenuSpec) OpenAPIModelName

func (in ApplicationMenuSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ApplicationMenuSpec) SwaggerDoc

func (ApplicationMenuSpec) SwaggerDoc() map[string]string

type AuthorizationType

type AuthorizationType string

AuthorizationType is an enumerate of available authorization types +kubebuilder:validation:Enum:=UserToken;None

const (
	// UserToken indicates that the proxied request should contain the logged-in user's
	// OpenShift access token in the "Authorization" request header. For example:
	//
	// Authorization: Bearer sha256~kV46hPnEYhCWFnB85r5NrprAxggzgb6GOeLbgcKNsH0
	//
	UserToken AuthorizationType = "UserToken"
	// None indicates that proxied request wont contain authorization of any type.
	None AuthorizationType = "None"
)
type CLIDownloadLink struct {
	// text is the display text for the link
	// +optional
	Text string `json:"text"`
	// href is the absolute secure URL for the link (must use https)
	// +kubebuilder:validation:Pattern=`^https://`
	Href string `json:"href"`
}

func (*CLIDownloadLink) DeepCopy

func (in *CLIDownloadLink) DeepCopy() *CLIDownloadLink

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

func (*CLIDownloadLink) DeepCopyInto

func (in *CLIDownloadLink) DeepCopyInto(out *CLIDownloadLink)

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

func (CLIDownloadLink) OpenAPIModelName

func (in CLIDownloadLink) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (CLIDownloadLink) SwaggerDoc

func (CLIDownloadLink) SwaggerDoc() map[string]string

type CSPDirectiveValue

type CSPDirectiveValue string

CSPDirectiveValue is single value for a Content-Security-Policy directive. Each directive value must have a maximum length of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single quotes ('). The value '*' is not permitted. +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=1024 +kubebuilder:validation:XValidation:rule="!self.contains(\"'\")",message="CSP directive value cannot contain a quote" +kubebuilder:validation:XValidation:rule="!self.matches('\\\\s')",message="CSP directive value cannot contain a whitespace" +kubebuilder:validation:XValidation:rule="!self.contains(',')",message="CSP directive value cannot contain a comma" +kubebuilder:validation:XValidation:rule="!self.contains(';')",message="CSP directive value cannot contain a semi-colon" +kubebuilder:validation:XValidation:rule="self != '*'",message="CSP directive value cannot be a wildcard"

type ConsoleCLIDownload

type ConsoleCLIDownload 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,omitempty"`

	Spec ConsoleCLIDownloadSpec `json:"spec"`
}

ConsoleCLIDownload is an extension for configuring openshift web console command line interface (CLI) downloads.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleclidownloads,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console command line interface (CLI) downloads." +kubebuilder:metadata:annotations="displayName=ConsoleCLIDownload" +kubebuilder:printcolumn:name=Display name,JSONPath=.spec.displayName,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleCLIDownload) DeepCopy

func (in *ConsoleCLIDownload) DeepCopy() *ConsoleCLIDownload

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

func (*ConsoleCLIDownload) DeepCopyInto

func (in *ConsoleCLIDownload) DeepCopyInto(out *ConsoleCLIDownload)

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

func (*ConsoleCLIDownload) DeepCopyObject

func (in *ConsoleCLIDownload) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleCLIDownload) OpenAPIModelName

func (in ConsoleCLIDownload) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleCLIDownload) SwaggerDoc

func (ConsoleCLIDownload) SwaggerDoc() map[string]string

type ConsoleCLIDownloadList

type ConsoleCLIDownloadList 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 []ConsoleCLIDownload `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleCLIDownloadList) DeepCopy

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

func (*ConsoleCLIDownloadList) DeepCopyInto

func (in *ConsoleCLIDownloadList) DeepCopyInto(out *ConsoleCLIDownloadList)

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

func (*ConsoleCLIDownloadList) DeepCopyObject

func (in *ConsoleCLIDownloadList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleCLIDownloadList) OpenAPIModelName

func (in ConsoleCLIDownloadList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleCLIDownloadList) SwaggerDoc

func (ConsoleCLIDownloadList) SwaggerDoc() map[string]string

type ConsoleCLIDownloadSpec

type ConsoleCLIDownloadSpec struct {
	// displayName is the display name of the CLI download.
	DisplayName string `json:"displayName"`
	// description is the description of the CLI download (can include markdown).
	Description string `json:"description"`
	// links is a list of objects that provide CLI download link details.
	Links []CLIDownloadLink `json:"links"`
}

ConsoleCLIDownloadSpec is the desired cli download configuration.

func (*ConsoleCLIDownloadSpec) DeepCopy

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

func (*ConsoleCLIDownloadSpec) DeepCopyInto

func (in *ConsoleCLIDownloadSpec) DeepCopyInto(out *ConsoleCLIDownloadSpec)

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

func (ConsoleCLIDownloadSpec) OpenAPIModelName

func (in ConsoleCLIDownloadSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleCLIDownloadSpec) SwaggerDoc

func (ConsoleCLIDownloadSpec) SwaggerDoc() map[string]string
type ConsoleExternalLogLink 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,omitempty"`

	Spec ConsoleExternalLogLinkSpec `json:"spec"`
}

ConsoleExternalLogLink is an extension for customizing OpenShift web console log links.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleexternalloglinks,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=ConsoleExternalLogLink is an extension for customizing OpenShift web console log links." +kubebuilder:metadata:annotations="displayName=ConsoleExternalLogLinks" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=HrefTemplate,JSONPath=.spec.hrefTemplate,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleExternalLogLink) DeepCopy

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

func (*ConsoleExternalLogLink) DeepCopyInto

func (in *ConsoleExternalLogLink) DeepCopyInto(out *ConsoleExternalLogLink)

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

func (*ConsoleExternalLogLink) DeepCopyObject

func (in *ConsoleExternalLogLink) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleExternalLogLink) OpenAPIModelName

func (in ConsoleExternalLogLink) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleExternalLogLink) SwaggerDoc

func (ConsoleExternalLogLink) SwaggerDoc() map[string]string
type ConsoleExternalLogLinkList 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 []ConsoleExternalLogLink `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleExternalLogLinkList) DeepCopy

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

func (*ConsoleExternalLogLinkList) DeepCopyInto

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

func (*ConsoleExternalLogLinkList) DeepCopyObject

func (in *ConsoleExternalLogLinkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleExternalLogLinkList) OpenAPIModelName

func (in ConsoleExternalLogLinkList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleExternalLogLinkList) SwaggerDoc

func (ConsoleExternalLogLinkList) SwaggerDoc() map[string]string

type ConsoleExternalLogLinkSpec

type ConsoleExternalLogLinkSpec struct {
	// text is the display text for the link
	Text string `json:"text"`
	// hrefTemplate is an absolute secure URL (must use https) for the log link including
	// variables to be replaced. Variables are specified in the URL with the format ${variableName},
	// for instance, ${containerName} and will be replaced with the corresponding values
	// from the resource. Resource is a pod.
	// Supported variables are:
	// - ${resourceName} - name of the resource which containes the logs
	// - ${resourceUID} - UID of the resource which contains the logs
	//               - e.g. `11111111-2222-3333-4444-555555555555`
	// - ${containerName} - name of the resource's container that contains the logs
	// - ${resourceNamespace} - namespace of the resource that contains the logs
	// - ${resourceNamespaceUID} - namespace UID of the resource that contains the logs
	// - ${podLabels} - JSON representation of labels matching the pod with the logs
	//             - e.g. `{"key1":"value1","key2":"value2"}`
	//
	// e.g., https://example.com/logs?resourceName=${resourceName}&containerName=${containerName}&resourceNamespace=${resourceNamespace}&podLabels=${podLabels}
	// +kubebuilder:validation:Pattern=`^https://`
	HrefTemplate string `json:"hrefTemplate"`
	// namespaceFilter is a regular expression used to restrict a log link to a
	// matching set of namespaces (e.g., `^openshift-`). The string is converted
	// into a regular expression using the JavaScript RegExp constructor.
	// If not specified, links will be displayed for all the namespaces.
	// +optional
	NamespaceFilter string `json:"namespaceFilter,omitempty"`
}

ConsoleExternalLogLinkSpec is the desired log link configuration. The log link will appear on the logs tab of the pod details page.

func (*ConsoleExternalLogLinkSpec) DeepCopy

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

func (*ConsoleExternalLogLinkSpec) DeepCopyInto

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

func (ConsoleExternalLogLinkSpec) OpenAPIModelName

func (in ConsoleExternalLogLinkSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleExternalLogLinkSpec) SwaggerDoc

func (ConsoleExternalLogLinkSpec) SwaggerDoc() map[string]string
type ConsoleLink 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,omitempty"`

	Spec ConsoleLinkSpec `json:"spec"`
}

ConsoleLink is an extension for customizing OpenShift web console links.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolelinks,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for customizing OpenShift web console links" +kubebuilder:metadata:annotations="displayName=ConsoleLinks" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=URL,JSONPath=.spec.href,type=string +kubebuilder:printcolumn:name=Location,JSONPath=.spec.location,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleLink) DeepCopy

func (in *ConsoleLink) DeepCopy() *ConsoleLink

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

func (*ConsoleLink) DeepCopyInto

func (in *ConsoleLink) DeepCopyInto(out *ConsoleLink)

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

func (*ConsoleLink) DeepCopyObject

func (in *ConsoleLink) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleLink) OpenAPIModelName

func (in ConsoleLink) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleLink) SwaggerDoc

func (ConsoleLink) SwaggerDoc() map[string]string
type ConsoleLinkList 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 []ConsoleLink `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleLinkList) DeepCopy

func (in *ConsoleLinkList) DeepCopy() *ConsoleLinkList

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

func (*ConsoleLinkList) DeepCopyInto

func (in *ConsoleLinkList) DeepCopyInto(out *ConsoleLinkList)

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

func (*ConsoleLinkList) DeepCopyObject

func (in *ConsoleLinkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleLinkList) OpenAPIModelName

func (in ConsoleLinkList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleLinkList) SwaggerDoc

func (ConsoleLinkList) SwaggerDoc() map[string]string

type ConsoleLinkLocation

type ConsoleLinkLocation string

ConsoleLinkLocationSelector is a set of possible menu targets to which a link may be appended. +kubebuilder:validation:Pattern=`^(ApplicationMenu|HelpMenu|UserMenu|NamespaceDashboard)$`

const (
	// HelpMenu indicates that the link should appear in the help menu in the console.
	HelpMenu ConsoleLinkLocation = "HelpMenu"
	// UserMenu indicates that the link should appear in the user menu in the console.
	UserMenu ConsoleLinkLocation = "UserMenu"
	// ApplicationMenu indicates that the link should appear inside the application menu of the console.
	ApplicationMenu ConsoleLinkLocation = "ApplicationMenu"
	// NamespaceDashboard indicates that the link should appear in the namespaced dashboard of the console.
	NamespaceDashboard ConsoleLinkLocation = "NamespaceDashboard"
)

type ConsoleLinkSpec

type ConsoleLinkSpec struct {
	Link `json:",inline"`
	// location determines which location in the console the link will be appended to (ApplicationMenu, HelpMenu, UserMenu, NamespaceDashboard).
	Location ConsoleLinkLocation `json:"location"`
	// applicationMenu holds information about section and icon used for the link in the
	// application menu, and it is applicable only when location is set to ApplicationMenu.
	//
	// +optional
	ApplicationMenu *ApplicationMenuSpec `json:"applicationMenu,omitempty"`
	// namespaceDashboard holds information about namespaces in which the dashboard link should
	// appear, and it is applicable only when location is set to NamespaceDashboard.
	// If not specified, the link will appear in all namespaces.
	//
	// +optional
	NamespaceDashboard *NamespaceDashboardSpec `json:"namespaceDashboard,omitempty"`
}

ConsoleLinkSpec is the desired console link configuration.

func (*ConsoleLinkSpec) DeepCopy

func (in *ConsoleLinkSpec) DeepCopy() *ConsoleLinkSpec

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

func (*ConsoleLinkSpec) DeepCopyInto

func (in *ConsoleLinkSpec) DeepCopyInto(out *ConsoleLinkSpec)

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

func (ConsoleLinkSpec) OpenAPIModelName

func (in ConsoleLinkSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleLinkSpec) SwaggerDoc

func (ConsoleLinkSpec) SwaggerDoc() map[string]string

type ConsoleNotification

type ConsoleNotification 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,omitempty"`

	Spec ConsoleNotificationSpec `json:"spec"`
}

ConsoleNotification is the extension for configuring openshift web console notifications.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolenotifications,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console notifications." +kubebuilder:metadata:annotations="displayName=ConsoleNotification" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=Location,JSONPath=.spec.location,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleNotification) DeepCopy

func (in *ConsoleNotification) DeepCopy() *ConsoleNotification

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

func (*ConsoleNotification) DeepCopyInto

func (in *ConsoleNotification) DeepCopyInto(out *ConsoleNotification)

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

func (*ConsoleNotification) DeepCopyObject

func (in *ConsoleNotification) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleNotification) OpenAPIModelName

func (in ConsoleNotification) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleNotification) SwaggerDoc

func (ConsoleNotification) SwaggerDoc() map[string]string

type ConsoleNotificationList

type ConsoleNotificationList 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 []ConsoleNotification `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleNotificationList) DeepCopy

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

func (*ConsoleNotificationList) DeepCopyInto

func (in *ConsoleNotificationList) DeepCopyInto(out *ConsoleNotificationList)

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

func (*ConsoleNotificationList) DeepCopyObject

func (in *ConsoleNotificationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleNotificationList) OpenAPIModelName

func (in ConsoleNotificationList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleNotificationList) SwaggerDoc

func (ConsoleNotificationList) SwaggerDoc() map[string]string

type ConsoleNotificationLocation

type ConsoleNotificationLocation string

ConsoleNotificationLocationSelector is a set of possible notification targets to which a notification may be appended. +kubebuilder:validation:Pattern=`^(BannerTop|BannerBottom|BannerTopBottom)$`

const (
	// BannerTop indicates that the notification should appear at the top of the console.
	BannerTop ConsoleNotificationLocation = "BannerTop"
	// BannerBottom indicates that the notification should appear at the bottom of the console.
	BannerBottom ConsoleNotificationLocation = "BannerBottom"
	// BannerTopBottom indicates that the notification should appear both at the top and at the bottom of the console.
	BannerTopBottom ConsoleNotificationLocation = "BannerTopBottom"
)

type ConsoleNotificationSpec

type ConsoleNotificationSpec struct {
	// text is the visible text of the notification.
	Text string `json:"text"`
	// location is the location of the notification in the console.
	// Valid values are: "BannerTop", "BannerBottom", "BannerTopBottom".
	// +optional
	Location ConsoleNotificationLocation `json:"location,omitempty"`
	// link is an object that holds notification link details.
	// +optional
	Link *Link `json:"link,omitempty"`
	// color is the color of the text for the notification as CSS data type color.
	// +optional
	Color string `json:"color,omitempty"`
	// backgroundColor is the color of the background for the notification as CSS data type color.
	// +optional
	BackgroundColor string `json:"backgroundColor,omitempty"`
}

ConsoleNotificationSpec is the desired console notification configuration.

func (*ConsoleNotificationSpec) DeepCopy

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

func (*ConsoleNotificationSpec) DeepCopyInto

func (in *ConsoleNotificationSpec) DeepCopyInto(out *ConsoleNotificationSpec)

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

func (ConsoleNotificationSpec) OpenAPIModelName

func (in ConsoleNotificationSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleNotificationSpec) SwaggerDoc

func (ConsoleNotificationSpec) SwaggerDoc() map[string]string

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

	// spec contains the desired configuration for the console plugin.
	// +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 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleplugins,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1186 +openshift:file-pattern=operatorOrdering=90 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console plugins." +kubebuilder:metadata:annotations="displayName=ConsolePlugin" +kubebuilder:metadata:annotations="service.beta.openshift.io/inject-cabundle=true"

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) OpenAPIModelName

func (in ConsolePlugin) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePlugin) SwaggerDoc

func (ConsolePlugin) SwaggerDoc() map[string]string

type ConsolePluginBackend

type ConsolePluginBackend struct {
	// type is the backend type which servers the console's plugin. Currently only "Service" is supported.
	//
	// ---
	// + When handling unknown values, consumers should report an error and stop processing the plugin.
	//
	// +required
	// +unionDiscriminator
	Type ConsolePluginBackendType `json:"type"`
	// 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.
	// +optional
	Service *ConsolePluginService `json:"service,omitempty"`
}

ConsolePluginBackend holds information about the endpoint which serves the console's plugin +union

func (*ConsolePluginBackend) DeepCopy

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

func (*ConsolePluginBackend) DeepCopyInto

func (in *ConsolePluginBackend) DeepCopyInto(out *ConsolePluginBackend)

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

func (ConsolePluginBackend) OpenAPIModelName

func (in ConsolePluginBackend) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginBackend) SwaggerDoc

func (ConsolePluginBackend) SwaggerDoc() map[string]string

type ConsolePluginBackendType

type ConsolePluginBackendType string

ConsolePluginBackendType is an enumeration of available backend types +kubebuilder:validation:Enum:=Service

const (
	// Service is used when plugin's backend is served by a Kubernetes Service
	Service ConsolePluginBackendType = "Service"
)

type ConsolePluginCSP

type ConsolePluginCSP struct {
	// directive specifies which Content-Security-Policy directive to configure.
	// Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc, FontSrc and ConnectSrc.
	// DefaultSrc directive serves as a fallback for the other CSP fetch directives.
	// For more information about the DefaultSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
	// ScriptSrc directive specifies valid sources for JavaScript.
	// For more information about the ScriptSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src
	// StyleSrc directive specifies valid sources for stylesheets.
	// For more information about the StyleSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
	// ImgSrc directive specifies a valid sources of images and favicons.
	// For more information about the ImgSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src
	// FontSrc directive specifies valid sources for fonts loaded using @font-face.
	// For more information about the FontSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src
	// ConnectSrc directive restricts the URLs which can be loaded using script interfaces.
	// For more information about the ConnectSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src
	// +required
	Directive DirectiveType `json:"directive"`
	// values defines an array of values to append to the console defaults for this directive.
	// Each ConsolePlugin may define their own directives with their values. These will be set
	// by the OpenShift web console's backend, as part of its Content-Security-Policy header.
	// The array can contain at most 16 values. Each directive value must have a maximum length
	// of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single
	// quotes ('). The value '*' is not permitted.
	// Each value in the array must be unique.
	//
	// +required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))",message="each CSP directive value must be unique"
	// +listType=atomic
	Values []CSPDirectiveValue `json:"values"`
}

ConsolePluginCSP holds configuration for a specific CSP directive

func (*ConsolePluginCSP) DeepCopy

func (in *ConsolePluginCSP) DeepCopy() *ConsolePluginCSP

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

func (*ConsolePluginCSP) DeepCopyInto

func (in *ConsolePluginCSP) DeepCopyInto(out *ConsolePluginCSP)

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

func (ConsolePluginCSP) OpenAPIModelName

func (in ConsolePluginCSP) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginCSP) SwaggerDoc

func (ConsolePluginCSP) SwaggerDoc() map[string]string

type ConsolePluginI18n

type ConsolePluginI18n struct {
	// 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.
	// +required
	LoadType LoadType `json:"loadType"`
}

ConsolePluginI18n holds information on localization resources that are served by the dynamic plugin.

func (*ConsolePluginI18n) DeepCopy

func (in *ConsolePluginI18n) DeepCopy() *ConsolePluginI18n

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

func (*ConsolePluginI18n) DeepCopyInto

func (in *ConsolePluginI18n) DeepCopyInto(out *ConsolePluginI18n)

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

func (ConsolePluginI18n) OpenAPIModelName

func (in ConsolePluginI18n) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginI18n) SwaggerDoc

func (ConsolePluginI18n) 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 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).

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) OpenAPIModelName

func (in ConsolePluginList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginList) SwaggerDoc

func (ConsolePluginList) SwaggerDoc() map[string]string

type ConsolePluginProxy

type ConsolePluginProxy struct {
	// endpoint provides information about endpoint to which the request is proxied to.
	// +required
	Endpoint ConsolePluginProxyEndpoint `json:"endpoint"`
	// 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
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$`
	Alias string `json:"alias"`
	// 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?$`
	// +optional
	CACertificate string `json:"caCertificate,omitempty"`
	// authorization provides information about authorization type,
	// which the proxied request should contain
	// +kubebuilder:default:="None"
	// +optional
	Authorization AuthorizationType `json:"authorization,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) OpenAPIModelName

func (in ConsolePluginProxy) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginProxy) SwaggerDoc

func (ConsolePluginProxy) SwaggerDoc() map[string]string

type ConsolePluginProxyEndpoint

type ConsolePluginProxyEndpoint struct {
	// type is the type of the console plugin's proxy. Currently only "Service" is supported.
	//
	// ---
	// + When handling unknown values, consumers should report an error and stop processing the plugin.
	//
	// +required
	// +unionDiscriminator
	Type ConsolePluginProxyType `json:"type"`
	// 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.
	// +optional
	Service *ConsolePluginProxyServiceConfig `json:"service,omitempty"`
}

ConsolePluginProxyEndpoint holds information about the endpoint to which request will be proxied to. +union

func (*ConsolePluginProxyEndpoint) DeepCopy

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

func (*ConsolePluginProxyEndpoint) DeepCopyInto

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

func (ConsolePluginProxyEndpoint) OpenAPIModelName

func (in ConsolePluginProxyEndpoint) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginProxyEndpoint) SwaggerDoc

func (ConsolePluginProxyEndpoint) SwaggerDoc() map[string]string

type ConsolePluginProxyServiceConfig

type ConsolePluginProxyServiceConfig struct {
	// name of Service that the plugin needs to connect to.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Name string `json:"name"`
	// namespace of Service that the plugin needs to connect to
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Namespace string `json:"namespace"`
	// port on which the Service that the plugin needs to connect to
	// is listening on.
	// +required
	// +kubebuilder:validation:Maximum:=65535
	// +kubebuilder:validation:Minimum:=1
	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) OpenAPIModelName

func (in ConsolePluginProxyServiceConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginProxyServiceConfig) SwaggerDoc

type ConsolePluginProxyType

type ConsolePluginProxyType string

ProxyType is an enumeration of available proxy types +kubebuilder:validation:Enum:=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.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Name string `json:"name"`
	// namespace of Service that is serving the plugin assets.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Namespace string `json:"namespace"`
	// port on which the Service that is serving the plugin is listening to.
	// +required
	// +kubebuilder:validation:Maximum:=65535
	// +kubebuilder:validation:Minimum:=1
	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:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9.\-_~!$&'()*+,;=:@\/]*$`
	// +kubebuilder:default:="/"
	// +optional
	BasePath string `json:"basePath,omitempty"`
}

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) OpenAPIModelName

func (in ConsolePluginService) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginService) SwaggerDoc

func (ConsolePluginService) SwaggerDoc() map[string]string

type ConsolePluginSpec

type ConsolePluginSpec struct {
	// displayName is the display name of the plugin.
	// The dispalyName should be between 1 and 128 characters.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	DisplayName string `json:"displayName"`
	// backend holds the configuration of backend which is serving console's plugin .
	// +required
	Backend ConsolePluginBackend `json:"backend"`
	// proxy is a list of proxies that describe various service type
	// to which the plugin needs to connect to.
	// +listType=atomic
	// +optional
	Proxy []ConsolePluginProxy `json:"proxy,omitempty"`
	// i18n is the configuration of plugin's localization resources.
	// +optional
	I18n ConsolePluginI18n `json:"i18n"`
	// contentSecurityPolicy is a list of Content-Security-Policy (CSP) directives for the plugin.
	// Each directive specifies a list of values, appropriate for the given directive type,
	// for example a list of remote endpoints for fetch directives such as ScriptSrc.
	// Console web application uses CSP to detect and mitigate certain types of attacks,
	// such as cross-site scripting (XSS) and data injection attacks.
	// Dynamic plugins should specify this field if need to load assets from outside
	// the cluster or if violation reports are observed. Dynamic plugins should always prefer
	// loading their assets from within the cluster, either by vendoring them, or fetching
	// from a cluster service.
	// CSP violation reports can be viewed in the browser's console logs during development and
	// testing of the plugin in the OpenShift web console.
	// Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc, FontSrc and ConnectSrc.
	// Each of the available directives may be defined only once in the list.
	// The value 'self' is automatically included in all fetch directives by the OpenShift web
	// console's backend.
	// For more information about the CSP directives, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
	//
	// The OpenShift web console server aggregates the CSP directives and values across
	// its own default values and all enabled ConsolePlugin CRs, merging them into a single
	// policy string that is sent to the browser via `Content-Security-Policy` HTTP response header.
	//
	// Example:
	//   ConsolePlugin A directives:
	//     script-src: https://script1.com/, https://script2.com/
	//     font-src: https://font1.com/
	//
	//   ConsolePlugin B directives:
	//     script-src: https://script2.com/, https://script3.com/
	//     font-src: https://font2.com/
	//     img-src: https://img1.com/
	//
	//   Unified set of CSP directives, passed to the OpenShift web console server:
	//     script-src: https://script1.com/, https://script2.com/, https://script3.com/
	//     font-src: https://font1.com/, https://font2.com/
	//     img-src: https://img1.com/
	//
	//   OpenShift web console server CSP response header:
	//     Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'
	//
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:rule="self.map(x, x.values.map(y, y.size()).sum()).sum() < 8192",message="the total combined size of values of all directives must not exceed 8192 (8kb)"
	// +listType=map
	// +listMapKey=directive
	// +optional
	ContentSecurityPolicy []ConsolePluginCSP `json:"contentSecurityPolicy"`
}

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) OpenAPIModelName

func (in ConsolePluginSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsolePluginSpec) SwaggerDoc

func (ConsolePluginSpec) SwaggerDoc() map[string]string

type ConsoleQuickStart

type ConsoleQuickStart 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,omitempty"`

	// +required
	Spec ConsoleQuickStartSpec `json:"spec"`
}

ConsoleQuickStart is an extension for guiding user through various workflows in the OpenShift web console.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolequickstarts,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/750 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for guiding user through various workflows in the OpenShift web console." +kubebuilder:metadata:annotations="displayName=ConsoleQuickStart" +openshift:compatibility-gen:level=2

func (*ConsoleQuickStart) DeepCopy

func (in *ConsoleQuickStart) DeepCopy() *ConsoleQuickStart

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

func (*ConsoleQuickStart) DeepCopyInto

func (in *ConsoleQuickStart) DeepCopyInto(out *ConsoleQuickStart)

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

func (*ConsoleQuickStart) DeepCopyObject

func (in *ConsoleQuickStart) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleQuickStart) OpenAPIModelName

func (in ConsoleQuickStart) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStart) SwaggerDoc

func (ConsoleQuickStart) SwaggerDoc() map[string]string

type ConsoleQuickStartList

type ConsoleQuickStartList 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 []ConsoleQuickStart `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleQuickStartList) DeepCopy

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

func (*ConsoleQuickStartList) DeepCopyInto

func (in *ConsoleQuickStartList) DeepCopyInto(out *ConsoleQuickStartList)

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

func (*ConsoleQuickStartList) DeepCopyObject

func (in *ConsoleQuickStartList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleQuickStartList) OpenAPIModelName

func (in ConsoleQuickStartList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStartList) SwaggerDoc

func (ConsoleQuickStartList) SwaggerDoc() map[string]string

type ConsoleQuickStartSpec

type ConsoleQuickStartSpec struct {
	// displayName is the display name of the Quick Start.
	// +kubebuilder:validation:MinLength=1
	// +required
	DisplayName string `json:"displayName"`
	// icon is a base64 encoded image that will be displayed beside the Quick Start display name.
	// The icon should be an vector image for easy scaling. The size of the icon should be 40x40.
	// +optional
	Icon string `json:"icon,omitempty"`
	// tags is a list of strings that describe the Quick Start.
	// +optional
	Tags []string `json:"tags,omitempty"`
	// durationMinutes describes approximately how many minutes it will take to complete the Quick Start.
	// +kubebuilder:validation:Minimum=1
	// +required
	DurationMinutes int `json:"durationMinutes"`
	// description is the description of the Quick Start. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +required
	Description string `json:"description"`
	// prerequisites contains all prerequisites that need to be met before taking a Quick Start. (includes markdown)
	// +optional
	Prerequisites []string `json:"prerequisites,omitempty"`
	// introduction describes the purpose of the Quick Start. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Introduction string `json:"introduction"`
	// tasks is the list of steps the user has to perform to complete the Quick Start.
	// +kubebuilder:validation:MinItems=1
	// +required
	Tasks []ConsoleQuickStartTask `json:"tasks"`
	// conclusion sums up the Quick Start and suggests the possible next steps. (includes markdown)
	// +optional
	Conclusion string `json:"conclusion,omitempty"`
	// nextQuickStart is a list of the following Quick Starts, suggested for the user to try.
	// +optional
	NextQuickStart []string `json:"nextQuickStart,omitempty"`
	// accessReviewResources contains a list of resources that the user's access
	// will be reviewed against in order for the user to complete the Quick Start.
	// The Quick Start will be hidden if any of the access reviews fail.
	// +optional
	AccessReviewResources []authorizationv1.ResourceAttributes `json:"accessReviewResources,omitempty"`
}

ConsoleQuickStartSpec is the desired quick start configuration.

func (*ConsoleQuickStartSpec) DeepCopy

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

func (*ConsoleQuickStartSpec) DeepCopyInto

func (in *ConsoleQuickStartSpec) DeepCopyInto(out *ConsoleQuickStartSpec)

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

func (ConsoleQuickStartSpec) OpenAPIModelName

func (in ConsoleQuickStartSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStartSpec) SwaggerDoc

func (ConsoleQuickStartSpec) SwaggerDoc() map[string]string

type ConsoleQuickStartTask

type ConsoleQuickStartTask struct {
	// title describes the task and is displayed as a step heading.
	// +kubebuilder:validation:MinLength=1
	// +required
	Title string `json:"title"`
	// description describes the steps needed to complete the task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Description string `json:"description"`
	// review contains instructions to validate the task is complete. The user will select 'Yes' or 'No'.
	// using a radio button, which indicates whether the step was completed successfully.
	// +optional
	Review *ConsoleQuickStartTaskReview `json:"review,omitempty"`
	// summary contains information about the passed step.
	// +optional
	Summary *ConsoleQuickStartTaskSummary `json:"summary,omitempty"`
}

ConsoleQuickStartTask is a single step in a Quick Start.

func (*ConsoleQuickStartTask) DeepCopy

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

func (*ConsoleQuickStartTask) DeepCopyInto

func (in *ConsoleQuickStartTask) DeepCopyInto(out *ConsoleQuickStartTask)

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

func (ConsoleQuickStartTask) OpenAPIModelName

func (in ConsoleQuickStartTask) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStartTask) SwaggerDoc

func (ConsoleQuickStartTask) SwaggerDoc() map[string]string

type ConsoleQuickStartTaskReview

type ConsoleQuickStartTaskReview struct {
	// instructions contains steps that user needs to take in order
	// to validate his work after going through a task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Instructions string `json:"instructions"`
	// failedTaskHelp contains suggestions for a failed task review and is shown at the end of task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	FailedTaskHelp string `json:"failedTaskHelp"`
}

ConsoleQuickStartTaskReview contains instructions that validate a task was completed successfully.

func (*ConsoleQuickStartTaskReview) DeepCopy

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

func (*ConsoleQuickStartTaskReview) DeepCopyInto

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

func (ConsoleQuickStartTaskReview) OpenAPIModelName

func (in ConsoleQuickStartTaskReview) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStartTaskReview) SwaggerDoc

func (ConsoleQuickStartTaskReview) SwaggerDoc() map[string]string

type ConsoleQuickStartTaskSummary

type ConsoleQuickStartTaskSummary struct {
	// success describes the succesfully passed task.
	// +kubebuilder:validation:MinLength=1
	// +required
	Success string `json:"success"`
	// failed briefly describes the unsuccessfully passed task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	// +required
	Failed string `json:"failed"`
}

ConsoleQuickStartTaskSummary contains information about a passed step.

func (*ConsoleQuickStartTaskSummary) DeepCopy

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

func (*ConsoleQuickStartTaskSummary) DeepCopyInto

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

func (ConsoleQuickStartTaskSummary) OpenAPIModelName

func (in ConsoleQuickStartTaskSummary) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleQuickStartTaskSummary) SwaggerDoc

func (ConsoleQuickStartTaskSummary) SwaggerDoc() map[string]string

type ConsoleSample

type ConsoleSample 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"`

	// spec contains configuration for a console sample.
	// +required
	Spec ConsoleSampleSpec `json:"spec"`
}

ConsoleSample is an extension to customizing OpenShift web console by adding samples.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolesamples,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=ConsoleSample is an extension to customizing OpenShift web console by adding samples." +kubebuilder:metadata:annotations="displayName=ConsoleSample" +openshift:compatibility-gen:level=1

func (*ConsoleSample) DeepCopy

func (in *ConsoleSample) DeepCopy() *ConsoleSample

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

func (*ConsoleSample) DeepCopyInto

func (in *ConsoleSample) DeepCopyInto(out *ConsoleSample)

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

func (*ConsoleSample) DeepCopyObject

func (in *ConsoleSample) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleSample) OpenAPIModelName

func (in ConsoleSample) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSample) SwaggerDoc

func (ConsoleSample) SwaggerDoc() map[string]string

type ConsoleSampleContainerImportSource

type ConsoleSampleContainerImportSource struct {
	// reference to a container image that provides a HTTP service.
	// The service must be exposed on the default port (8080) unless
	// otherwise configured with the port field.
	//
	// Supported formats:
	//   - <repository-name>/<image-name>
	//   - docker.io/<repository-name>/<image-name>
	//   - quay.io/<repository-name>/<image-name>
	//   - quay.io/<repository-name>/<image-name>@sha256:<image hash>
	//   - quay.io/<repository-name>/<image-name>:<tag>
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Image string `json:"image"`
	// service contains configuration for the Service resource created for this sample.
	// +optional
	// +kubebuilder:default={"targetPort": 8080}
	// +default:={"targetPort": 8080}
	Service ConsoleSampleContainerImportSourceService `json:"service"`
}

ConsoleSampleContainerImportSource let the user import a container image.

func (*ConsoleSampleContainerImportSource) DeepCopy

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

func (*ConsoleSampleContainerImportSource) DeepCopyInto

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

func (ConsoleSampleContainerImportSource) OpenAPIModelName

func (in ConsoleSampleContainerImportSource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleContainerImportSource) SwaggerDoc

type ConsoleSampleContainerImportSourceService

type ConsoleSampleContainerImportSourceService struct {
	// targetPort is the port that the service listens on for HTTP requests.
	// This port will be used for Service and Route created for this sample.
	// Port must be in the range 1 to 65535.
	// Default port is 8080.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8080
	// +default:=8080
	TargetPort int32 `json:"targetPort,omitempty"`
}

ConsoleSampleContainerImportSourceService let the samples author define defaults for the Service created for this sample.

func (*ConsoleSampleContainerImportSourceService) DeepCopy

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

func (*ConsoleSampleContainerImportSourceService) DeepCopyInto

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

func (ConsoleSampleContainerImportSourceService) OpenAPIModelName

func (in ConsoleSampleContainerImportSourceService) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleContainerImportSourceService) SwaggerDoc

type ConsoleSampleGitImportSource

type ConsoleSampleGitImportSource struct {
	// repository contains the reference to the actual Git repository.
	// +required
	Repository ConsoleSampleGitImportSourceRepository `json:"repository"`
	// service contains configuration for the Service resource created for this sample.
	// +optional
	// +kubebuilder:default={"targetPort": 8080}
	// +default:={"targetPort": 8080}
	Service ConsoleSampleGitImportSourceService `json:"service"`
}

ConsoleSampleGitImportSource let the user import code from a public Git repository.

func (*ConsoleSampleGitImportSource) DeepCopy

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

func (*ConsoleSampleGitImportSource) DeepCopyInto

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

func (ConsoleSampleGitImportSource) OpenAPIModelName

func (in ConsoleSampleGitImportSource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleGitImportSource) SwaggerDoc

func (ConsoleSampleGitImportSource) SwaggerDoc() map[string]string

type ConsoleSampleGitImportSourceRepository

type ConsoleSampleGitImportSourceRepository struct {
	// url of the Git repository that contains a HTTP service.
	// The HTTP service must be exposed on the default port (8080) unless
	// otherwise configured with the port field.
	//
	// Only public repositories on GitHub, GitLab and Bitbucket are currently supported:
	//
	//   - https://github.com/<org>/<repository>
	//   - https://gitlab.com/<org>/<repository>
	//   - https://bitbucket.org/<org>/<repository>
	//
	// The url must have a maximum length of 256 characters.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^https:\/\/(github.com|gitlab.com|bitbucket.org)\/[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+(.git)?$`
	URL string `json:"url"`
	// revision is the git revision at which to clone the git repository
	// Can be used to clone a specific branch, tag or commit SHA.
	// Must be at most 256 characters in length.
	// When omitted the repository's default branch is used.
	// +optional
	// +kubebuilder:validation:MaxLength=256
	Revision string `json:"revision"`
	// contextDir is used to specify a directory within the repository to build the
	// component.
	// Must start with `/` and have a maximum length of 256 characters.
	// When omitted, the default value is to build from the root of the repository.
	// +optional
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^/`
	ContextDir string `json:"contextDir"`
}

ConsoleSampleGitImportSourceRepository let the user import code from a public git repository.

func (*ConsoleSampleGitImportSourceRepository) DeepCopy

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

func (*ConsoleSampleGitImportSourceRepository) DeepCopyInto

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

func (ConsoleSampleGitImportSourceRepository) OpenAPIModelName

func (in ConsoleSampleGitImportSourceRepository) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleGitImportSourceRepository) SwaggerDoc

type ConsoleSampleGitImportSourceService

type ConsoleSampleGitImportSourceService struct {
	// targetPort is the port that the service listens on for HTTP requests.
	// This port will be used for Service created for this sample.
	// Port must be in the range 1 to 65535.
	// Default port is 8080.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8080
	// +default:=8080
	TargetPort int32 `json:"targetPort,omitempty"`
}

ConsoleSampleGitImportSourceService let the samples author define defaults for the Service created for this sample.

func (*ConsoleSampleGitImportSourceService) DeepCopy

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

func (*ConsoleSampleGitImportSourceService) DeepCopyInto

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

func (ConsoleSampleGitImportSourceService) OpenAPIModelName

func (in ConsoleSampleGitImportSourceService) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleGitImportSourceService) SwaggerDoc

type ConsoleSampleList

type ConsoleSampleList 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 []ConsoleSample `json:"items"`
}

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ConsoleSampleList) DeepCopy

func (in *ConsoleSampleList) DeepCopy() *ConsoleSampleList

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

func (*ConsoleSampleList) DeepCopyInto

func (in *ConsoleSampleList) DeepCopyInto(out *ConsoleSampleList)

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

func (*ConsoleSampleList) DeepCopyObject

func (in *ConsoleSampleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleSampleList) OpenAPIModelName

func (in ConsoleSampleList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleList) SwaggerDoc

func (ConsoleSampleList) SwaggerDoc() map[string]string

type ConsoleSampleSource

type ConsoleSampleSource struct {
	// type of the sample, currently supported: "GitImport";"ContainerImport"
	// +unionDiscriminator
	// +required
	Type ConsoleSampleSourceType `json:"type"`

	// gitImport allows the user to import code from a git repository.
	// +unionMember
	// +optional
	GitImport *ConsoleSampleGitImportSource `json:"gitImport,omitempty"`

	// containerImport allows the user import a container image.
	// +unionMember
	// +optional
	ContainerImport *ConsoleSampleContainerImportSource `json:"containerImport,omitempty"`
}

ConsoleSampleSource is the actual sample definition and can hold different sample types. Unsupported sample types will be ignored in the web console. +union +kubebuilder:validation:XValidation:rule="self.type == 'GitImport' ? has(self.gitImport) : !has(self.gitImport)",message="source.gitImport is required when source.type is GitImport, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="self.type == 'ContainerImport' ? has(self.containerImport) : !has(self.containerImport)",message="source.containerImport is required when source.type is ContainerImport, and forbidden otherwise"

func (*ConsoleSampleSource) DeepCopy

func (in *ConsoleSampleSource) DeepCopy() *ConsoleSampleSource

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

func (*ConsoleSampleSource) DeepCopyInto

func (in *ConsoleSampleSource) DeepCopyInto(out *ConsoleSampleSource)

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

func (ConsoleSampleSource) OpenAPIModelName

func (in ConsoleSampleSource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleSource) SwaggerDoc

func (ConsoleSampleSource) SwaggerDoc() map[string]string

type ConsoleSampleSourceType

type ConsoleSampleSourceType string

ConsoleSampleSourceType is an enumeration of the supported sample types. Unsupported samples types will be ignored in the web console. +kubebuilder:validation:Enum:="GitImport";"ContainerImport" +enum

const (
	// A sample that let the user import code from a git repository.
	GitImport ConsoleSampleSourceType = "GitImport"
	// A sample that let the user import a container image.
	ContainerImport ConsoleSampleSourceType = "ContainerImport"
)

type ConsoleSampleSpec

type ConsoleSampleSpec struct {
	// title is the display name of the sample.
	//
	// It is required and must be no more than 50 characters in length.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=50
	Title string `json:"title"`

	// abstract is a short introduction to the sample.
	//
	// It is required and must be no more than 100 characters in length.
	//
	// The abstract is shown on the sample card tile below the title and provider
	// and is limited to three lines of content.
	// +required
	// +kubebuilder:validation:MaxLength=100
	Abstract string `json:"abstract"`

	// description is a long form explanation of the sample.
	//
	// It is required and can have a maximum length of **4096** characters.
	//
	// It is a README.md-like content for additional information, links, pre-conditions, and other instructions.
	// It will be rendered as Markdown so that it can contain line breaks, links, and other simple formatting.
	// +required
	// +kubebuilder:validation:MaxLength=4096
	Description string `json:"description"`

	// icon is an optional base64 encoded image and shown beside the sample title.
	//
	// The format must follow the data: URL format and can have a maximum size of **10 KB**.
	//
	//   data:[<mediatype>][;base64],<base64 encoded image>
	//
	// For example:
	//
	//   data:image;base64,             plus the base64 encoded image.
	//
	// Vector images can also be used. SVG icons must start with:
	//
	//   data:image/svg+xml;base64,     plus the base64 encoded SVG image.
	//
	// All sample catalog icons will be shown on a white background (also when the dark theme is used).
	// The web console ensures that different aspect ratios work correctly.
	// Currently, the surface of the icon is at most 40x100px.
	//
	// For more information on the data URL format, please visit
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs.
	// +optional
	// +kubebuilder:validation:Pattern=`^data:([a-z/\.+0-9]*;(([-a-zA-Z0-9=])*;)?)?base64,`
	// +kubebuilder:validation:MaxLength=14000
	Icon string `json:"icon"`

	// type is an optional label to group multiple samples.
	//
	// It is optional and must be no more than 20 characters in length.
	//
	// Recommendation is a singular term like "Builder Image", "Devfile" or "Serverless Function".
	//
	// Currently, the type is shown a badge on the sample card tile in the top right corner.
	// +optional
	// +kubebuilder:validation:MaxLength=20
	Type string `json:"type"`

	// provider is an optional label to honor who provides the sample.
	//
	// It is optional and must be no more than 50 characters in length.
	//
	// A provider can be a company like "Red Hat" or an organization like "CNCF" or "Knative".
	//
	// Currently, the provider is only shown on the sample card tile below the title with the prefix "Provided by "
	// +optional
	// +kubebuilder:validation:MaxLength=50
	Provider string `json:"provider"`

	// tags are optional string values that can be used to find samples in the samples catalog.
	//
	// Examples of common tags may be "Java", "Quarkus", etc.
	//
	// They will be displayed on the samples details page.
	// +optional
	// +listType=set
	// +kubebuilder:validation:MaxItems:=10
	Tags []string `json:"tags"`

	// source defines where to deploy the sample service from.
	// The sample may be sourced from an external git repository or container image.
	// +required
	Source ConsoleSampleSource `json:"source"`
}

ConsoleSampleSpec is the desired sample for the web console. Samples will appear with their title, descriptions and a badge in a samples catalog.

func (*ConsoleSampleSpec) DeepCopy

func (in *ConsoleSampleSpec) DeepCopy() *ConsoleSampleSpec

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

func (*ConsoleSampleSpec) DeepCopyInto

func (in *ConsoleSampleSpec) DeepCopyInto(out *ConsoleSampleSpec)

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

func (ConsoleSampleSpec) OpenAPIModelName

func (in ConsoleSampleSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleSampleSpec) SwaggerDoc

func (ConsoleSampleSpec) SwaggerDoc() map[string]string

type ConsoleYAMLSample

type ConsoleYAMLSample 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"`

	Spec ConsoleYAMLSampleSpec `json:"spec"`
}

ConsoleYAMLSample is an extension for customizing OpenShift web console YAML samples.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleyamlsamples,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console YAML samples." +kubebuilder:metadata:annotations="displayName=ConsoleYAMLSample" +openshift:compatibility-gen:level=2

func (*ConsoleYAMLSample) DeepCopy

func (in *ConsoleYAMLSample) DeepCopy() *ConsoleYAMLSample

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

func (*ConsoleYAMLSample) DeepCopyInto

func (in *ConsoleYAMLSample) DeepCopyInto(out *ConsoleYAMLSample)

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

func (*ConsoleYAMLSample) DeepCopyObject

func (in *ConsoleYAMLSample) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleYAMLSample) OpenAPIModelName

func (in ConsoleYAMLSample) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleYAMLSample) SwaggerDoc

func (ConsoleYAMLSample) SwaggerDoc() map[string]string

type ConsoleYAMLSampleDescription

type ConsoleYAMLSampleDescription string

ConsoleYAMLSampleDescription of the YAML sample. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type ConsoleYAMLSampleList

type ConsoleYAMLSampleList 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 []ConsoleYAMLSample `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleYAMLSampleList) DeepCopy

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

func (*ConsoleYAMLSampleList) DeepCopyInto

func (in *ConsoleYAMLSampleList) DeepCopyInto(out *ConsoleYAMLSampleList)

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

func (*ConsoleYAMLSampleList) DeepCopyObject

func (in *ConsoleYAMLSampleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleYAMLSampleList) OpenAPIModelName

func (in ConsoleYAMLSampleList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleYAMLSampleList) SwaggerDoc

func (ConsoleYAMLSampleList) SwaggerDoc() map[string]string

type ConsoleYAMLSampleSpec

type ConsoleYAMLSampleSpec struct {
	// targetResource contains apiVersion and kind of the resource
	// YAML sample is representating.
	TargetResource metav1.TypeMeta `json:"targetResource"`
	// title of the YAML sample.
	Title ConsoleYAMLSampleTitle `json:"title"`
	// description of the YAML sample.
	Description ConsoleYAMLSampleDescription `json:"description"`
	// yaml is the YAML sample to display.
	YAML ConsoleYAMLSampleYAML `json:"yaml"`
	// snippet indicates that the YAML sample is not the full YAML resource
	// definition, but a fragment that can be inserted into the existing
	// YAML document at the user's cursor.
	// +optional
	Snippet bool `json:"snippet"`
}

ConsoleYAMLSampleSpec is the desired YAML sample configuration. Samples will appear with their descriptions in a samples sidebar when creating a resources in the web console.

func (*ConsoleYAMLSampleSpec) DeepCopy

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

func (*ConsoleYAMLSampleSpec) DeepCopyInto

func (in *ConsoleYAMLSampleSpec) DeepCopyInto(out *ConsoleYAMLSampleSpec)

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

func (ConsoleYAMLSampleSpec) OpenAPIModelName

func (in ConsoleYAMLSampleSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ConsoleYAMLSampleSpec) SwaggerDoc

func (ConsoleYAMLSampleSpec) SwaggerDoc() map[string]string

type ConsoleYAMLSampleTitle

type ConsoleYAMLSampleTitle string

ConsoleYAMLSampleTitle of the YAML sample. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type ConsoleYAMLSampleYAML

type ConsoleYAMLSampleYAML string

ConsoleYAMLSampleYAML is the YAML sample to display. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type DirectiveType

type DirectiveType string

DirectiveType is an enumeration of OpenShift web console supported CSP directives. LoadType is an enumeration of i18n loading types. +kubebuilder:validation:Enum:="DefaultSrc";"ScriptSrc";"StyleSrc";"ImgSrc";"FontSrc";"ConnectSrc" +enum

const (
	// DefaultSrc directive serves as a fallback for the other CSP fetch directives.
	// For more information about the DefaultSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
	DefaultSrc DirectiveType = "DefaultSrc"
	// ScriptSrc directive specifies valid sources for JavaScript.
	// For more information about the ScriptSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src
	ScriptSrc DirectiveType = "ScriptSrc"
	// StyleSrc directive specifies valid sources for stylesheets.
	// For more information about the StyleSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
	StyleSrc DirectiveType = "StyleSrc"
	// ImgSrc directive specifies a valid sources of images and favicons.
	// For more information about the ImgSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src
	ImgSrc DirectiveType = "ImgSrc"
	// FontSrc directive specifies valid sources for fonts loaded using @font-face.
	// For more information about the FontSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src
	FontSrc DirectiveType = "FontSrc"
	// ConnectSrc directive restricts the URLs which can be loaded using script interfaces.
	// For more information about the ConnectSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src
	ConnectSrc DirectiveType = "ConnectSrc"
)
type Link struct {
	// text is the display text for the link
	Text string `json:"text"`
	// href is the absolute URL for the link. Must use https:// for web URLs or mailto: for email links.
	// +kubebuilder:validation:Pattern=`^(https://|mailto:)`
	Href string `json:"href"`
}

Represents a standard link that could be generated in HTML

func (*Link) DeepCopy

func (in *Link) DeepCopy() *Link

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

func (*Link) DeepCopyInto

func (in *Link) DeepCopyInto(out *Link)

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

func (Link) OpenAPIModelName

func (in Link) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (Link) SwaggerDoc

func (Link) SwaggerDoc() map[string]string

type LoadType

type LoadType string

LoadType is an enumeration of i18n loading types +kubebuilder:validation:Enum:=Preload;Lazy;""

const (
	// Preload will load all plugin's localization resources during
	// loading of the plugin.
	Preload LoadType = "Preload"
	// Lazy wont preload any plugin's localization resources, instead
	// will leave thier loading to runtime's lazy-loading.
	Lazy LoadType = "Lazy"
	// Empty is the default value of the LoadType field and it's
	// purpose is to improve discoverability of the field. The
	// the behaviour is equivalent to Lazy type.
	Empty LoadType = ""
)

type NamespaceDashboardSpec

type NamespaceDashboardSpec struct {
	// namespaces is an array of namespace names in which the dashboard link should appear.
	//
	// +optional
	Namespaces []string `json:"namespaces,omitempty"`
	// namespaceSelector is used to select the Namespaces that should contain dashboard link by label.
	// If the namespace labels match, dashboard link will be shown for the namespaces.
	//
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

NamespaceDashboardSpec is a specification of namespaces in which the dashboard link should appear. If both namespaces and namespaceSelector are specified, the link will appear in namespaces that match either

func (*NamespaceDashboardSpec) DeepCopy

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

func (*NamespaceDashboardSpec) DeepCopyInto

func (in *NamespaceDashboardSpec) DeepCopyInto(out *NamespaceDashboardSpec)

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

func (NamespaceDashboardSpec) OpenAPIModelName

func (in NamespaceDashboardSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NamespaceDashboardSpec) SwaggerDoc

func (NamespaceDashboardSpec) SwaggerDoc() map[string]string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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