flag.StringVar(&VeleroCfg.CloudProvider,"cloud-provider","","cloud that Velero will be installed into. Required.")
flag.StringVar(&VeleroCfg.ObjectStoreProvider,"object-store-provider","","provider of object store plugin. Required if cloud-provider is kind, otherwise ignored.")
flag.StringVar(&VeleroCfg.BSLBucket,"bucket","","name of the object storage bucket where backups from e2e tests should be stored. Required.")
flag.StringVar(&VeleroCfg.CloudCredentialsFile,"credentials-file","","file containing credentials for backup and volume provider. Required.")
flag.StringVar(&VeleroCfg.VeleroCLI,"velerocli","velero","path to the velero application to use.")
flag.StringVar(&VeleroCfg.VeleroImage,"velero-image","velero/velero:main","image for the velero server to be tested.")
flag.StringVar(&VeleroCfg.Plugins,"plugins","","provider plugins to be tested.")
flag.StringVar(&VeleroCfg.AddBSLPlugins,"additional-bsl-plugins","","additional plugins to be tested.")
flag.StringVar(&VeleroCfg.VeleroVersion,"velero-version","main","image version for the velero server to be tested with.")
flag.StringVar(&VeleroCfg.ResticHelperImage,"restic-helper-image","","image for the velero restic restore helper to be tested.")
flag.StringVar(&VeleroCfg.UpgradeFromVeleroCLI,"upgrade-from-velero-cli","","path to the pre-upgrade velero application to use.")
flag.StringVar(&VeleroCfg.BSLConfig,"bsl-config","","configuration to use for the backup storage location. Format is key1=value1,key2=value2")
flag.StringVar(&VeleroCfg.BSLPrefix,"prefix","","prefix under which all Velero data should be stored within the bucket. Optional.")
flag.StringVar(&VeleroCfg.VSLConfig,"vsl-config","","configuration to use for the volume snapshot location. Format is key1=value1,key2=value2")
flag.StringVar(&VeleroCfg.VeleroNamespace,"velero-namespace","velero","namespace to install Velero into")
flag.BoolVar(&VeleroCfg.InstallVelero,"install-velero",true,"install/uninstall velero during the test. Optional.")
flag.StringVar(&VeleroCfg.RegistryCredentialFile,"registry-credential-file","","file containing credential for the image registry, follows the same format rules as the ~/.docker/config.json file. Optional.")
flag.StringVar(&VeleroCfg.AdditionalBSLProvider,"additional-bsl-object-store-provider","","Provider of object store plugin for additional backup storage location. Required if testing multiple credentials support.")
flag.StringVar(&VeleroCfg.AdditionalBSLBucket,"additional-bsl-bucket","","name of the object storage bucket for additional backup storage location. Required if testing multiple credentials support.")
flag.StringVar(&VeleroCfg.AdditionalBSLPrefix,"additional-bsl-prefix","","prefix under which all Velero data should be stored within the bucket for additional backup storage location. Optional.")
flag.StringVar(&VeleroCfg.AdditionalBSLConfig,"additional-bsl-config","","configuration to use for the additional backup storage location. Format is key1=value1,key2=value2")
flag.StringVar(&VeleroCfg.AdditionalBSLCredentials,"additional-bsl-credentials-file","","file containing credentials for additional backup storage location provider. Required if testing multiple credentials support.")
var_=Describe("[APIGroup] Velero tests with various CRD API group versions",APIGropuVersionsTest)
// Test backup and restore of Kibishi using restic
var_=Describe("[Restic] Velero tests on cluster using the plugin provider for object storage and Restic for volume backups",BackupRestoreWithRestic)
var_=Describe("[Snapshot] Velero tests on cluster using the plugin provider for object storage and snapshots for volume backups",BackupRestoreWithSnapshots)
var_=Describe("[Scale] Backup/restore of 2500 namespaces",MultiNSBackupRestore)
// Upgrade test by Kibishi using restic
var_=Describe("[Upgrade][Restic] Velero upgrade tests on cluster using the plugin provider for object storage and Restic for volume backups",BackupUpgradeRestoreWithRestic)
var_=Describe("[Upgrade][Snapshot] Velero upgrade tests on cluster using the plugin provider for object storage and snapshots for volume backups",BackupUpgradeRestoreWithSnapshots)
// test filter objects by namespace, type, or labels when backup or restore.
var_=Describe("[ResourceFiltering][ExcludeFromBackup] Resources with the label velero.io/exclude-from-backup=true are not included in backup",ExcludeFromBackupTest)
var_=Describe("[ResourceFiltering][ExcludeNamespaces][Backup] Velero test on exclude namespace from the cluster backup",BackupWithExcludeNamespaces)
var_=Describe("[ResourceFiltering][ExcludeNamespaces][Restore] Velero test on exclude namespace from the cluster restore",RestoreWithExcludeNamespaces)
var_=Describe("[ResourceFiltering][ExcludeResources][Backup] Velero test on exclude resources from the cluster backup",BackupWithExcludeResources)
var_=Describe("[ResourceFiltering][ExcludeResources][Restore] Velero test on exclude resources from the cluster restore",RestoreWithExcludeResources)
var_=Describe("[ResourceFiltering][IncludeNamespaces][Backup] Velero test on include namespace from the cluster backup",BackupWithIncludeNamespaces)
var_=Describe("[ResourceFiltering][IncludeNamespaces][Restore] Velero test on include namespace from the cluster restore",RestoreWithIncludeNamespaces)
var_=Describe("[ResourceFiltering][IncludeResources][Backup] Velero test on include resources from the cluster backup",BackupWithIncludeResources)
var_=Describe("[ResourceFiltering][IncludeResources][Restore] Velero test on include resources from the cluster restore",RestoreWithIncludeResources)
var_=Describe("[ResourceFiltering][LabelSelector] Velero test on backup include resources matching the label selector",BackupWithLabelSelector)
var_=Describe("[Backups][Deletion] Velero tests on cluster using the plugin provider for object storage and Restic for volume backups",Backup_deletion_with_restic)
var_=Describe("[Backups][BackupsSync] Backups in object storage are synced to a new Velero and deleted backups in object storage are synced to be deleted in Velero",BackupsSyncTest)
// Skip running E2E tests when running only "short" tests because:
// 1. E2E tests are long running tests involving installation of Velero and performing backup and restore operations.
// 2. E2E tests require a kubernetes cluster to install and run velero which further requires ore configuration. See above referenced command line flags.