Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the operator v1beta1 API group +kubebuilder:object:generate=true +groupName=operator.cryostat.io
Index ¶
- Constants
- Variables
- type CertificateSecret
- type Cryostat
- type CryostatList
- type CryostatSpec
- type CryostatStatus
- type EventInfo
- type FlightRecorder
- type FlightRecorderList
- type FlightRecorderSpec
- type FlightRecorderStatus
- type JMXAuthSecret
- type NetworkConfiguration
- type NetworkConfigurationList
- type OptionDescriptor
- type PersistentVolumeClaimConfig
- type Recording
- type RecordingList
- type RecordingSpec
- type RecordingState
- type RecordingStatus
- type StorageConfiguration
- type TemplateInfo
- type TemplateType
Constants ¶
const DefaultCertificateKey = corev1.TLSCertKey
DefaultCertificateKey will be used when looking up the certificate within a secret, if a key is not manually specified
const DefaultPasswordKey = corev1.BasicAuthPasswordKey
DefaultPasswordKey will be used when looking up the password within a JMX auth secret, if a key is not manually specified
const DefaultUsernameKey = corev1.BasicAuthUsernameKey
DefaultUsernameKey will be used when looking up the username within a JMX auth secret, if a key is not manually specified
const RecordingLabel = "operator.cryostat.io/flightrecorder"
RecordingLabel is the label name to be used with FlightRecorderSpec.RecordingSelector
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "operator.cryostat.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type CertificateSecret ¶
type CertificateSecret struct {
// Name of secret in the local namespace
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
SecretName string `json:"secretName"`
// Key within secret containing the certificate
// +optional
CertificateKey *string `json:"certificateKey,omitempty"`
}
func (*CertificateSecret) DeepCopy ¶
func (in *CertificateSecret) DeepCopy() *CertificateSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSecret.
func (*CertificateSecret) DeepCopyInto ¶
func (in *CertificateSecret) DeepCopyInto(out *CertificateSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cryostat ¶
type Cryostat struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CryostatSpec `json:"spec,omitempty"`
Status CryostatStatus `json:"status,omitempty"`
}
Cryostat is the Schema for the cryostats API +operator-sdk:csv:customresourcedefinitions:resources={{Deployment,v1},{Ingress,v1},{PersistentVolumeClaim,v1},{Secret,v1},{Service,v1},{Route,v1},{ConsoleLink,v1}}
func (*Cryostat) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cryostat.
func (*Cryostat) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cryostat) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CryostatList ¶
type CryostatList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cryostat `json:"items"`
}
CryostatList contains a list of Cryostat
func (*CryostatList) DeepCopy ¶
func (in *CryostatList) DeepCopy() *CryostatList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryostatList.
func (*CryostatList) DeepCopyInto ¶
func (in *CryostatList) DeepCopyInto(out *CryostatList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CryostatList) DeepCopyObject ¶
func (in *CryostatList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CryostatSpec ¶
type CryostatSpec struct {
// Deploy a pared-down Cryostat instance with no Grafana dashboard or jfr-datasource
// and no web-client UI.
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Minimal Deployment",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
Minimal bool `json:"minimal"`
// List of TLS certificates to trust when connecting to targets
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Trusted TLS Certificates"
TrustedCertSecrets []CertificateSecret `json:"trustedCertSecrets,omitempty"`
// Options to customize the storage for Flight Recordings and Templates
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
StorageOptions *StorageConfiguration `json:"storageOptions,omitempty"`
// Options to control how the operator exposes the application over a network
// +optional
NetworkOptions *NetworkConfigurationList `json:"networkOptions,omitempty"`
}
CryostatSpec defines the desired state of Cryostat
func (*CryostatSpec) DeepCopy ¶
func (in *CryostatSpec) DeepCopy() *CryostatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryostatSpec.
func (*CryostatSpec) DeepCopyInto ¶
func (in *CryostatSpec) DeepCopyInto(out *CryostatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CryostatStatus ¶
type CryostatStatus struct {
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:org.w3:link"}
ApplicationURL string `json:"applicationUrl"`
}
CryostatStatus defines the observed state of Cryostat
func (*CryostatStatus) DeepCopy ¶
func (in *CryostatStatus) DeepCopy() *CryostatStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryostatStatus.
func (*CryostatStatus) DeepCopyInto ¶
func (in *CryostatStatus) DeepCopyInto(out *CryostatStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventInfo ¶
type EventInfo struct {
// The ID used by JFR to uniquely identify this event type
TypeID string `json:"typeId"`
// Human-readable name for this type of event
Name string `json:"name"`
// A description detailing what this event does
Description string `json:"description"`
// A hierarchical category used to organize related event types
// +listType=atomic
Category []string `json:"category"`
// Options that may be used to tune this event. This map is indexed
// by the option IDs.
Options map[string]OptionDescriptor `json:"options"`
}
EventInfo contains metadata for a JFR event type
func (*EventInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventInfo.
func (*EventInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlightRecorder ¶
type FlightRecorder struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec FlightRecorderSpec `json:"spec,omitempty"`
Status FlightRecorderStatus `json:"status,omitempty"`
}
FlightRecorder is the Schema for the flightrecorders API +operator-sdk:csv:customresourcedefinitions:resources={{Pod,v1},{Secret,v1},{Service,v1}}
func (*FlightRecorder) DeepCopy ¶
func (in *FlightRecorder) DeepCopy() *FlightRecorder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlightRecorder.
func (*FlightRecorder) DeepCopyInto ¶
func (in *FlightRecorder) DeepCopyInto(out *FlightRecorder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlightRecorder) DeepCopyObject ¶
func (in *FlightRecorder) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlightRecorderList ¶
type FlightRecorderList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FlightRecorder `json:"items"`
}
FlightRecorderList contains a list of FlightRecorder
func (*FlightRecorderList) DeepCopy ¶
func (in *FlightRecorderList) DeepCopy() *FlightRecorderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlightRecorderList.
func (*FlightRecorderList) DeepCopyInto ¶
func (in *FlightRecorderList) DeepCopyInto(out *FlightRecorderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlightRecorderList) DeepCopyObject ¶
func (in *FlightRecorderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlightRecorderSpec ¶
type FlightRecorderSpec struct {
// Recordings that match this selector belong to this FlightRecorder
// +operator-sdk:csv:customresourcedefinitions:type=spec
RecordingSelector *metav1.LabelSelector `json:"recordingSelector"`
// If JMX authentication is enabled for this FlightRecorder's JVM, specify the credentials in a secret
// and reference it here
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
JMXCredentials *JMXAuthSecret `json:"jmxCredentials,omitempty"`
}
FlightRecorderSpec defines the desired state of FlightRecorder
func (*FlightRecorderSpec) DeepCopy ¶
func (in *FlightRecorderSpec) DeepCopy() *FlightRecorderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlightRecorderSpec.
func (*FlightRecorderSpec) DeepCopyInto ¶
func (in *FlightRecorderSpec) DeepCopyInto(out *FlightRecorderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlightRecorderStatus ¶
type FlightRecorderStatus struct {
// Listing of events available in the target JVM
// +operator-sdk:csv:customresourcedefinitions:type=status
// +listType=atomic
Events []EventInfo `json:"events"`
// Listing of templates available in the target JVM
// +operator-sdk:csv:customresourcedefinitions:type=status
// +listType=atomic
Templates []TemplateInfo `json:"templates"`
// Reference to the pod/service that this object controls JFR for
// +operator-sdk:csv:customresourcedefinitions:type=status
Target *corev1.ObjectReference `json:"target"`
// JMX port for target JVM
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:text"}
// +kubebuilder:validation:Minimum=0
Port int32 `json:"port"`
}
FlightRecorderStatus defines the observed state of FlightRecorder
func (*FlightRecorderStatus) DeepCopy ¶
func (in *FlightRecorderStatus) DeepCopy() *FlightRecorderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlightRecorderStatus.
func (*FlightRecorderStatus) DeepCopyInto ¶
func (in *FlightRecorderStatus) DeepCopyInto(out *FlightRecorderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JMXAuthSecret ¶
type JMXAuthSecret struct {
// Name of secret in the local namespace
SecretName string `json:"secretName"`
// Key within secret containing the username, defaults to DefaultUsernameKey
// +optional
UsernameKey *string `json:"usernameKey,omitempty"`
// Key within secret containing the password, defaults to DefaultPasswordKey
// +optional
PasswordKey *string `json:"passwordKey,omitempty"`
}
JMXAuthSecret references a secret containing JMX authentication credentials for the FlightRecorder's JVM
func (*JMXAuthSecret) DeepCopy ¶
func (in *JMXAuthSecret) DeepCopy() *JMXAuthSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JMXAuthSecret.
func (*JMXAuthSecret) DeepCopyInto ¶
func (in *JMXAuthSecret) DeepCopyInto(out *JMXAuthSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkConfiguration ¶
type NetworkConfiguration struct {
// Configuration for an ingress object.
// Currently subpaths are not supported, so unique hosts must be specified
// (if a single external IP is being used) to differentiate between ingresses/services
// +optional
IngressSpec *netv1.IngressSpec `json:"ingressSpec,omitempty"`
// Annotations to add to the ingress during its creation.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels to add to the ingress during its creation.
// The label with key "app" is reserved for use by the operator.
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
NetworkConfiguration provides customization for the corresponding ingress, which allows a service to be exposed when running in a Kubernetes environment
func (*NetworkConfiguration) DeepCopy ¶
func (in *NetworkConfiguration) DeepCopy() *NetworkConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfiguration.
func (*NetworkConfiguration) DeepCopyInto ¶
func (in *NetworkConfiguration) DeepCopyInto(out *NetworkConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkConfigurationList ¶
type NetworkConfigurationList struct {
// Specifications for ingress that exposes the cryostat service
// (which serves the cryostat web-client)
// +optional
CoreConfig *NetworkConfiguration `json:"coreConfig,omitempty"`
// Specifications for ingress that exposes the cryostat-command service
// (which serves the websocket command channel)
// +optional
CommandConfig *NetworkConfiguration `json:"commandConfig,omitempty"`
// Specifications for ingress that exposes the cryostat-grafana service
// (which serves the grafana dashboard)
// +optional
GrafanaConfig *NetworkConfiguration `json:"grafanaConfig,omitempty"`
}
NetworkConfigurationList holds all three NetworkConfiguration objects that specify the ingress configurations for the three services created by the operator
func (*NetworkConfigurationList) DeepCopy ¶
func (in *NetworkConfigurationList) DeepCopy() *NetworkConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfigurationList.
func (*NetworkConfigurationList) DeepCopyInto ¶
func (in *NetworkConfigurationList) DeepCopyInto(out *NetworkConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OptionDescriptor ¶
type OptionDescriptor struct {
// Human-readable name for this option
Name string `json:"name"`
// A description of what this option does
Description string `json:"description"`
// The value implicitly used when this option isn't specified
DefaultValue string `json:"defaultValue"`
}
OptionDescriptor contains metadata for an option for a particular event type
func (*OptionDescriptor) DeepCopy ¶
func (in *OptionDescriptor) DeepCopy() *OptionDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionDescriptor.
func (*OptionDescriptor) DeepCopyInto ¶
func (in *OptionDescriptor) DeepCopyInto(out *OptionDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimConfig ¶
type PersistentVolumeClaimConfig struct {
// Annotations to add to the Persistent Volume Claim during its creation.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels to add to the Persistent Volume Claim during its creation.
// The label with key "app" is reserved for use by the operator.
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Spec for a Persistent Volume Claim, whose options will override the
// defaults used by the operator. Unless overriden, the PVC will be
// created with the default Storage Class and 500MiB of storage.
// Once the operator has created the PVC, changes to this field have
// no effect.
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
Spec *corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"`
}
PersistentVolumeClaimConfig holds all customization options to configure a Persistent Volume Claim to be created and managed by the operator.
func (*PersistentVolumeClaimConfig) DeepCopy ¶
func (in *PersistentVolumeClaimConfig) DeepCopy() *PersistentVolumeClaimConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimConfig.
func (*PersistentVolumeClaimConfig) DeepCopyInto ¶
func (in *PersistentVolumeClaimConfig) DeepCopyInto(out *PersistentVolumeClaimConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Recording ¶
type Recording struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RecordingSpec `json:"spec,omitempty"`
Status RecordingStatus `json:"status,omitempty"`
}
Recording is the Schema for the recordings API +operator-sdk:csv:customresourcedefinitions:resources={{Pod,v1},{Secret,v1},{Service,v1}}
func (*Recording) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Recording.
func (*Recording) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Recording) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecordingList ¶
type RecordingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Recording `json:"items"`
}
RecordingList contains a list of Recording
func (*RecordingList) DeepCopy ¶
func (in *RecordingList) DeepCopy() *RecordingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordingList.
func (*RecordingList) DeepCopyInto ¶
func (in *RecordingList) DeepCopyInto(out *RecordingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecordingList) DeepCopyObject ¶
func (in *RecordingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecordingSpec ¶
type RecordingSpec struct {
// Name of the recording to be created.
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// A list of event options to use when creating the recording.
// These are used to enable and fine-tune individual events.
// Examples: "jdk.ExecutionSample:enabled=true", "jdk.ExecutionSample:period=200ms"
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
// +listType=atomic
EventOptions []string `json:"eventOptions"`
// The requested total duration of the recording, a zero value will record indefinitely.
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"}
Duration metav1.Duration `json:"duration"`
// +optional
State *RecordingState `json:"state,omitempty"`
// Whether this recording should be saved to persistent storage. If true, the JFR file will be retained until
// this object is deleted. If false, the JFR file will be deleted when its corresponding JVM exits.
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:checkbox"}
Archive bool `json:"archive"`
// Reference to the FlightRecorder object that corresponds to this Recording
// +operator-sdk:csv:customresourcedefinitions:type=spec
FlightRecorder *corev1.LocalObjectReference `json:"flightRecorder"`
}
RecordingSpec defines the desired state of Recording
func (*RecordingSpec) DeepCopy ¶
func (in *RecordingSpec) DeepCopy() *RecordingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordingSpec.
func (*RecordingSpec) DeepCopyInto ¶
func (in *RecordingSpec) DeepCopyInto(out *RecordingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecordingState ¶
type RecordingState string
RecordingState describes the current state of the recording according to JFR
const ( // RecordingStateCreated means the recording has been accepted, but // has not started yet. RecordingStateCreated RecordingState = "CREATED" // RecordingStateRunning means the recording has started and is // currently running. RecordingStateRunning RecordingState = "RUNNING" // RecordingStateStopping means that the recording is in the process // of finishing. RecordingStateStopping RecordingState = "STOPPING" // RecordingStateStopped means the recording has completed and the // JFR file is fully written. RecordingStateStopped RecordingState = "STOPPED" )
type RecordingStatus ¶
type RecordingStatus struct {
// Current state of the recording.
// +kubebuilder:validation:Enum=CREATED;RUNNING;STOPPING;STOPPED
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:text"}
// +optional
State *RecordingState `json:"state,omitempty"`
// The date/time when the recording started.
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:text"}
// +optional
StartTime metav1.Time `json:"startTime,omitempty"`
// The duration of the recording specified during creation.
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:text"}
// +optional
Duration metav1.Duration `json:"duration,omitempty"`
// A URL to download the JFR file for the recording.
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:org.w3:link"}
// +optional
DownloadURL *string `json:"downloadURL,omitempty"`
// A URL to download the autogenerated HTML report for the recording
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:org.w3:link"}
// +optional
ReportURL *string `json:"reportURL,omitempty"`
}
RecordingStatus defines the observed state of Recording
func (*RecordingStatus) DeepCopy ¶
func (in *RecordingStatus) DeepCopy() *RecordingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordingStatus.
func (*RecordingStatus) DeepCopyInto ¶
func (in *RecordingStatus) DeepCopyInto(out *RecordingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageConfiguration ¶
type StorageConfiguration struct {
// Configuration for the Persistent Volume Claim to be created
// by the operator.
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
PVC *PersistentVolumeClaimConfig `json:"pvc,omitempty"`
}
StorageConfiguration provides customization to the storage created by the operator to hold Flight Recordings and Recording Templates.
func (*StorageConfiguration) DeepCopy ¶
func (in *StorageConfiguration) DeepCopy() *StorageConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfiguration.
func (*StorageConfiguration) DeepCopyInto ¶
func (in *StorageConfiguration) DeepCopyInto(out *StorageConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateInfo ¶
type TemplateInfo struct {
// The name of the template
Name string `json:"name"`
// A description of the template and its performance impact
Description string `json:"description"`
// The organization which has provided the template
Provider string `json:"provider"`
// The type of template, which is either "TARGET" for built-in templates,
// or "CUSTOM" for user created templates
// +kubebuilder:validation:Enum=TARGET;CUSTOM
Type TemplateType `json:"type"`
}
TemplateInfo contains metadata for a JFR template
func (*TemplateInfo) DeepCopy ¶
func (in *TemplateInfo) DeepCopy() *TemplateInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInfo.
func (*TemplateInfo) DeepCopyInto ¶
func (in *TemplateInfo) DeepCopyInto(out *TemplateInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateType ¶
type TemplateType string
const ( // TemplateTypeTarget means the template is provided by the target JVM TemplateTypeTarget TemplateType = "TARGET" // TemplateTypeCustom means the template is created by the user TemplateTypeCustom TemplateType = "CUSTOM" )