Resource filtering

Filter objects by namespace, type, or labels.

This page describes how to use the include and exclude flags with the velero backup and velero restore commands. By default Velero includes all objects in a backup or restore when no filtering options are used.


Only specific resources are included, all others are excluded.

Wildcard takes precedence when both a wildcard and specific resource are included.


Namespaces to include. Default is *, all namespaces.

  • Backup a namespace and it’s objects.

    velero backup create <backup-name> --include-namespaces <namespace>
  • Restore two namespaces and their objects.

    velero restore create <backup-name> --include-namespaces <namespace1>,<namespace2>


Kubernetes resources to include in the backup, formatted as, such as (use * for all resources).

  • Backup all deployments in the cluster.

    velero backup create <backup-name> --include-resources deployments
  • Restore all deployments and configmaps in the cluster.

    velero restore create <backup-name> --include-resources deployments,configmaps
  • Backup the deployments in a namespace.

    velero backup create <backup-name> --include-resources deployments --include-namespaces <namespace>


Includes cluster-scoped resources. This option can have three possible values:

  • true: all cluster-scoped resources are included.

  • false: no cluster-scoped resources are included.

  • nil (“auto” or not supplied):

    • Cluster-scoped resources are included when backing up or restoring all namespaces. Default: true.

    • Cluster-scoped resources are not included when namespace filtering is used. Default: false.

      • Some related cluster-scoped resources may still be backed/restored up if triggered by a custom action (for example, PVC->PV) unless --include-cluster-resources=false.
  • Backup entire cluster including cluster-scoped resources.

    velero backup create <backup-name>
  • Restore only namespaced resources in the cluster.

    velero restore create <backup-name> --include-cluster-resources=false
  • Backup a namespace and include cluster-scoped resources.

    velero backup create <backup-name> --include-namespaces <namespace> --include-cluster-resources=true


  • Include resources matching the label selector.

    velero backup create <backup-name> --selector <key>=<value>
  • Include resources that are not matching the selector

    velero backup create <backup-name> --selector "<key> notin (<value>)"

For more information read the Kubernetes label selector documentation


Exclude specific resources from the backup.

Wildcard excludes are ignored.


Namespaces to exclude.

  • Exclude kube-system from the cluster backup.

    velero backup create <backup-name> --exclude-namespaces kube-system
  • Exclude two namespaces during a restore.

    velero restore create <backup-name> --exclude-namespaces <namespace1>,<namespace2>


Kubernetes resources to exclude, formatted as, such as

  • Exclude secrets from the backup.

    velero backup create <backup-name> --exclude-resources secrets
  • Exclude secrets and rolebindings.

    velero backup create <backup-name> --exclude-resources secrets,rolebindings

  • Resources with the label are not included in backup, even if it contains a matching selector label.
Getting Started

To help you get started, see the documentation.