Documentation
¶
Overview ¶
+groupName=console.openshift.io Package v1 is the v1 version of the API.
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type ApplicationMenuSpec
- type AuthorizationType
- type CLIDownloadLink
- type CSPDirectiveValue
- type ConsoleCLIDownload
- type ConsoleCLIDownloadList
- type ConsoleCLIDownloadSpec
- type ConsoleExternalLogLink
- type ConsoleExternalLogLinkList
- type ConsoleExternalLogLinkSpec
- type ConsoleLink
- type ConsoleLinkList
- type ConsoleLinkLocation
- type ConsoleLinkSpec
- type ConsoleNotification
- type ConsoleNotificationList
- type ConsoleNotificationLocation
- type ConsoleNotificationSpec
- type ConsolePlugin
- type ConsolePluginBackend
- type ConsolePluginBackendType
- type ConsolePluginCSP
- type ConsolePluginI18n
- type ConsolePluginList
- type ConsolePluginProxy
- type ConsolePluginProxyEndpoint
- type ConsolePluginProxyServiceConfig
- type ConsolePluginProxyType
- type ConsolePluginService
- type ConsolePluginSpec
- type ConsoleQuickStart
- type ConsoleQuickStartList
- type ConsoleQuickStartSpec
- type ConsoleQuickStartTask
- type ConsoleQuickStartTaskReview
- type ConsoleQuickStartTaskSummary
- type ConsoleSample
- type ConsoleSampleContainerImportSource
- type ConsoleSampleContainerImportSourceService
- func (in *ConsoleSampleContainerImportSourceService) DeepCopy() *ConsoleSampleContainerImportSourceService
- func (in *ConsoleSampleContainerImportSourceService) DeepCopyInto(out *ConsoleSampleContainerImportSourceService)
- func (ConsoleSampleContainerImportSourceService) SwaggerDoc() map[string]string
- type ConsoleSampleGitImportSource
- type ConsoleSampleGitImportSourceRepository
- type ConsoleSampleGitImportSourceService
- type ConsoleSampleList
- type ConsoleSampleSource
- type ConsoleSampleSourceType
- type ConsoleSampleSpec
- type ConsoleYAMLSample
- type ConsoleYAMLSampleDescription
- type ConsoleYAMLSampleList
- type ConsoleYAMLSampleSpec
- type ConsoleYAMLSampleTitle
- type ConsoleYAMLSampleYAML
- type DirectiveType
- type Link
- type LoadType
- type NamespaceDashboardSpec
Constants ¶
This section is empty.
Variables ¶
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) 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 ¶
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) 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) 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 ¶
func (in *ConsoleCLIDownloadList) DeepCopy() *ConsoleCLIDownloadList
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) 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 ¶
func (in *ConsoleCLIDownloadSpec) DeepCopy() *ConsoleCLIDownloadSpec
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) SwaggerDoc ¶
func (ConsoleCLIDownloadSpec) SwaggerDoc() map[string]string
type ConsoleExternalLogLink ¶
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 ¶
func (in *ConsoleExternalLogLink) DeepCopy() *ConsoleExternalLogLink
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) SwaggerDoc ¶
func (ConsoleExternalLogLink) SwaggerDoc() map[string]string
type ConsoleExternalLogLinkList ¶
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 ¶
func (in *ConsoleExternalLogLinkList) DeepCopy() *ConsoleExternalLogLinkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleExternalLogLinkList.
func (*ConsoleExternalLogLinkList) DeepCopyInto ¶
func (in *ConsoleExternalLogLinkList) DeepCopyInto(out *ConsoleExternalLogLinkList)
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) 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 ¶
func (in *ConsoleExternalLogLinkSpec) DeepCopy() *ConsoleExternalLogLinkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleExternalLogLinkSpec.
func (*ConsoleExternalLogLinkSpec) DeepCopyInto ¶
func (in *ConsoleExternalLogLinkSpec) DeepCopyInto(out *ConsoleExternalLogLinkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsoleExternalLogLinkSpec) SwaggerDoc ¶
func (ConsoleExternalLogLinkSpec) SwaggerDoc() map[string]string
type ConsoleLink ¶
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) SwaggerDoc ¶
func (ConsoleLink) SwaggerDoc() map[string]string
type ConsoleLinkList ¶
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) 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) 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) 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 ¶
func (in *ConsoleNotificationList) DeepCopy() *ConsoleNotificationList
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) 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 ¶
func (in *ConsoleNotificationSpec) DeepCopy() *ConsoleNotificationSpec
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) 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) 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 ¶
func (in *ConsolePluginBackend) DeepCopy() *ConsolePluginBackend
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) 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) 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) 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) 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) 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 ¶
func (in *ConsolePluginProxyEndpoint) DeepCopy() *ConsolePluginProxyEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyEndpoint.
func (*ConsolePluginProxyEndpoint) DeepCopyInto ¶
func (in *ConsolePluginProxyEndpoint) DeepCopyInto(out *ConsolePluginProxyEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ConsolePluginProxyServiceConfig) DeepCopy() *ConsolePluginProxyServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyServiceConfig.
func (*ConsolePluginProxyServiceConfig) DeepCopyInto ¶
func (in *ConsolePluginProxyServiceConfig) DeepCopyInto(out *ConsolePluginProxyServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginProxyServiceConfig) SwaggerDoc ¶
func (ConsolePluginProxyServiceConfig) SwaggerDoc() map[string]string
type ConsolePluginProxyType ¶
type ConsolePluginProxyType string
ProxyType is an enumeration of available proxy types +kubebuilder:validation: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 ¶
func (in *ConsolePluginService) DeepCopy() *ConsolePluginService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginService.
func (*ConsolePluginService) DeepCopyInto ¶
func (in *ConsolePluginService) DeepCopyInto(out *ConsolePluginService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsolePluginService) SwaggerDoc ¶
func (ConsolePluginService) SwaggerDoc() map[string]string
type ConsolePluginSpec ¶
type ConsolePluginSpec struct {
// displayName is the display name of the plugin.
// 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'
//
// +openshift:enable:FeatureGate=ConsolePluginContentSecurityPolicy
// +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) 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) 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 ¶
func (in *ConsoleQuickStartList) DeepCopy() *ConsoleQuickStartList
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) 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 ¶
func (in *ConsoleQuickStartSpec) DeepCopy() *ConsoleQuickStartSpec
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) 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 ¶
func (in *ConsoleQuickStartTask) DeepCopy() *ConsoleQuickStartTask
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) 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 ¶
func (in *ConsoleQuickStartTaskReview) DeepCopy() *ConsoleQuickStartTaskReview
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartTaskReview.
func (*ConsoleQuickStartTaskReview) DeepCopyInto ¶
func (in *ConsoleQuickStartTaskReview) DeepCopyInto(out *ConsoleQuickStartTaskReview)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ConsoleQuickStartTaskSummary) DeepCopy() *ConsoleQuickStartTaskSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartTaskSummary.
func (*ConsoleQuickStartTaskSummary) DeepCopyInto ¶
func (in *ConsoleQuickStartTaskSummary) DeepCopyInto(out *ConsoleQuickStartTaskSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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) 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 ¶
func (in *ConsoleSampleContainerImportSource) DeepCopy() *ConsoleSampleContainerImportSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleContainerImportSource.
func (*ConsoleSampleContainerImportSource) DeepCopyInto ¶
func (in *ConsoleSampleContainerImportSource) DeepCopyInto(out *ConsoleSampleContainerImportSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsoleSampleContainerImportSource) SwaggerDoc ¶
func (ConsoleSampleContainerImportSource) SwaggerDoc() map[string]string
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 ¶
func (in *ConsoleSampleContainerImportSourceService) DeepCopy() *ConsoleSampleContainerImportSourceService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleContainerImportSourceService.
func (*ConsoleSampleContainerImportSourceService) DeepCopyInto ¶
func (in *ConsoleSampleContainerImportSourceService) DeepCopyInto(out *ConsoleSampleContainerImportSourceService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsoleSampleContainerImportSourceService) SwaggerDoc ¶
func (ConsoleSampleContainerImportSourceService) SwaggerDoc() map[string]string
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 ¶
func (in *ConsoleSampleGitImportSource) DeepCopy() *ConsoleSampleGitImportSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSource.
func (*ConsoleSampleGitImportSource) DeepCopyInto ¶
func (in *ConsoleSampleGitImportSource) DeepCopyInto(out *ConsoleSampleGitImportSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ConsoleSampleGitImportSourceRepository) DeepCopy() *ConsoleSampleGitImportSourceRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSourceRepository.
func (*ConsoleSampleGitImportSourceRepository) DeepCopyInto ¶
func (in *ConsoleSampleGitImportSourceRepository) DeepCopyInto(out *ConsoleSampleGitImportSourceRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsoleSampleGitImportSourceRepository) SwaggerDoc ¶
func (ConsoleSampleGitImportSourceRepository) SwaggerDoc() map[string]string
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 ¶
func (in *ConsoleSampleGitImportSourceService) DeepCopy() *ConsoleSampleGitImportSourceService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSourceService.
func (*ConsoleSampleGitImportSourceService) DeepCopyInto ¶
func (in *ConsoleSampleGitImportSourceService) DeepCopyInto(out *ConsoleSampleGitImportSourceService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConsoleSampleGitImportSourceService) SwaggerDoc ¶
func (ConsoleSampleGitImportSourceService) SwaggerDoc() map[string]string
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) SwaggerDoc ¶
func (ConsoleSampleList) SwaggerDoc() map[string]string
type ConsoleSampleSource ¶
type ConsoleSampleSource struct {
// type of the sample, currently supported: "GitImport";"ContainerImport"
// +unionDiscriminator
// +required
// +kubebuilder:validation:Enum:="GitImport";"ContainerImport"
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) 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
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) 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) 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 ¶
func (in *ConsoleYAMLSampleList) DeepCopy() *ConsoleYAMLSampleList
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) 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 ¶
func (in *ConsoleYAMLSampleSpec) DeepCopy() *ConsoleYAMLSampleSpec
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) 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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Link.
func (*Link) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Link) SwaggerDoc ¶
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 ¶
func (in *NamespaceDashboardSpec) DeepCopy() *NamespaceDashboardSpec
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) SwaggerDoc ¶
func (NamespaceDashboardSpec) SwaggerDoc() map[string]string
Source Files
¶
- doc.go
- register.go
- types.go
- types_console_cli_download.go
- types_console_external_log_links.go
- types_console_link.go
- types_console_notification.go
- types_console_plugin.go
- types_console_quick_start.go
- types_console_sample.go
- types_console_yaml_sample.go
- zz_generated.deepcopy.go
- zz_generated.swagger_doc_generated.go