Documentation
¶
Index ¶
- Constants
- func GetCLIDownloadServiceAccount(namespace string) corev1.ServiceAccount
- func GetCSVBase(params *CSVBaseParams) *csvv1alpha1.ClusterServiceVersion
- func GetClusterPermissions() []rbacv1.PolicyRule
- func GetClusterRole() rbacv1.ClusterRole
- func GetClusterRoleBinding(namespace string) rbacv1.ClusterRoleBinding
- func GetDeploymentCliDownloads(params *DeploymentOperatorParams) appsv1.Deployment
- func GetDeploymentOperator(params *DeploymentOperatorParams) appsv1.Deployment
- func GetDeploymentSpecCliDownloads(params *DeploymentOperatorParams) appsv1.DeploymentSpec
- func GetDeploymentSpecOperator(params *DeploymentOperatorParams) appsv1.DeploymentSpec
- func GetDeploymentSpecWebhook(params *DeploymentOperatorParams) appsv1.DeploymentSpec
- func GetDeploymentWebhook(params *DeploymentOperatorParams) appsv1.Deployment
- func GetInstallStrategyBase(params *DeploymentOperatorParams) *csvv1alpha1.StrategyDetailsDeployment
- func GetOperatorCR() *hcov1beta1.HyperConverged
- func GetServiceAccount(namespace string) corev1.ServiceAccount
- func GetServiceWebhook() corev1.Service
- func GetStdContainerSecurityContext() *corev1.SecurityContext
- func GetStdPodSecurityContext() *corev1.PodSecurityContext
- func InjectVolumesForWebHookCerts(deploy *appsv1.Deployment)
- type CSVBaseParams
- type DeploymentOperatorParams
Constants ¶
const DisableOperandDeletionAnnotation = "console.openshift.io/disable-operand-delete"
Variables ¶
This section is empty.
Functions ¶
func GetCLIDownloadServiceAccount ¶ added in v1.15.0
func GetCLIDownloadServiceAccount(namespace string) corev1.ServiceAccount
func GetCSVBase ¶ added in v1.0.0
func GetCSVBase(params *CSVBaseParams) *csvv1alpha1.ClusterServiceVersion
GetCSVBase returns a base HCO CSV without an InstallStrategy
func GetClusterPermissions ¶ added in v1.0.0
func GetClusterPermissions() []rbacv1.PolicyRule
func GetClusterRole ¶
func GetClusterRole() rbacv1.ClusterRole
func GetClusterRoleBinding ¶ added in v1.0.0
func GetClusterRoleBinding(namespace string) rbacv1.ClusterRoleBinding
func GetDeploymentCliDownloads ¶ added in v1.5.0
func GetDeploymentCliDownloads(params *DeploymentOperatorParams) appsv1.Deployment
func GetDeploymentOperator ¶ added in v1.2.0
func GetDeploymentOperator(params *DeploymentOperatorParams) appsv1.Deployment
func GetDeploymentSpecCliDownloads ¶ added in v1.5.0
func GetDeploymentSpecCliDownloads(params *DeploymentOperatorParams) appsv1.DeploymentSpec
func GetDeploymentSpecOperator ¶ added in v1.2.0
func GetDeploymentSpecOperator(params *DeploymentOperatorParams) appsv1.DeploymentSpec
func GetDeploymentSpecWebhook ¶ added in v1.2.0
func GetDeploymentSpecWebhook(params *DeploymentOperatorParams) appsv1.DeploymentSpec
Currently we are abusing the pod readiness to signal to OLM that HCO is not ready for an upgrade. This has a lot of side effects, one of this is the validating webhook being not able to receive traffic when exposed by a pod that is not reporting ready=true. This can cause a lot of side effects if not deadlocks when the system reach a status where, for any possible reason, HCO pod cannot be ready and so HCO pod cannot validate any further update or delete request on HCO CR. A proper solution is properly use the readiness probe only to report the pod readiness and communicate status to OLM via conditions once OLM will be ready for: https://github.com/operator-framework/enhancements/blob/master/enhancements/operator-conditions.md in the meanwhile a quick (but dirty!) solution is to expose the same hco binary on two distinct pods: the first one will run only the controller and the second one (almost always ready) just the validating webhook one.
func GetDeploymentWebhook ¶ added in v1.2.0
func GetDeploymentWebhook(params *DeploymentOperatorParams) appsv1.Deployment
func GetInstallStrategyBase ¶ added in v1.0.0
func GetInstallStrategyBase(params *DeploymentOperatorParams) *csvv1alpha1.StrategyDetailsDeployment
GetInstallStrategyBase returns the basics of an HCO InstallStrategy
func GetOperatorCR ¶ added in v1.0.0
func GetOperatorCR() *hcov1beta1.HyperConverged
func GetServiceAccount ¶ added in v1.0.0
func GetServiceAccount(namespace string) corev1.ServiceAccount
func GetServiceWebhook ¶ added in v1.4.0
func GetStdContainerSecurityContext ¶ added in v1.7.0
func GetStdContainerSecurityContext() *corev1.SecurityContext
func GetStdPodSecurityContext ¶ added in v1.7.0
func GetStdPodSecurityContext() *corev1.PodSecurityContext
func InjectVolumesForWebHookCerts ¶ added in v1.4.0
func InjectVolumesForWebHookCerts(deploy *appsv1.Deployment)
Types ¶
type CSVBaseParams ¶ added in v1.4.0
type DeploymentOperatorParams ¶ added in v1.4.0
type DeploymentOperatorParams struct {
Namespace string
Image string
WebhookImage string
CliDownloadsImage string
KVUIPluginImage string
KVUIProxyImage string
PasstImage string
PasstCNIImage string
WaspAgentImage string
ImagePullPolicy string
ConversionContainer string
VmwareContainer string
VirtIOWinContainer string
Smbios string
Machinetype string
Amd64MachineType string
Arm64MachineType string
HcoKvIoVersion string
KubevirtVersion string
KvVirtLancherOsVersion string
CdiVersion string
CnaoVersion string
SspVersion string
HppoVersion string
MtqVersion string
AaqVersion string
Env []corev1.EnvVar
AddNetworkPolicyLabels bool
}