Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 21 additions & 5 deletions api/v1alpha1/dataprotectionapplication_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ const ReconcileCompleteMessage = "Reconcile complete"

// Readiness Conditions
const (
ConditionVeleroReady = "VeleroReady"
ConditionNodeAgentReady = "NodeAgentReady"
ConditionNonAdminReady = "NonAdminReady"
ConditionVMFileRestoreReady = "VMFileRestoreReady"
ConditionKubevirtDatamoverReady = "KubevirtDatamoverReady"
ConditionVeleroReady = "VeleroReady"
ConditionNodeAgentReady = "NodeAgentReady"
ConditionNonAdminReady = "NonAdminReady"
ConditionVMFileRestoreReady = "VMFileRestoreReady"
ConditionKubevirtAnnotationsRemoverReady = "KubevirtAnnotationsRemoverReady"
ConditionKubevirtDatamoverReady = "KubevirtDatamoverReady"
)

// Readiness condition reasons
Expand Down Expand Up @@ -98,6 +99,7 @@ const VMFileRestoreControllerImageKey UnsupportedImageKey = "vmFileRestoreContro
const VMFileRestoreAccessImageKey UnsupportedImageKey = "vmFileRestoreAccessImageFqin"
const VMFileRestoreSSHImageKey UnsupportedImageKey = "vmFileRestoreSSHImageFqin"
const VMFileRestoreBrowserImageKey UnsupportedImageKey = "vmFileRestoreBrowserImageFqin"
const KubevirtAnnotationsRemoverImageKey UnsupportedImageKey = "kubevirtAnnotationsRemoverImageFqin"
const OperatorTypeKey UnsupportedImageKey = "operator-type"

const OperatorTypeMTC = "mtc"
Expand Down Expand Up @@ -772,6 +774,15 @@ type VMFileRestore struct {
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

// KubevirtAnnotationsRemover defines configuration for the webhook that removes
// Velero backup hook annotations from KubeVirt virt-launcher pods
type KubevirtAnnotationsRemover struct {
// Enable flag to deploy kubevirt-velero-annotations-remover webhook.
// By default is disabled
// +optional
Enable *bool `json:"enable,omitempty"`
}

// DataMover defines the various config for DPA data mover
type DataMover struct {
// enable flag is used to specify whether you want to deploy the volume snapshot mover controller
Expand Down Expand Up @@ -889,6 +900,7 @@ type DataProtectionApplicationSpec struct {
// - vmFileRestoreAccessImageFqin
// - vmFileRestoreSSHImageFqin
// - vmFileRestoreBrowserImageFqin
// - kubevirtAnnotationsRemoverImageFqin
// - operator-type
// - tech-preview-ack
// +optional
Expand Down Expand Up @@ -934,6 +946,10 @@ type DataProtectionApplicationSpec struct {
// vmFileRestore defines the configuration for the DPA to enable VM file restore feature
// +optional
VMFileRestore *VMFileRestore `json:"vmFileRestore,omitempty"`
// kubevirtAnnotationsRemover defines the configuration for the webhook that removes
// Velero backup hook annotations from KubeVirt virt-launcher pods
// +optional
KubevirtAnnotationsRemover *KubevirtAnnotationsRemover `json:"kubevirtAnnotationsRemover,omitempty"`
// The format for log output. Valid values are text, json. (default text)
// +kubebuilder:validation:Enum=text;json
// +kubebuilder:default=text
Expand Down
25 changes: 25 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions bundle/manifests/oadp-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1124,6 +1124,18 @@ spec:
- patch
- update
- watch
- apiGroups:
- admissionregistration.k8s.io
resources:
- mutatingwebhookconfigurations
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
Expand Down Expand Up @@ -1412,6 +1424,8 @@ spec:
value: quay.io/konveyor/oadp-vmfr-access-sshd:latest
- name: RELATED_IMAGE_VM_FILE_RESTORE_BROWSER
value: quay.io/konveyor/oadp-vmfr-access-filebrowser:latest
- name: RELATED_IMAGE_KUBEVIRT_ANNOTATIONS_REMOVER
value: quay.io/migtools/kubevirt-velero-annotations-remover-go:latest
- name: RELATED_IMAGE_CONSOLE_CLI_DOWNLOAD
value: quay.io/konveyor/oadp-cli-binaries:latest
- name: RELATED_IMAGE_KUBEVIRT_DATAMOVER_CONTROLLER
Expand Down Expand Up @@ -1652,6 +1666,8 @@ spec:
name: vm-file-restore-ssh
- image: quay.io/konveyor/oadp-vmfr-access-filebrowser:latest
name: vm-file-restore-browser
- image: quay.io/migtools/kubevirt-velero-annotations-remover-go:latest
name: kubevirt-annotations-remover
- image: quay.io/konveyor/oadp-cli-binaries:latest
name: console-cli-download
- image: quay.io/konveyor/kubevirt-datamover-controller:latest
Expand Down
12 changes: 12 additions & 0 deletions bundle/manifests/oadp.openshift.io_dataprotectionapplications.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1615,6 +1615,17 @@ spec:
- IfNotPresent
- Never
type: string
kubevirtAnnotationsRemover:
description: |-
kubevirtAnnotationsRemover defines the configuration for the webhook that removes
Velero backup hook annotations from KubeVirt virt-launcher pods
properties:
enable:
description: |-
Enable flag to deploy kubevirt-velero-annotations-remover webhook.
By default is disabled
type: boolean
type: object
logFormat:
default: text
description: The format for log output. Valid values are text, json. (default text)
Expand Down Expand Up @@ -2698,6 +2709,7 @@ spec:
- vmFileRestoreAccessImageFqin
- vmFileRestoreSSHImageFqin
- vmFileRestoreBrowserImageFqin
- kubevirtAnnotationsRemoverImageFqin
- operator-type
- tech-preview-ack
type: object
Expand Down
Loading