Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the agent-install.openshift.io v1beta1 API group +kubebuilder:object:generate=true +groupName=agent-install.openshift.io
Index ¶
- Constants
- Variables
- type Agent
- type AgentClassification
- type AgentClassificationList
- type AgentClassificationSpec
- type AgentClassificationStatus
- type AgentDeprovisionInfo
- type AgentList
- type AgentServiceConfig
- type AgentServiceConfigList
- type AgentServiceConfigSpec
- type AgentServiceConfigStatus
- type AgentSpec
- type AgentStatus
- type BootArtifacts
- type CSRInfo
- type CSRStatus
- type CSRType
- type ClusterReference
- type DebugInfo
- type HostBoot
- type HostCPU
- type HostDisk
- type HostIOPerf
- type HostInstallationEligibility
- type HostInterface
- type HostInventory
- type HostMemory
- type HostNTPSources
- type HostProgressInfo
- type HostSystemVendor
- type HypershiftAgentServiceConfig
- type HypershiftAgentServiceConfigList
- type HypershiftAgentServiceConfigSpec
- type HypershiftAgentServiceConfigStatus
- type IPXEScriptType
- type IgnitionEndpointTokenReference
- type InfraEnv
- type InfraEnvDebugInfo
- type InfraEnvList
- type InfraEnvSpec
- type InfraEnvStatus
- type Ingress
- type Interface
- type KernelArgument
- type MustGatherImage
- type NMStateConfig
- type NMStateConfigList
- type NMStateConfigSpec
- type NetConfig
- type OSImage
- type Proxy
- type RawNetConfig
Constants ¶
const ( SpecSyncedCondition conditionsv1.ConditionType = "SpecSynced" ConnectedCondition conditionsv1.ConditionType = "Connected" AgentConnectedReason string = "AgentIsConnected" AgentDisconnectedReason string = "AgentIsDisconnected" AgentConnectedMsg string = "The agent's connection to the installation service is unimpaired" AgentDisonnectedMsg string = "The agent has not contacted the installation service in some time, user action should be taken" InstalledCondition conditionsv1.ConditionType = "Installed" RequirementsMetCondition conditionsv1.ConditionType = "RequirementsMet" AgentReadyReason string = "AgentIsReady" AgentReadyMsg string = "The agent is ready to begin the installation" AgentNotReadyReason string = "AgentNotReady" AgentNotReadyMsg string = "The agent is not ready to begin the installation" AgentAlreadyInstallingReason string = "AgentAlreadyInstalling" AgentAlreadyInstallingMsg string = "Installation already started and is in progress" AgentIsNotApprovedReason string = "AgentIsNotApproved" AgentIsNotApprovedMsg string = "The agent is not approved" AgentInstallationStoppedReason string = "AgentInstallationStopped" AgentInstallationStoppedMsg string = "The agent installation stopped" ValidatedCondition conditionsv1.ConditionType = "Validated" AgentValidationsPassingMsg string = "The agent's validations are passing" AgentValidationsUnknownMsg string = "The agent's validations have not yet been calculated" AgentValidationsFailingMsg string = "The agent's validations are failing:" AgentValidationsUserPendingMsg string = "The agent's validations are pending for user:" InstalledReason string = "InstallationCompleted" InstalledMsg string = "The installation has completed:" InstallationFailedReason string = "InstallationFailed" InstallationFailedMsg string = "The installation has failed:" InstallationNotStartedReason string = "InstallationNotStarted" InstallationNotStartedMsg string = "The installation has not yet started" InstallationInProgressReason string = "InstallationInProgress" InstallationInProgressMsg string = "The installation is in progress:" UnknownStatusReason string = "UnknownStatus" UnknownStatusMsg string = "The installation status is currently not recognized:" ValidationsPassingReason string = "ValidationsPassing" ValidationsUnknownReason string = "ValidationsUnknown" ValidationsFailingReason string = "ValidationsFailing" ValidationsUserPendingReason string = "ValidationsUserPending" NotAvailableReason string = "NotAvailable" NotAvailableMsg string = "Information not available" SyncedOkReason string = "SyncOK" SyncedOkMsg string = "The Spec has been successfully applied" BackendErrorReason string = "BackendError" BackendErrorMsg string = "The Spec could not be synced due to backend error:" InputErrorReason string = "InputError" InputErrorMsg string = "The Spec could not be synced due to an input error:" BoundCondition conditionsv1.ConditionType = "Bound" BoundReason string = "Bound" BoundMsg string = "The agent is bound to a cluster deployment" UnboundReason string = "Unbound" UnboundMsg string = "The agent is not bound to any cluster deployment" BindingReason string = "Binding" BindingMsg string = "The agent is currently binding to a cluster deployment" UnbindingReason string = "Unbinding" UnbindingMsg string = "The agent is currently unbinding from a cluster deployment" UnbindingPendingUserActionReason string = "UnbindingPendingUserAction" UnbindingPendingUserActionMsg string = "The agent is currently unbinding; Pending host reboot from infraenv image" CleanupCondition conditionsv1.ConditionType = "Cleanup" CleanupFailedReason string = "CleanupFailed" )
const ( QueryErrorsCondition conditionsv1.ConditionType = "QueryErrors" QueryNoErrorsReason string = "NoQueryErrors" QueryHasErrorsReason string = "HasQueryErrors" )
const ( // ConditionReconcileCompleted reports on whether or not the local cluster is managed. ConditionLocalClusterManaged conditionsv1.ConditionType = "LocalClusterManaged" // ConditionReconcileCompleted reports whether reconcile completed without error. ConditionReconcileCompleted conditionsv1.ConditionType = "ReconcileCompleted" // ConditionDeploymentsHealthy reports whether deployments are healthy. ConditionDeploymentsHealthy conditionsv1.ConditionType = "DeploymentsHealthy" // ReasonLocalClusterImportNotEnabled when the import of local cluster is not enabled. ReasonLocalClusterImportNotEnabled string = "Local cluster import is not enabled" // ReasonLocalClusterEntitiesCreated when the local cluster is managed. ReasonLocalClusterManaged string = "Local cluster is managed." // ReasonLocalClusterEntitiesRemoved when the local cluster is not managed. ReasonLocalClusterNotManaged string = "Local cluster is not managed." // ReasonUnableToDetermineLocalClusterManagedStatus when unable to determine the status of local cluster entities. ReasonUnableToDetermineLocalClusterManagedStatus string = "Unable to determine local cluster managed status." // ReasonReconcileSucceeded when the reconcile completes all operations without error. ReasonReconcileSucceeded string = "ReconcileSucceeded" // ReasonDeploymentSucceeded when configuring/deploying the assisted-service deployment completed without errors. ReasonDeploymentSucceeded string = "DeploymentSucceeded" // ReasonStorageFailure when there was a failure configuring/deploying storage. ReasonStorageFailure string = "StorageFailure" // ReasonImageHandlerServiceFailure when there was a failure related to the assisted-image-service's service. ReasonImageHandlerServiceFailure string = "ImageHandlerServiceFailure" // ReasonAgentServiceFailure when there was a failure related to the assisted-service's service. ReasonAgentServiceFailure string = "AgentServiceFailure" // ReasonAgentServiceFailure when there was a failure related to generating/deploying the service monitor. ReasonAgentServiceMonitorFailure string = "AgentServiceMonitorFailure" // ReasonImageHandlerRouteFailure when there was a failure configuring/deploying the assisted-image-service's route. ReasonImageHandlerRouteFailure string = "ImageHandlerRouteFailure" // ReasonAgentRouteFailure when there was a failure configuring/deploying the assisted-service's route. ReasonAgentRouteFailure string = "AgentRouteFailure" // ReasonAgentLocalAuthSecretFailure when there was a failure generating/deploying the local auth key pair secret. ReasonAgentLocalAuthSecretFailure string = "AgentLocalAuthSecretFailure" // #nosec // ReasonPostgresSecretFailure when there was a failure generating/deploying the database secret. ReasonPostgresSecretFailure string = "PostgresSecretFailure" // ReasonImageHandlerServiceAccountFailure when there was a failure related to the assisted-image-service's service account. ReasonImageHandlerServiceAccountFailure string = "ImageHandlerServiceAccountFailure" // ReasonIngressCertFailure when there was a failure generating/deploying the ingress cert configmap. ReasonIngressCertFailure string = "IngressCertFailure" // ReasonConfigFailure when there was a failure configuring/deploying the assisted-service configmap. ReasonConfigFailure string = "ConfigFailure" // ReasonImageHandlerStatefulSetFailure when there was a failure configuring/deploying the assisted-image-service stateful set. ReasonImageHandlerStatefulSetFailure string = "ImageHandlerStatefulSetFailure" // ReasonDeploymentFailure when there was a failure configuring/deploying the assisted-service deployment. ReasonDeploymentFailure string = "DeploymentFailure" // ReasonStorageFailure when there was a failure configuring/deploying the validating webhook. ReasonValidatingWebHookFailure string = "ValidatingWebHookFailure" // ReasonStorageFailure when there was a failure configuring/deploying the validating webhook. ReasonMutatingWebHookFailure string = "MutatingWebHookFailure" // ReasonWebHookServiceFailure when there was a failure related to the webhook's service. ReasonWebHookServiceFailure string = "ReasonWebHookServiceFailure" // ReasonWebHookDeploymentFailure when there was a failure configuring/deploying the webhook deployment. ReasonWebHookDeploymentFailure string = "ReasonWebHookDeploymentFailure" // ReasonWebReasonWebHookClusterRoleBindingFailureHookDeploymentFailure when there was a failure configuring/deploying the webhook cluster role binding. ReasonWebHookClusterRoleBindingFailure string = "ReasonWebHookClusterRoleBindingFailure" // ReasonWebHookClusterRoleFailure when there was a failure configuring/deploying the webhook cluster role. ReasonWebHookClusterRoleFailure string = "ReasonWebHookClusterRoleFailure" // ReasonRBACConfigurationFailure when there was a failure configuring/deploying RBAC entities on hosted clusters. ReasonRBACConfigurationFailure string = "ReasonRBACConfigurationFailure" // ReasonWebHookServiceAccountFailure when there was a failure related to the webhook's service account. ReasonWebHookServiceAccountFailure string = "ReasonWebHookServiceAccountFailure" // ReasonWebHookAPIServiceFailure when there was a failure related to the webhook's API service. ReasonWebHookAPIServiceFailure string = "ReasonWebHookAPIServiceFailure" //ReasonWebHookEndpointFailure when there was a failure related to configuring the endpoint that routes to the admission service. ReasonWebHookEndpointFailure string = "ReasonWebHookEndpointFailure" // ReasonServiceServiceAccount when there was a failure configuring/deploying the assisted-service service-account. ReasonServiceServiceAccount string = "ServiceServiceAccount" // ReasonNamespaceCreationFailure when there was a failure creating the namespace. ReasonNamespaceCreationFailure string = "NamespaceCreationFailure" // ReasonSpokeClusterCRDsSyncFailure when there was a failure syncing spoke cluster CRDs. ReasonSpokeClusterCRDsSyncFailure string = "SpokeClusterCRDsSyncFailure" // ReasonKubeconfigSecretFetchFailure when there was a failure fetching kubeconfig secret. ReasonKubeconfigSecretFetchFailure string = "ReasonKubeconfigSecretFetchFailure" // ReasonSpokeClientCreationFailure when there was a failure creating spoke client. ReasonSpokeClientCreationFailure string = "ReasonSpokeClientCreationFailure" // ReasonKonnectivityAgentFailure when there was a failure creating the namespace. ReasonKonnectivityAgentFailure string = "KonnectivityAgentFailure" // ReasonOSImageCACertRefFailure when there has been a failure resolving the OS image CA using OSImageCACertRef. ReasonOSImageCACertRefFailure string = "OSImageCACertRefFailure" // ReasonMonitoringFailure indicates there was a failure monitoring operand status ReasonMonitoringFailure string = "MonitoringFailure" // ReasonKubernetesIngressMissing indicates the user has not provided the required configuration for kubernetes ingress ReasonKubernetesIngressMissing string = "KubernetesIngressConfigMissing" // ReasonCertificateFailure indicates that the required certificates could not be created ReasonCertificateFailure string = "CertificateConfigurationFailure" // IPXEHTTPRouteEnabled is expected value in IPXEHTTPRoute to enable the route IPXEHTTPRouteEnabled string = "enabled" // IPXEHTTPRouteEnabled is expected value in IPXEHTTPRoute to disable the route IPXEHTTPRouteDisabled string = "disabled" // ReasonOSImageAdditionalParamsRefFailure when there has been a failure resolving the OS image additional params secret using OSImageAdditionalParamsRef. ReasonOSImageAdditionalParamsRefFailure string = "ReasonOSImageAdditionalParamsRefFailure" )
ConditionType related to our reconcile loop in addition to all the reasons why ConditionStatus could be true or false.
const ( Group string = "agent-install.openshift.io" Version string = "v1beta1" )
const ( ImageCreatedReason = "ImageCreated" ImageStateCreated = "Image has been created" ImageCreationErrorReason = "ImageCreationError" ImageStateFailedToCreate = "Failed to create image" InfraEnvNameLabel = "infraenvs.agent-install.openshift.io" )
const (
ImageCreatedCondition conditionsv1.ConditionType = "ImageCreated"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: Group, Version: Version} // 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 Agent ¶
type Agent struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AgentSpec `json:"spec,omitempty"`
Status AgentStatus `json:"status,omitempty"`
}
Agent is the Schema for the hosts API
func (*Agent) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.
func (*Agent) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Agent) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentClassification ¶
type AgentClassification struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AgentClassificationSpec `json:"spec,omitempty"`
Status AgentClassificationStatus `json:"status,omitempty"`
}
AgentClassification is the Schema for the AgentClassifications API
func (*AgentClassification) DeepCopy ¶
func (in *AgentClassification) DeepCopy() *AgentClassification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentClassification.
func (*AgentClassification) DeepCopyInto ¶
func (in *AgentClassification) DeepCopyInto(out *AgentClassification)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentClassification) DeepCopyObject ¶
func (in *AgentClassification) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentClassificationList ¶
type AgentClassificationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AgentClassification `json:"items"`
}
AgentClassificationList contains a list of AgentClassification
func (*AgentClassificationList) DeepCopy ¶
func (in *AgentClassificationList) DeepCopy() *AgentClassificationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentClassificationList.
func (*AgentClassificationList) DeepCopyInto ¶
func (in *AgentClassificationList) DeepCopyInto(out *AgentClassificationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentClassificationList) DeepCopyObject ¶
func (in *AgentClassificationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentClassificationSpec ¶
type AgentClassificationSpec struct {
// LabelKey specifies the label key to apply to matched Agents
//
// +immutable
LabelKey string `json:"labelKey"`
// LabelValue specifies the label value to apply to matched Agents
//
// +immutable
LabelValue string `json:"labelValue"`
// Query is in gojq format (https://github.com/itchyny/gojq#difference-to-jq)
// and will be invoked on each Agent's inventory. The query should return a
// boolean. The operator will apply the label to any Agent for which "true"
// is returned.
Query string `json:"query"`
}
AgentClassificationSpec defines the desired state of AgentClassification
func (*AgentClassificationSpec) DeepCopy ¶
func (in *AgentClassificationSpec) DeepCopy() *AgentClassificationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentClassificationSpec.
func (*AgentClassificationSpec) DeepCopyInto ¶
func (in *AgentClassificationSpec) DeepCopyInto(out *AgentClassificationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentClassificationStatus ¶
type AgentClassificationStatus struct {
// MatchedCount shows how many Agents currently match the classification
MatchedCount int `json:"matchedCount,omitempty"`
// ErrorCount shows how many Agents encountered errors when matching the classification
ErrorCount int `json:"errorCount,omitempty"`
Conditions []conditionsv1.Condition `json:"conditions,omitempty"`
}
AgentClassificationStatus defines the observed state of AgentClassification
func (*AgentClassificationStatus) DeepCopy ¶
func (in *AgentClassificationStatus) DeepCopy() *AgentClassificationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentClassificationStatus.
func (*AgentClassificationStatus) DeepCopyInto ¶
func (in *AgentClassificationStatus) DeepCopyInto(out *AgentClassificationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentDeprovisionInfo ¶
type AgentDeprovisionInfo struct {
ClusterName string `json:"cluster_name,omitempty"`
ClusterNamespace string `json:"cluster_namespace,omitempty"`
NodeName string `json:"node_name,omitempty"`
Message string `json:"message,omitempty"`
}
func (*AgentDeprovisionInfo) DeepCopy ¶
func (in *AgentDeprovisionInfo) DeepCopy() *AgentDeprovisionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentDeprovisionInfo.
func (*AgentDeprovisionInfo) DeepCopyInto ¶
func (in *AgentDeprovisionInfo) DeepCopyInto(out *AgentDeprovisionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentList ¶
type AgentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Agent `json:"items"`
}
AgentList contains a list of Agent
func (*AgentList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.
func (*AgentList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentServiceConfig ¶
type AgentServiceConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AgentServiceConfigSpec `json:"spec,omitempty"`
Status AgentServiceConfigStatus `json:"status,omitempty"`
}
AgentServiceConfig represents an Assisted Service deployment. Only an AgentServiceConfig with name="agent" will be reconciled. All other names will be rejected. +operator-sdk:csv:customresourcedefinitions:displayName="Agent Service Config" +operator-sdk:csv:customresourcedefinitions:order=1
func (*AgentServiceConfig) DeepCopy ¶
func (in *AgentServiceConfig) DeepCopy() *AgentServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentServiceConfig.
func (*AgentServiceConfig) DeepCopyInto ¶
func (in *AgentServiceConfig) DeepCopyInto(out *AgentServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentServiceConfig) DeepCopyObject ¶
func (in *AgentServiceConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentServiceConfigList ¶
type AgentServiceConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AgentServiceConfig `json:"items"`
}
AgentServiceConfigList contains a list of AgentServiceConfig
func (*AgentServiceConfigList) DeepCopy ¶
func (in *AgentServiceConfigList) DeepCopy() *AgentServiceConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentServiceConfigList.
func (*AgentServiceConfigList) DeepCopyInto ¶
func (in *AgentServiceConfigList) DeepCopyInto(out *AgentServiceConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentServiceConfigList) DeepCopyObject ¶
func (in *AgentServiceConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentServiceConfigSpec ¶
type AgentServiceConfigSpec struct {
// FileSystemStorage defines the spec of the PersistentVolumeClaim to be
// created for the assisted-service's filesystem (logs, etc).
// With respect to the resource requests, the amount of filesystem storage
// consumed will depend largely on the number of clusters created (~200MB
// per cluster and ~2-3GiB per supported OpenShift version). Minimum 100GiB
// recommended.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage for service filesystem"
FileSystemStorage corev1.PersistentVolumeClaimSpec `json:"filesystemStorage"`
// DatabaseStorage defines the spec of the PersistentVolumeClaim to be
// created for the database's filesystem.
// With respect to the resource requests, minimum 10GiB is recommended.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage for database"
DatabaseStorage corev1.PersistentVolumeClaimSpec `json:"databaseStorage"`
// ImageStorage defines the spec of the PersistentVolumeClaim to be
// created for each replica of the image service.
// If a PersistentVolumeClaim is provided 2GiB per OSImage entry is required
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage for images"
ImageStorage *corev1.PersistentVolumeClaimSpec `json:"imageStorage"`
// MirrorRegistryRef is the reference to the configmap that contains mirror registry configuration
// In case no configuration is need, this field will be nil. ConfigMap must contain to entries:
// ca-bundle.crt - hold the contents of mirror registry certificate/s
// registries.conf - holds the content of registries.conf file configured with mirror registries
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Mirror Registry and Certificate ConfigMap Name"
MirrorRegistryRef *corev1.LocalObjectReference `json:"mirrorRegistryRef,omitempty"`
// OSImages defines a collection of Operating System images (ie. RHCOS images)
// that the assisted-service should use as the base when generating discovery ISOs.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Operating System Images"
OSImages []OSImage `json:"osImages,omitempty"`
// MustGatherImages defines a collection of operator related must-gather images
// that are used if one the operators fails to be successfully deployed
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Must-Gather Images"
MustGatherImages []MustGatherImage `json:"mustGatherImages,omitempty"`
// IPXEHTTPRoute is controlling whether the operator is creating plain HTTP routes
// iPXE hosts may not work with router cyphers and may access artifacts via HTTP only
// This setting accepts "enabled,disabled", defaults to disabled. Empty value defaults to disabled
// The following endpoints would be exposed via http:
// * api/assisted-installer/v2/infra-envs/<id>/downloads/files?file_name=ipxe-script in assisted-service
// * boot-artifacts/ and images/<infra-enf id>/pxe-initrd in -image-service
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Expose IPXE HTTP route"
// +kubebuilder:validation:Enum=enabled;disabled
// +kubebuilder:validation:default:=disabled
// +optional
IPXEHTTPRoute string `json:"iPXEHTTPRoute,omitempty"`
// UnauthenticatedRegistries is a list of registries from which container images can be pulled
// without authentication. They will be appended to the default list (quay.io,
// registry.ci.openshift.org). Any registry on this list will not require credentials
// to be in the pull secret validated by the assisted-service.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="List of container registries without authentication"
// +optional
UnauthenticatedRegistries []string `json:"unauthenticatedRegistries,omitempty"`
// OSImageCACertRef is a reference to a config map containing a certificate authority certificate
// this is an optional certificate to allow a user to add a certificate authority for a HTTPS source of images
// this certificate will be used by the assisted-image-service when pulling OS images.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OS Image CA Cert ConfigMap reference"
// +optional
OSImageCACertRef *corev1.LocalObjectReference `json:"OSImageCACertRef,omitempty"`
// OSImageAdditionalParamsRef is a reference to a secret containing a headers and query parameters to be used during OS image fetch.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OS Images additional parameters reference"
// +optional
OSImageAdditionalParamsRef *corev1.LocalObjectReference `json:"OSImageAdditionalParamsRef,omitempty"`
// Ingress contains configuration for the ingress resources.
// Has no effect when running on an OpenShift cluster.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingress"
// +optional
Ingress *Ingress `json:"ingress,omitempty"`
}
AgentServiceConfigSpec defines the desired state of AgentServiceConfig.
func (*AgentServiceConfigSpec) DeepCopy ¶
func (in *AgentServiceConfigSpec) DeepCopy() *AgentServiceConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentServiceConfigSpec.
func (*AgentServiceConfigSpec) DeepCopyInto ¶
func (in *AgentServiceConfigSpec) DeepCopyInto(out *AgentServiceConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentServiceConfigStatus ¶
type AgentServiceConfigStatus struct {
Conditions []conditionsv1.Condition `json:"conditions,omitempty"`
}
AgentServiceConfigStatus defines the observed state of AgentServiceConfig
func (*AgentServiceConfigStatus) DeepCopy ¶
func (in *AgentServiceConfigStatus) DeepCopy() *AgentServiceConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentServiceConfigStatus.
func (*AgentServiceConfigStatus) DeepCopyInto ¶
func (in *AgentServiceConfigStatus) DeepCopyInto(out *AgentServiceConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSpec ¶
type AgentSpec struct {
// +optional
ClusterDeploymentName *ClusterReference `json:"clusterDeploymentName,omitempty"`
Role models.HostRole `json:"role" protobuf:"bytes,1,opt,name=role,casttype=HostRole"`
Hostname string `json:"hostname,omitempty"`
MachineConfigPool string `json:"machineConfigPool,omitempty"`
Approved bool `json:"approved"`
// InstallationDiskID defines the installation destination disk (must be equal to the inventory disk id).
InstallationDiskID string `json:"installation_disk_id,omitempty"`
// Json formatted string containing the user overrides for the host's coreos installer args
InstallerArgs string `json:"installerArgs,omitempty"`
// Json formatted string containing the user overrides for the host's ignition config
IgnitionConfigOverrides string `json:"ignitionConfigOverrides,omitempty"`
// IgnitionEndpointTokenReference references a secret containing an Authorization Bearer token to fetch the ignition from ignition_endpoint_url.
IgnitionEndpointTokenReference *IgnitionEndpointTokenReference `json:"ignitionEndpointTokenReference,omitempty"`
// IgnitionEndpointHTTPHeaders are the additional HTTP headers used when fetching the ignition.
IgnitionEndpointHTTPHeaders map[string]string `json:"ignitionEndpointHTTPHeaders,omitempty"`
// NodeLabels are the labels to be applied on the node associated with this agent
NodeLabels map[string]string `json:"nodeLabels,omitempty"`
}
AgentSpec defines the desired state of Agent
func (*AgentSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.
func (*AgentSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentStatus ¶
type AgentStatus struct {
Bootstrap bool `json:"bootstrap,omitempty"`
// +optional
Role models.HostRole `json:"role" protobuf:"bytes,1,opt,name=role,casttype=HostRole,omitempty"`
Inventory HostInventory `json:"inventory,omitempty"`
Progress HostProgressInfo `json:"progress,omitempty"`
NtpSources []HostNTPSources `json:"ntpSources,omitempty"`
Conditions []conditionsv1.Condition `json:"conditions,omitempty"`
// DebugInfo includes information for debugging the installation process.
// +optional
DebugInfo DebugInfo `json:"debugInfo"`
// ValidationsInfo is a JSON-formatted string containing the validation results for each validation id grouped by category (network, hosts-data, etc.)
// +optional
ValidationsInfo common.ValidationsStatus `json:"validationsInfo,omitempty"`
// InstallationDiskID is the disk that will be used for the installation.
// +optional
InstallationDiskID string `json:"installation_disk_id,omitempty"`
// DeprovisionInfo stores data related to the agent's previous cluster binding in order to clean up when the agent re-registers
// +optional
DeprovisionInfo *AgentDeprovisionInfo `json:"deprovision_info,omitempty"`
// CSRStatus tracks the status of CSR approvals for the agent
CSRStatus CSRStatus `json:"csrStatus,omitempty"`
}
AgentStatus defines the observed state of Agent
func (*AgentStatus) DeepCopy ¶
func (in *AgentStatus) DeepCopy() *AgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus.
func (*AgentStatus) DeepCopyInto ¶
func (in *AgentStatus) DeepCopyInto(out *AgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BootArtifacts ¶
type BootArtifacts struct {
// InitrdURL specifies an HTTP/S URL that contains the initrd
// +optional
InitrdURL string `json:"initrd"`
// RootfsURL specifies an HTTP/S URL that contains the rootfs
// +optional
RootfsURL string `json:"rootfs"`
// KernelURL specifies an HTTP/S URL that contains the kernel
// +optional
KernelURL string `json:"kernel"`
// IpxeScriptURL specifies an HTTP/S URL that contains the iPXE script
// +optional
IpxeScriptURL string `json:"ipxeScript"`
}
func (*BootArtifacts) DeepCopy ¶
func (in *BootArtifacts) DeepCopy() *BootArtifacts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootArtifacts.
func (*BootArtifacts) DeepCopyInto ¶
func (in *BootArtifacts) DeepCopyInto(out *BootArtifacts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CSRInfo ¶
type CSRInfo struct {
Name string `json:"name"`
Type CSRType `json:"type"`
ApprovedAt metav1.Time `json:"approvedAt"`
}
CSRInfo tracks information about an approved CSR
func (*CSRInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSRInfo.
func (*CSRInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CSRStatus ¶
type CSRStatus struct {
// CSRs that have been approved for the agent by the assisted-service
ApprovedCSRs []CSRInfo `json:"approvedCSRs,omitempty"`
// Last time we attempted a CSR approval
LastApprovalAttempt metav1.Time `json:"lastApprovalAttempt,omitempty"`
}
CSRStatus tracks the status of CSR approvals for the agent
func (*CSRStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSRStatus.
func (*CSRStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterReference ¶
type ClusterReference struct {
// Name is unique within a namespace to reference a cluster resource.
// +optional
Name string `json:"name,omitempty"`
// Namespace defines the space within which the cluster name must be unique.
// +optional
Namespace string `json:"namespace,omitempty"`
}
ClusterReference represents a Cluster Reference. It has enough information to retrieve cluster in any namespace
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DebugInfo ¶
type DebugInfo struct {
// EventsURL specifies an HTTP/S URL that contains events which occured during the cluster installation process
// +optional
EventsURL string `json:"eventsURL,omitempty"`
// LogsURL specifies a url for download controller logs tar file.
// +optional
LogsURL string `json:"logsURL,omitempty"`
// +optional
// Current state of the Agent
State string `json:"state,omitempty"`
//Additional information pertaining to the status of the Agent
// +optional
StateInfo string `json:"stateInfo,omitempty"`
}
func (*DebugInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebugInfo.
func (*DebugInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostBoot ¶
type HostBoot struct {
CurrentBootMode string `json:"currentBootMode,omitempty"`
PxeInterface string `json:"pxeInterface,omitempty"`
}
func (*HostBoot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostBoot.
func (*HostBoot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostCPU ¶
type HostCPU struct {
Count int64 `json:"count,omitempty"`
// Name in REST API: frequency
ClockMegahertz int64 `json:"clockMegahertz,omitempty"`
Flags []string `json:"flags,omitempty"`
ModelName string `json:"modelName,omitempty"`
Architecture string `json:"architecture,omitempty"`
}
func (*HostCPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostCPU.
func (*HostCPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostDisk ¶
type HostDisk struct {
ID string `json:"id"`
DriveType string `json:"driveType,omitempty"`
Vendor string `json:"vendor,omitempty"`
Name string `json:"name,omitempty"`
Path string `json:"path,omitempty"`
Hctl string `json:"hctl,omitempty"`
ByPath string `json:"byPath,omitempty"`
ByID string `json:"byID,omitempty"`
Model string `json:"model,omitempty"`
Wwn string `json:"wwn,omitempty"`
Serial string `json:"serial,omitempty"`
SizeBytes int64 `json:"sizeBytes,omitempty"`
Bootable bool `json:"bootable,omitempty"`
Smart string `json:"smart,omitempty"`
InstallationEligibility HostInstallationEligibility `json:"installationEligibility,omitempty"`
IoPerf HostIOPerf `json:"ioPerf,omitempty"`
}
func (*HostDisk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDisk.
func (*HostDisk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostIOPerf ¶
type HostIOPerf struct {
// 99th percentile of fsync duration in milliseconds
SyncDurationMilliseconds int64 `json:"syncDurationMilliseconds,omitempty"`
}
func (*HostIOPerf) DeepCopy ¶
func (in *HostIOPerf) DeepCopy() *HostIOPerf
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostIOPerf.
func (*HostIOPerf) DeepCopyInto ¶
func (in *HostIOPerf) DeepCopyInto(out *HostIOPerf)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostInstallationEligibility ¶
type HostInstallationEligibility struct {
Eligible bool `json:"eligible,omitempty"`
NotEligibleReasons []string `json:"notEligibleReasons"`
}
func (*HostInstallationEligibility) DeepCopy ¶
func (in *HostInstallationEligibility) DeepCopy() *HostInstallationEligibility
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostInstallationEligibility.
func (*HostInstallationEligibility) DeepCopyInto ¶
func (in *HostInstallationEligibility) DeepCopyInto(out *HostInstallationEligibility)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostInterface ¶
type HostInterface struct {
IPV6Addresses []string `json:"ipV6Addresses"`
Vendor string `json:"vendor,omitempty"`
Name string `json:"name,omitempty"`
HasCarrier bool `json:"hasCarrier,omitempty"`
Product string `json:"product,omitempty"`
Mtu int64 `json:"mtu,omitempty"`
IPV4Addresses []string `json:"ipV4Addresses"`
Biosdevname string `json:"biosDevName,omitempty"`
ClientId string `json:"clientID,omitempty"`
MacAddress string `json:"macAddress,omitempty"`
Flags []string `json:"flags"`
SpeedMbps int64 `json:"speedMbps,omitempty"`
}
func (*HostInterface) DeepCopy ¶
func (in *HostInterface) DeepCopy() *HostInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostInterface.
func (*HostInterface) DeepCopyInto ¶
func (in *HostInterface) DeepCopyInto(out *HostInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostInventory ¶
type HostInventory struct {
// Name in REST API: timestamp
ReportTime *metav1.Time `json:"reportTime,omitempty"`
Hostname string `json:"hostname,omitempty"`
BmcAddress string `json:"bmcAddress,omitempty"`
BmcV6address string `json:"bmcV6Address,omitempty"`
Memory HostMemory `json:"memory,omitempty"`
Cpu HostCPU `json:"cpu,omitempty"`
Interfaces []HostInterface `json:"interfaces,omitempty"`
Disks []HostDisk `json:"disks,omitempty"`
Boot HostBoot `json:"boot,omitempty"`
SystemVendor HostSystemVendor `json:"systemVendor,omitempty"`
}
func (*HostInventory) DeepCopy ¶
func (in *HostInventory) DeepCopy() *HostInventory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostInventory.
func (*HostInventory) DeepCopyInto ¶
func (in *HostInventory) DeepCopyInto(out *HostInventory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostMemory ¶
type HostMemory struct {
PhysicalBytes int64 `json:"physicalBytes,omitempty"`
UsableBytes int64 `json:"usableBytes,omitempty"`
}
func (*HostMemory) DeepCopy ¶
func (in *HostMemory) DeepCopy() *HostMemory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostMemory.
func (*HostMemory) DeepCopyInto ¶
func (in *HostMemory) DeepCopyInto(out *HostMemory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostNTPSources ¶
type HostNTPSources struct {
SourceName string `json:"sourceName,omitempty"`
SourceState models.SourceState `json:"sourceState,omitempty"`
}
func (*HostNTPSources) DeepCopy ¶
func (in *HostNTPSources) DeepCopy() *HostNTPSources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostNTPSources.
func (*HostNTPSources) DeepCopyInto ¶
func (in *HostNTPSources) DeepCopyInto(out *HostNTPSources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostProgressInfo ¶
type HostProgressInfo struct {
// current installation stage
CurrentStage models.HostStage `json:"currentStage,omitempty"`
// All stages (ordered by their appearance) for this agent
ProgressStages []models.HostStage `json:"progressStages,omitempty"`
// Additional information for the current installation stage
ProgressInfo string `json:"progressInfo,omitempty"`
// Estimate progress (percentage)
InstallationPercentage int64 `json:"installationPercentage,omitempty"`
// host field: progress: stage_started_at
StageStartTime *metav1.Time `json:"stageStartTime,omitempty"`
// host field: progress: stage_updated_at
StageUpdateTime *metav1.Time `json:"stageUpdateTime,omitempty"`
}
func (*HostProgressInfo) DeepCopy ¶
func (in *HostProgressInfo) DeepCopy() *HostProgressInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostProgressInfo.
func (*HostProgressInfo) DeepCopyInto ¶
func (in *HostProgressInfo) DeepCopyInto(out *HostProgressInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSystemVendor ¶
type HostSystemVendor struct {
SerialNumber string `json:"serialNumber,omitempty"`
ProductName string `json:"productName,omitempty"`
Manufacturer string `json:"manufacturer,omitempty"`
Virtual bool `json:"virtual,omitempty"`
}
func (*HostSystemVendor) DeepCopy ¶
func (in *HostSystemVendor) DeepCopy() *HostSystemVendor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSystemVendor.
func (*HostSystemVendor) DeepCopyInto ¶
func (in *HostSystemVendor) DeepCopyInto(out *HostSystemVendor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HypershiftAgentServiceConfig ¶
type HypershiftAgentServiceConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HypershiftAgentServiceConfigSpec `json:"spec,omitempty"`
Status HypershiftAgentServiceConfigStatus `json:"status,omitempty"`
}
HypershiftAgentServiceConfig represents an Assisted Service deployment over zero-worker hypershift cluster. Each resource represents a deployment scheme over hosted cluster that runs in that namespace. +kubebuilder:resource:shortName=hasc +operator-sdk:csv:customresourcedefinitions:displayName="Hypershift Service Config" +operator-sdk:csv:customresourcedefinitions:order=1
func (*HypershiftAgentServiceConfig) DeepCopy ¶
func (in *HypershiftAgentServiceConfig) DeepCopy() *HypershiftAgentServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HypershiftAgentServiceConfig.
func (*HypershiftAgentServiceConfig) DeepCopyInto ¶
func (in *HypershiftAgentServiceConfig) DeepCopyInto(out *HypershiftAgentServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HypershiftAgentServiceConfig) DeepCopyObject ¶
func (in *HypershiftAgentServiceConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HypershiftAgentServiceConfigList ¶
type HypershiftAgentServiceConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HypershiftAgentServiceConfig `json:"items"`
}
+kubebuilder:object:root=true HypershiftAgentServiceConfigList contains a list of HypershiftAgentServiceConfigs
func (*HypershiftAgentServiceConfigList) DeepCopy ¶
func (in *HypershiftAgentServiceConfigList) DeepCopy() *HypershiftAgentServiceConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HypershiftAgentServiceConfigList.
func (*HypershiftAgentServiceConfigList) DeepCopyInto ¶
func (in *HypershiftAgentServiceConfigList) DeepCopyInto(out *HypershiftAgentServiceConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HypershiftAgentServiceConfigList) DeepCopyObject ¶
func (in *HypershiftAgentServiceConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HypershiftAgentServiceConfigSpec ¶
type HypershiftAgentServiceConfigSpec struct {
AgentServiceConfigSpec `json:",inline"`
// KubeconfigSecretRef is a reference to the secret containing the kubeconfig for the destination Hypershift instance.
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hypershift kubeconfig reference"
KubeconfigSecretRef corev1.LocalObjectReference `json:"kubeconfigSecretRef"`
}
HypershiftAgentServiceConfigSpec defines the desired state of HypershiftAgentServiceConfig.
func (*HypershiftAgentServiceConfigSpec) DeepCopy ¶
func (in *HypershiftAgentServiceConfigSpec) DeepCopy() *HypershiftAgentServiceConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HypershiftAgentServiceConfigSpec.
func (*HypershiftAgentServiceConfigSpec) DeepCopyInto ¶
func (in *HypershiftAgentServiceConfigSpec) DeepCopyInto(out *HypershiftAgentServiceConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HypershiftAgentServiceConfigStatus ¶
type HypershiftAgentServiceConfigStatus struct {
Conditions []conditionsv1.Condition `json:"conditions,omitempty"`
}
func (*HypershiftAgentServiceConfigStatus) DeepCopy ¶
func (in *HypershiftAgentServiceConfigStatus) DeepCopy() *HypershiftAgentServiceConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HypershiftAgentServiceConfigStatus.
func (*HypershiftAgentServiceConfigStatus) DeepCopyInto ¶
func (in *HypershiftAgentServiceConfigStatus) DeepCopyInto(out *HypershiftAgentServiceConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPXEScriptType ¶
type IPXEScriptType string
IPXEScriptType is the script type that should be served (BootOrderControl/DiscoveryImageAlways) +kubebuilder:validation:Enum="";DiscoveryImageAlways;BootOrderControl
const ( // DiscoveryImageAlways - Boot from network DiscoveryImageAlways IPXEScriptType = "DiscoveryImageAlways" // BootOrderControl - Boot with mac identification redirect script BootOrderControl IPXEScriptType = "BootOrderControl" )
type IgnitionEndpointTokenReference ¶
type IgnitionEndpointTokenReference struct {
// Namespace is the namespace of the secret containing the ignition endpoint token.
Namespace string `json:"namespace"`
// Name is the name of the secret containing the ignition endpoint token.
Name string `json:"name"`
}
func (*IgnitionEndpointTokenReference) DeepCopy ¶
func (in *IgnitionEndpointTokenReference) DeepCopy() *IgnitionEndpointTokenReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgnitionEndpointTokenReference.
func (*IgnitionEndpointTokenReference) DeepCopyInto ¶
func (in *IgnitionEndpointTokenReference) DeepCopyInto(out *IgnitionEndpointTokenReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraEnv ¶
type InfraEnv struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec InfraEnvSpec `json:"spec,omitempty"`
Status InfraEnvStatus `json:"status,omitempty"`
}
func (*InfraEnv) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraEnv.
func (*InfraEnv) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InfraEnv) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InfraEnvDebugInfo ¶
type InfraEnvDebugInfo struct {
// EventsURL specifies an HTTP/S URL that contains InfraEnv events
// +optional
EventsURL string `json:"eventsURL"`
// StaticNetworkDownloadURL specifies an HTTP/S URL that contains the static network config
StaticNetworkDownloadURL string `json:"staticNetworkDownloadURL,omitempty"`
}
func (*InfraEnvDebugInfo) DeepCopy ¶
func (in *InfraEnvDebugInfo) DeepCopy() *InfraEnvDebugInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraEnvDebugInfo.
func (*InfraEnvDebugInfo) DeepCopyInto ¶
func (in *InfraEnvDebugInfo) DeepCopyInto(out *InfraEnvDebugInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraEnvList ¶
type InfraEnvList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []InfraEnv `json:"items"`
}
InfraEnvList contains a list of InfraEnvs
func (*InfraEnvList) DeepCopy ¶
func (in *InfraEnvList) DeepCopy() *InfraEnvList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraEnvList.
func (*InfraEnvList) DeepCopyInto ¶
func (in *InfraEnvList) DeepCopyInto(out *InfraEnvList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InfraEnvList) DeepCopyObject ¶
func (in *InfraEnvList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InfraEnvSpec ¶
type InfraEnvSpec struct {
// Proxy defines the proxy settings for agents and clusters that use the InfraEnv. If
// unset, the agents and clusters will not be configured to use a proxy.
// +optional
Proxy *Proxy `json:"proxy,omitempty"`
// AdditionalNTPSources is a list of NTP sources (hostname or IP) to be added to all cluster
// hosts. They are added to any NTP sources that were configured through other means.
// +optional
AdditionalNTPSources []string `json:"additionalNTPSources,omitempty"`
// SSHAuthorizedKey is a SSH public keys that will be added to all agents for use in debugging.
// +optional
SSHAuthorizedKey string `json:"sshAuthorizedKey,omitempty"`
// PullSecretRef is the reference to the secret to use when pulling images.
PullSecretRef *corev1.LocalObjectReference `json:"pullSecretRef"`
// AgentLabels lists labels to apply to Agents that are associated with this InfraEnv upon
// the creation of the Agents.
// +optional
AgentLabels map[string]string `json:"agentLabels,omitempty"`
// NmstateConfigLabelSelector associates NMStateConfigs for hosts that are considered part
// of this installation environment.
// +optional
NMStateConfigLabelSelector metav1.LabelSelector `json:"nmStateConfigLabelSelector,omitempty"`
// ClusterRef is the reference to the single ClusterDeployment that will be installed from
// this InfraEnv.
// Future versions will allow for multiple ClusterDeployments and this reference will be
// removed.
// +optional
ClusterRef *ClusterReference `json:"clusterRef,omitempty"`
// Json formatted string containing the user overrides for the initial ignition config
// +optional
IgnitionConfigOverride string `json:"ignitionConfigOverride,omitempty"`
// CpuArchitecture specifies the target CPU architecture. Default is x86_64
// +kubebuilder:default=x86_64
// +optional
CpuArchitecture string `json:"cpuArchitecture,omitempty"`
// IPXEScriptType the script type that should be served (DiscoveryImageAlways/BootOrderControl)
// DiscoveryImageAlways: Boot unconditionaly from the network discovery image
// BootOrderControl: Boot from discovery ISO depending on the host's state.
// When the value is BootOrderControl, the service will look for an Agent record that matches the host's MAC address;
// if found, and if that Agent is in a state where it is provisioned and attached to a cluster, then host will boot the host disk.
// Otherwise it will boot the discovery ISO using the same script as the DiscoveryImageAlways option.
// +kubebuilder:default=DiscoveryImageAlways
// +optional
IPXEScriptType IPXEScriptType `json:"ipxeScriptType"`
// KernelArguments is the additional kernel arguments to be passed during boot time of the discovery image.
// Applicable for both iPXE, and ISO streaming from Image Service.
// +optional
KernelArguments []KernelArgument `json:"kernelArguments,omitempty"`
// PEM-encoded X.509 certificate bundle. Hosts discovered by this
// infra-env will trust the certificates in this bundle. Clusters formed
// from the hosts discovered by this infra-env will also trust the
// certificates in this bundle.
// +optional
AdditionalTrustBundle string `json:"additionalTrustBundle,omitempty"`
// OSImageVersion is the version of OS image to use when generating the InfraEnv.
// The version should refer to an OSImage specified in the AgentServiceConfig
// (i.e. OSImageVersion should equal to an OpenshiftVersion in OSImages list).
// Note: OSImageVersion can't be specified along with ClusterRef.
// +optional
OSImageVersion string `json:"osImageVersion,omitempty"`
}
func (*InfraEnvSpec) DeepCopy ¶
func (in *InfraEnvSpec) DeepCopy() *InfraEnvSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraEnvSpec.
func (*InfraEnvSpec) DeepCopyInto ¶
func (in *InfraEnvSpec) DeepCopyInto(out *InfraEnvSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraEnvStatus ¶
type InfraEnvStatus struct {
// ISODownloadURL specifies an HTTP/S URL that contains a discovery ISO containing the
// configuration from this InfraEnv.
ISODownloadURL string `json:"isoDownloadURL,omitempty"`
CreatedTime *metav1.Time `json:"createdTime,omitempty"`
Conditions []conditionsv1.Condition `json:"conditions,omitempty"`
// AgentLabelSelector specifies the label that will be applied to Agents that boot from the
// installation media of this InfraEnv. This is how a user would identify which agents are
// associated with a particular InfraEnv.
// +optional
AgentLabelSelector metav1.LabelSelector `json:"agentLabelSelector,omitempty"`
// InfraEnvDebugInfo includes information for debugging the installation process.
// +optional
InfraEnvDebugInfo InfraEnvDebugInfo `json:"debugInfo"`
// BootArtifacts specifies the URLs for each boot artifact
// +optional
BootArtifacts BootArtifacts `json:"bootArtifacts"`
}
func (*InfraEnvStatus) DeepCopy ¶
func (in *InfraEnvStatus) DeepCopy() *InfraEnvStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraEnvStatus.
func (*InfraEnvStatus) DeepCopyInto ¶
func (in *InfraEnvStatus) DeepCopyInto(out *InfraEnvStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶
type Ingress struct {
// AssistedServiceHostname is the hostname to be assigned to the assisted-service ingress.
// Has no effect when running on an OpenShift cluster.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Assisted Service hostname"
AssistedServiceHostname string `json:"assistedServiceHostname"`
// ImageServiceHostname is the hostname to be assigned to the assisted-image-service ingress.
// Has no effect when running on an OpenShift cluster.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Assisted Image Service hostname"
ImageServiceHostname string `json:"imageServiceHostname"`
// ClassName is the name of the ingress class to be used when configuring ingress resources.
// Has no effect when running on an OpenShift cluster.
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Class Name"
// +optional
ClassName *string `json:"className,omitempty"`
}
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Interface ¶
type Interface struct {
// nic name used in the yaml, which relates 1:1 to the mac address.
// Name in REST API: logicalNICName
Name string `json:"name"`
// mac address present on the host.
// +kubebuilder:validation:Pattern=`^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$`
MacAddress string `json:"macAddress"`
}
func (*Interface) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (*Interface) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KernelArgument ¶
type KernelArgument struct {
// Operation is the operation to apply on the kernel argument.
// +kubebuilder:validation:Enum=append;replace;delete
Operation string `json:"operation,omitempty"`
// Value can have the form <parameter> or <parameter>=<value>. The following examples should be supported:
// rd.net.timeout.carrier=60
// isolcpus=1,2,10-20,100-2000:2/25
// quiet
// +kubebuilder:validation:Pattern=`^(?:(?:[^ \t\n\r"]+)|(?:"[^"]*"))+$`
Value string `json:"value,omitempty"`
}
func (*KernelArgument) DeepCopy ¶
func (in *KernelArgument) DeepCopy() *KernelArgument
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelArgument.
func (*KernelArgument) DeepCopyInto ¶
func (in *KernelArgument) DeepCopyInto(out *KernelArgument)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MustGatherImage ¶
type MustGatherImage struct {
// OpenshiftVersion is the Major.Minor version of OpenShift that this image
// is to be associated with.
OpenshiftVersion string `json:"openshiftVersion"`
// Name specifies the name of the component (e.g. operator)
// that the image is used to collect information about.
Name string `json:"name"`
// Url specifies the path to the Operating System image.
Url string `json:"url"`
}
func (*MustGatherImage) DeepCopy ¶
func (in *MustGatherImage) DeepCopy() *MustGatherImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MustGatherImage.
func (*MustGatherImage) DeepCopyInto ¶
func (in *MustGatherImage) DeepCopyInto(out *MustGatherImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NMStateConfig ¶
type NMStateConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NMStateConfigSpec `json:"spec,omitempty"`
}
func (*NMStateConfig) DeepCopy ¶
func (in *NMStateConfig) DeepCopy() *NMStateConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NMStateConfig.
func (*NMStateConfig) DeepCopyInto ¶
func (in *NMStateConfig) DeepCopyInto(out *NMStateConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NMStateConfig) DeepCopyObject ¶
func (in *NMStateConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NMStateConfigList ¶
type NMStateConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NMStateConfig `json:"items"`
}
NMStateConfigList contains a list of NMStateConfigs
func (*NMStateConfigList) DeepCopy ¶
func (in *NMStateConfigList) DeepCopy() *NMStateConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NMStateConfigList.
func (*NMStateConfigList) DeepCopyInto ¶
func (in *NMStateConfigList) DeepCopyInto(out *NMStateConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NMStateConfigList) DeepCopyObject ¶
func (in *NMStateConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NMStateConfigSpec ¶
type NMStateConfigSpec struct {
// Interfaces is an array of interface objects containing the name and MAC
// address for interfaces that are referenced in the raw nmstate config YAML.
// Interfaces listed here will be automatically renamed in the nmstate config
// YAML to match the real device name that is observed to have the
// corresponding MAC address. At least one interface must be listed so that it
// can be used to identify the correct host, which is done by matching any MAC
// address in this list to any MAC address observed on the host.
// +kubebuilder:validation:MinItems=1
Interfaces []*Interface `json:"interfaces,omitempty"`
// yaml that can be processed by nmstate, using custom marshaling/unmarshaling that will allow to populate nmstate config as plain yaml.
// +kubebuilder:validation:XPreserveUnknownFields
NetConfig NetConfig `json:"config,omitempty"`
}
func (*NMStateConfigSpec) DeepCopy ¶
func (in *NMStateConfigSpec) DeepCopy() *NMStateConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NMStateConfigSpec.
func (*NMStateConfigSpec) DeepCopyInto ¶
func (in *NMStateConfigSpec) DeepCopyInto(out *NMStateConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetConfig ¶
type NetConfig struct {
Raw RawNetConfig `json:"-"`
}
NetConfig contains the namestatectl yaml [1] as string instead of golang struct so we don't need to be in sync with the schema.
[1] https://github.com/nmstate/nmstate/blob/base/libnmstate/schemas/operational-state.yaml +kubebuilder:validation:Type=object
func (*NetConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetConfig.
func (*NetConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NetConfig) MarshalJSON ¶
We are using behind the scenes the golang encode/json so we need to return json here for golang to work well, the upper yaml parser will convert it to yaml making nmstate yaml transparent to kubernetes-nmstate
func (NetConfig) OpenAPISchemaType ¶
[1] https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators
func (*NetConfig) UnmarshalJSON ¶
Bypass State parsing and directly store it as yaml string to later on pass it to namestatectl using it as transparent data at kubernetes-nmstate
type OSImage ¶
type OSImage struct {
// OpenshiftVersion is the Major.Minor version of OpenShift that this image
// is to be associated with.
OpenshiftVersion string `json:"openshiftVersion"`
// Version is the Operating System version of the image.
Version string `json:"version"`
// Url specifies the path to the Operating System image.
Url string `json:"url"`
// rootFSUrl specifies the path to the root filesystem.
// +optional
// Deprecated: this field is ignored (will be removed in a future release).
RootFSUrl string `json:"rootFSUrl"`
// The CPU architecture of the image (x86_64/arm64/etc).
// +optional
CPUArchitecture string `json:"cpuArchitecture"`
}
OSImage defines an Operating System image and the OpenShift version it is associated with.
func (*OSImage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImage.
func (*OSImage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Proxy ¶
type Proxy struct {
// HTTPProxy is the URL of the proxy for HTTP requests.
// +optional
HTTPProxy string `json:"httpProxy,omitempty"`
// HTTPSProxy is the URL of the proxy for HTTPS requests.
// +optional
HTTPSProxy string `json:"httpsProxy,omitempty"`
// NoProxy is a comma-separated list of domains and CIDRs for which the proxy should not be
// used.
// +optional
NoProxy string `json:"noProxy,omitempty"`
}
Proxy defines the proxy settings for agents and clusters that use the InfraEnv. At least one of HTTPProxy or HTTPSProxy is required.
func (*Proxy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawNetConfig ¶
type RawNetConfig []byte
func (RawNetConfig) DeepCopy ¶
func (in RawNetConfig) DeepCopy() RawNetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawNetConfig.
func (RawNetConfig) DeepCopyInto ¶
func (in RawNetConfig) DeepCopyInto(out *RawNetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.