v1beta1

package
v0.0.0-...-ac479d4 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 9 Imported by: 2

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

View Source
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"
)
View Source
const (
	QueryErrorsCondition conditionsv1.ConditionType = "QueryErrors"
	QueryNoErrorsReason  string                     = "NoQueryErrors"
	QueryHasErrorsReason string                     = "HasQueryErrors"
)
View Source
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.

View Source
const (
	Group   string = "agent-install.openshift.io"
	Version string = "v1beta1"
)
View Source
const (
	ImageCreatedReason       = "ImageCreated"
	ImageStateCreated        = "Image has been created"
	ImageCreationErrorReason = "ImageCreationError"
	ImageStateFailedToCreate = "Failed to create image"
	InfraEnvNameLabel        = "infraenvs.agent-install.openshift.io"
)
View Source
const (
	ImageCreatedCondition conditionsv1.ConditionType = "ImageCreated"
)

Variables

View Source
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

func (in *Agent) DeepCopy() *Agent

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

func (*Agent) DeepCopyInto

func (in *Agent) DeepCopyInto(out *Agent)

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

func (*Agent) DeepCopyObject

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

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

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

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

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

func (*AgentClassificationStatus) DeepCopyInto

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

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

func (in *AgentList) DeepCopy() *AgentList

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

func (*AgentList) DeepCopyInto

func (in *AgentList) DeepCopyInto(out *AgentList)

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

func (*AgentList) DeepCopyObject

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

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

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

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

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

func (in *AgentSpec) DeepCopy() *AgentSpec

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

func (*AgentSpec) DeepCopyInto

func (in *AgentSpec) DeepCopyInto(out *AgentSpec)

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

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

func (in *DebugInfo) DeepCopy() *DebugInfo

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

func (*DebugInfo) DeepCopyInto

func (in *DebugInfo) DeepCopyInto(out *DebugInfo)

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

func (in *HostBoot) DeepCopy() *HostBoot

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

func (*HostBoot) DeepCopyInto

func (in *HostBoot) DeepCopyInto(out *HostBoot)

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

func (in *HostCPU) DeepCopy() *HostCPU

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

func (*HostCPU) DeepCopyInto

func (in *HostCPU) DeepCopyInto(out *HostCPU)

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

func (in *HostDisk) DeepCopy() *HostDisk

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

func (*HostDisk) DeepCopyInto

func (in *HostDisk) DeepCopyInto(out *HostDisk)

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

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

func (*HostInstallationEligibility) DeepCopyInto

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

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

func (*HypershiftAgentServiceConfig) DeepCopyInto

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

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

func (*HypershiftAgentServiceConfigList) DeepCopyInto

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

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

func (*HypershiftAgentServiceConfigSpec) DeepCopyInto

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

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

func (*HypershiftAgentServiceConfigStatus) DeepCopyInto

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

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

func (*IgnitionEndpointTokenReference) DeepCopyInto

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

func (in *InfraEnv) DeepCopy() *InfraEnv

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

func (*InfraEnv) DeepCopyInto

func (in *InfraEnv) DeepCopyInto(out *InfraEnv)

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

func (*InfraEnv) DeepCopyObject

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

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

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

func (in *Interface) DeepCopy() *Interface

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

func (*Interface) DeepCopyInto

func (in *Interface) DeepCopyInto(out *Interface)

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

func (in *NetConfig) DeepCopy() *NetConfig

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

func (*NetConfig) DeepCopyInto

func (in *NetConfig) DeepCopyInto(out *NetConfig)

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

func (NetConfig) MarshalJSON

func (t NetConfig) MarshalJSON() (output []byte, err error)

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

func (t NetConfig) String() string

Simple stringer for State

func (*NetConfig) UnmarshalJSON

func (t *NetConfig) UnmarshalJSON(b []byte) error

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

func (in *OSImage) DeepCopy() *OSImage

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

func (*OSImage) DeepCopyInto

func (in *OSImage) DeepCopyInto(out *OSImage)

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

func (in *Proxy) DeepCopy() *Proxy

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

func (*Proxy) DeepCopyInto

func (in *Proxy) DeepCopyInto(out *Proxy)

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.

Jump to

Keyboard shortcuts

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