v1alpha1

package
v0.0.0-...-488f3f5 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the hawtio v1alpha1 API group +kubebuilder:object:generate=true +groupName=hawt.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "hawt.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

This section is empty.

Types

type Hawtio

type Hawtio struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   HawtioSpec   `json:"spec,omitempty"`
	Status HawtioStatus `json:"status,omitempty"`
}

Hawtio is the Schema for the Hawtio Console API.

func (*Hawtio) DeepCopy

func (in *Hawtio) DeepCopy() *Hawtio

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

func (*Hawtio) DeepCopyInto

func (in *Hawtio) DeepCopyInto(out *Hawtio)

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

func (*Hawtio) DeepCopyObject

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

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

type HawtioAbout

type HawtioAbout struct {
	// The title of the page
	Title string `json:"title,omitempty"`
	// List of product information
	ProductInfos []HawtioProductInfo `json:"productInfo,omitempty"`
	// The text for the description section
	AdditionalInfo string `json:"additionalInfo,omitempty"`
	// The text for the copyright section
	Copyright string `json:"copyright,omitempty"`
	// The image displayed in the page.
	// It can be a path, relative to the Hawtio status URL, or an absolute URL.
	ImgSrc string `json:"imgSrc,omitempty"`
}

The About page information

func (*HawtioAbout) DeepCopy

func (in *HawtioAbout) DeepCopy() *HawtioAbout

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

func (*HawtioAbout) DeepCopyInto

func (in *HawtioAbout) DeepCopyInto(out *HawtioAbout)

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

type HawtioAuth

type HawtioAuth struct {
	// The generated client certificate CN
	ClientCertCommonName string `json:"clientCertCommonName,omitempty"`
	// The generated client certificate expiration date
	ClientCertExpirationDate *metav1.Time `json:"clientCertExpirationDate,omitempty"`
	// CronJob schedule that defines how often the expiry of the certificate will be checked.
	// Client rotation isn't enabled if the schedule isn't set.
	ClientCertCheckSchedule string `json:"clientCertCheckSchedule,omitempty"`
	// The duration in hours before the expiration date, during which the certification can be rotated.
	// The default is set to 24 hours.
	ClientCertExpirationPeriod int `json:"clientCertExpirationPeriod,omitempty"`
}

The authentication configuration

func (*HawtioAuth) DeepCopy

func (in *HawtioAuth) DeepCopy() *HawtioAuth

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

func (*HawtioAuth) DeepCopyInto

func (in *HawtioAuth) DeepCopyInto(out *HawtioAuth)

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

type HawtioBranding

type HawtioBranding struct {
	// The application title, that usually displays in the Web browser tab.
	AppName string `json:"appName,omitempty"`
	// The URL of the logo, that displays in the navigation bar.
	// It can be a path, relative to the Hawtio status URL, or an absolute URL.
	AppLogoURL string `json:"appLogoUrl,omitempty"`
	// The URL of an external CSS stylesheet, that can be used to style the application.
	// It can be a path, relative to the Hawtio status URL, or an absolute URL.
	CSS string `json:"css,omitempty"`
	// The URL of the favicon, that usually displays in the Web browser tab.
	// It can be a path, relative to the Hawtio status URL, or an absolute URL.
	Favicon string `json:"favicon,omitempty"`
}

The UI branding

func (*HawtioBranding) DeepCopy

func (in *HawtioBranding) DeepCopy() *HawtioBranding

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

func (*HawtioBranding) DeepCopyInto

func (in *HawtioBranding) DeepCopyInto(out *HawtioBranding)

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

type HawtioConfig

type HawtioConfig struct {
	// The information to be displayed in the About page
	About HawtioAbout `json:"about,omitempty"`
	// The UI branding
	Branding HawtioBranding `json:"branding,omitempty"`
	// The OpenShift related configuration
	Online HawtioOnline `json:"online,omitempty"`
	// Disables UI components with matching routes
	DisabledRoutes []string `json:"disabledRoutes,omitempty"`
}

HawtioConfig defines the hawtconfig.json structure. This type reflects only part of the whole definitions hawtconfig.json can have. Only the options that may be used by the operator are defined.

func (*HawtioConfig) DeepCopy

func (in *HawtioConfig) DeepCopy() *HawtioConfig

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

func (*HawtioConfig) DeepCopyInto

func (in *HawtioConfig) DeepCopyInto(out *HawtioConfig)

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

type HawtioConsoleLink struct {
	// The text display for the link
	Text string `json:"text,omitempty"`
	// The section of the application menu in which the link should appear.
	//It is only applicable when the Hawtio deployment type is equal to 'cluster'.
	// +optional
	Section string `json:"section,omitempty"`
	// The path, relative to the Hawtio status URL, for the icon used in front of the link in the application menu.
	// It is only applicable when the Hawtio deployment type is equal to 'cluster'.
	// The image should be square and will be shown at 24x24 pixels.
	// +optional
	ImageRelativePath string `json:"imageRelativePath,omitempty"`
}

The configuration for the OpenShift Web console link

func (*HawtioConsoleLink) DeepCopy

func (in *HawtioConsoleLink) DeepCopy() *HawtioConsoleLink

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

func (*HawtioConsoleLink) DeepCopyInto

func (in *HawtioConsoleLink) DeepCopyInto(out *HawtioConsoleLink)

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

type HawtioDeploymentType

type HawtioDeploymentType string

HawtioDeploymentType defines the possible deployment types +kubebuilder:validation:Enum=Cluster;Namespace

const (
	// ClusterHawtioDeploymentType is the deployment type capable of discovering
	// and managing applications across all namespaces the authenticated user
	// has access to.
	ClusterHawtioDeploymentType HawtioDeploymentType = "Cluster"

	// NamespaceHawtioDeploymentType is the deployment type capable of discovering
	// and managing applications within the deployment namespace.
	NamespaceHawtioDeploymentType HawtioDeploymentType = "Namespace"
)

type HawtioList

type HawtioList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Hawtio `json:"items"`
}

+kubebuilder:object:root=true HawtioList contains a list of Hawtio

func (*HawtioList) DeepCopy

func (in *HawtioList) DeepCopy() *HawtioList

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

func (*HawtioList) DeepCopyInto

func (in *HawtioList) DeepCopyInto(out *HawtioList)

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

func (*HawtioList) DeepCopyObject

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

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

type HawtioMetadataPropagation

type HawtioMetadataPropagation struct {
	// Annotations to propagate
	Annotations []string `json:"annotations,omitempty"`
	// Labels to propagate
	Labels []string `json:"labels,omitempty"`
}

The configuration for which metadata on Hawtio custom resources to propagate to generated resources such as deployments, pods, services, and routes.

func (*HawtioMetadataPropagation) DeepCopy

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

func (*HawtioMetadataPropagation) DeepCopyInto

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

type HawtioNginx

type HawtioNginx struct {
	// The buffer size for reading client request body. Defaults to `256k`.
	ClientBodyBufferSize string `json:"clientBodyBufferSize,omitempty"`
	// The number and size of the buffers used for reading a response from
	// the proxied server, for a single connection. Defaults to `16 128k`.
	ProxyBuffers string `json:"proxyBuffers,omitempty"`
	// The size of the buffer used for storing the response body of a subrequest.
	// Defaults to `10m`.
	SubrequestOutputBufferSize string `json:"subrequestOutputBufferSize,omitempty"`
}

The Nginx runtime configuration

func (*HawtioNginx) DeepCopy

func (in *HawtioNginx) DeepCopy() *HawtioNginx

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

func (*HawtioNginx) DeepCopyInto

func (in *HawtioNginx) DeepCopyInto(out *HawtioNginx)

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

type HawtioOnline

type HawtioOnline struct {
	// The selector used to watch for projects.
	// It is only applicable when the Hawtio deployment type is equal to 'cluster'.
	// By default, all the projects the logged in user has access to are watched.
	// The string representation of the selector must be provided, as mandated by the `--selector`, or `-l`, options from the `kubectl get` command.
	// See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
	ProjectSelector string `json:"projectSelector,omitempty"`
	// The configuration for the OpenShift Web console link.
	// A link is added to the application menu when the Hawtio deployment is equal to 'cluster'.
	// Otherwise, a link is added to the Hawtio project dashboard.
	ConsoleLink HawtioConsoleLink `json:"consoleLink,omitempty"`
}

The OpenShift related configuration

func (*HawtioOnline) DeepCopy

func (in *HawtioOnline) DeepCopy() *HawtioOnline

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

func (*HawtioOnline) DeepCopyInto

func (in *HawtioOnline) DeepCopyInto(out *HawtioOnline)

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

type HawtioPhase

type HawtioPhase string

The Hawtio deployment phase +kubebuilder:validation:Enum=Initialized;Deployed;Failed

const (
	// HawtioPhaseInitialized --
	HawtioPhaseInitialized HawtioPhase = "Initialized"
	// HawtioPhaseDeployed --
	HawtioPhaseDeployed HawtioPhase = "Deployed"
	// HawtioPhaseFailed --
	HawtioPhaseFailed HawtioPhase = "Failed"
)

type HawtioProductInfo

type HawtioProductInfo struct {
	// The name of the product information
	Name string `json:"name"`
	// The value of the product information
	Value string `json:"value"`
}

The product information displayed in the About page

func (*HawtioProductInfo) DeepCopy

func (in *HawtioProductInfo) DeepCopy() *HawtioProductInfo

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

func (*HawtioProductInfo) DeepCopyInto

func (in *HawtioProductInfo) DeepCopyInto(out *HawtioProductInfo)

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

type HawtioRBAC

type HawtioRBAC struct {
	// The name of the ConfigMap that contains the ACL definition.
	ConfigMap string `json:"configMap,omitempty"`
	// Disable performance improvement brought by RBACRegistry and revert to the classic behavior. Defaults to `false`.
	DisableRBACRegistry *bool `json:"disableRBACRegistry,omitempty"`
}

The RBAC configuration

func (*HawtioRBAC) DeepCopy

func (in *HawtioRBAC) DeepCopy() *HawtioRBAC

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

func (*HawtioRBAC) DeepCopyInto

func (in *HawtioRBAC) DeepCopyInto(out *HawtioRBAC)

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

type HawtioRoute

type HawtioRoute struct {
	// Name of the TLS secret with the custom certificate used for the route TLS termination
	CertSecret corev1.LocalObjectReference `json:"certSecret,omitempty"`
	// Ca certificate secret key selector
	CaCert corev1.SecretKeySelector `json:"caCert,omitempty"`
}

func (*HawtioRoute) DeepCopy

func (in *HawtioRoute) DeepCopy() *HawtioRoute

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

func (*HawtioRoute) DeepCopyInto

func (in *HawtioRoute) DeepCopyInto(out *HawtioRoute)

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

type HawtioSpec

type HawtioSpec struct {
	// The deployment type. Defaults to cluster.
	// cluster: Hawtio is capable of discovering and managing
	// applications across all namespaces the authenticated user
	// has access to.
	// namespace: Hawtio is capable of discovering and managing
	// applications within the deployment namespace.
	Type HawtioDeploymentType `json:"type,omitempty"`
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	Replicas *int32 `json:"replicas,omitempty"`
	// The configuration for which metadata on Hawtio custom resources to propagate to
	// generated resources such as deployments, pods, services, and routes.
	MetadataPropagation HawtioMetadataPropagation `json:"metadataPropagation,omitempty"`
	// The edge host name of the route that exposes the Hawtio service
	// externally. If not specified, it is automatically generated and
	// is of the form:
	// <name>[-<namespace>].<suffix>
	// where <suffix> is the default routing sub-domain as configured for
	// the cluster.
	// Note that the operator will recreate the route if the field is emptied,
	// so that the host is re-generated.
	RouteHostName string `json:"routeHostName,omitempty"`
	// Custom certificate configuration for the route
	Route HawtioRoute `json:"route,omitempty"`
	// List of external route names that will be annotated by the operator to access the console using the routes
	ExternalRoutes []string `json:"externalRoutes,omitempty"`
	// The Hawtio console container image version. Defaults to 'latest'.
	Version string `json:"version,omitempty"`
	// The authentication configuration
	Auth HawtioAuth `json:"auth,omitempty"`
	// The Nginx runtime configuration
	Nginx HawtioNginx `json:"nginx,omitempty"`
	// The RBAC configuration
	RBAC HawtioRBAC `json:"rbac,omitempty"`
	// The Hawtio console compute resources
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// The Hawtio console configuration
	Config HawtioConfig `json:"config,omitempty"`
}

Defines the desired state of Hawtio

func (*HawtioSpec) DeepCopy

func (in *HawtioSpec) DeepCopy() *HawtioSpec

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

func (*HawtioSpec) DeepCopyInto

func (in *HawtioSpec) DeepCopyInto(out *HawtioSpec)

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

type HawtioStatus

type HawtioStatus struct {
	// The Hawtio console container image
	Image string `json:"image,omitempty"`
	// The Hawtio deployment phase
	Phase HawtioPhase `json:"phase,omitempty"`
	// The Hawtio console route URL
	URL string `json:"URL,omitempty"`
	// The actual number of pods
	Replicas int32 `json:"replicas,omitempty"`
	// The label selector for the Hawtio pods
	Selector string `json:"selector,omitempty"`
}

Reports the observed state of Hawtio

func (*HawtioStatus) DeepCopy

func (in *HawtioStatus) DeepCopy() *HawtioStatus

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

func (*HawtioStatus) DeepCopyInto

func (in *HawtioStatus) DeepCopyInto(out *HawtioStatus)

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

Jump to

Keyboard shortcuts

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