Resource Listing
CommunityEnterpriseThe Bacula Enterprise Kubernetes Plugin supports the Bacula Enterprise plugin listing feature. This mode allows the plugin to display useful information about available Kubernetes objects, such as:
List of Kubernetes Namespaces and their resources.
List of Kubernetes Persistent Volumes.
List of Kubernetes Storage Classes Objects.
List of Kubernetes Cluster Roles Objects.
List of Kubernetes Cluster Roles Bindings Objects.
List of Kubernetes Volume Snapshot Classes Objects.
List of KubeVirt Migration Policies Objects.
List of KubeVirt Virtual Machine Cluster Instance Types Objects.
List of KubeVirt Virtual Machine Cluster Preferences Objects.
The feature uses the special .ls command with a plugin=<plugin> parameter.
The command requires the following parameters to be set:
- client=<client>
The Bacula Client name with the Kubernetes Plugin installed.
- plugin=<plugin>
The Plugin name (kubernetes: in this case), with optional plugin parameters as described in section Generic Plugin Parameters.
- path=<path>
An object path to display.
The supported values for a path=<path> parameter are:
- /
to display resources types available to list.
- /clusterroles
to display a list of Cluster Roles Objects.
- /clusterrolebindings
to display a list of Cluster Role Bindings Objects.
- /migrationpolicies
to display a list of Migration Policies Objects.
- /namespaces
to display a list of Namespaces.
- /namespaces/<namespace>/
to display resources types available to list.
- /namespaces/<namespace>/<resources>/
to display Kubernetes Objects of this Kubernetes Resource.
- /persistentvolumes
to display a list of Persistent Volumes
- /storageclasses
to display a list of Storage Class Objects.
- /virtualmachineclusterinstancetypes
to display a list of Virtual Machine Cluster Instance Types Objects.
- /virtualmachineclusterpreferences
to display a list of Virtual Machine Cluster Preferences Objects.
- /volumesnapshotclasses
to display a list of Volume Snapshot Classes Objects.
To display available Kubernetes Resources, use the following command example:
*.ls plugin=kubernetes: client=kubernetes-fd path=/
Connecting to Client kubernetes-fd at localhost:9102
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /clusterroles/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /clusterrolebindings/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /migrationpolicies/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /namespaces/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /persistentvolumes/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /storageclasses/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /virtualmachineclusterinstancetypes/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /virtualmachineclusterpreferences/
drwxr-xr-x 1 root root 0 2024-10-18 13:56:06 /volumesnapshotclasses/
2000 OK estimate files=9 bytes=0
To display the list of all available Kubernetes Namespaces, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/namespaces
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/cattle-provisioning-capi-system
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/cattle-system
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/cattle-ui-plugin-system
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/cert-manager
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/cluster-fleet-local-local-1a3d67d0a899
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/default
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/fleet-default
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/fleet-local
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/harbor-system
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/kube-node-lease
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/kube-public
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/kube-system
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/local
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/local-path-storage
-rw-r----- 1 root root 1024 2024-10-18 13:59:45 /namespaces/longhorn-system
[...]
2000 OK estimate files=36 bytes=36,864
To display the available Kubernetes resources in a namespace, use the following command example:
*.ls plugin=kubernetes: client=kubernetes-fd path=/namespaces/default/
Connecting to Client kubernetes-fd at localhost:9102
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/configmaps/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/cronjobs/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/daemonsets/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/datasources/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/datavolumes/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/deployments/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/endpoints/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/horizontalpodautoscalers/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/ingresses/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/limitranges/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/jobs/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/networkattachmentdefinitions/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/networkpolicies/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/persistentvolumeclaims/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/pods/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/podtemplates/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/replicasets/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/replicationcontrollers/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/resourcequotas/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/rolebindings/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/roles/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/secrets/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/services/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/serviceaccounts/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/statefulsets/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/virtualmachines/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/virtualmachineinstances/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/virtualmachineinstancetypes/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/virtualmachinepreferences/
drwxr-xr-x 1 root root 0 2025-03-31 13:07:33 /namespaces/default/volumesnapshots/
2000 OK estimate files=30 bytes=0
To display the list of available Namespaced Kubernetes Objects, use a command such as (the exact path depends on the resource):
*.ls plugin=kubernetes: client=kubernetes-fd path=/namespaces/default/pods/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 22:56:08 /namespaces/default/pods/web-server-nginx
2000 OK estimate files=1 bytes=1,024
To display the list of available Persistent Volume Claims which could be
used for PVC Data archive feature selection, you can use the following
example command for the mysql namespace:
*.ls client=bacula-devel-fd plugin="kubernetes:" path=/namespaces/mysql/persitentvolumeclaims/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 2147483648 2024-10-18 23:12:09 /namespaces/mysql/persistentvolumeclaims/web-server-mysql
2000 OK estimate files=1 bytes=2,147,483,648
Note
The volume lists display a Volume Storage size which does not reflect the actual configuration size during backup.
To display the list of all available Persistent Volumes, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/persistentvolumes/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-cd6d3b67-f72b-4451-ae6e-6e9eb5fc9d2e
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-d5fe7d2b-31b2-469d-962f-89ec87fb5c90
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-e712b02c-472e-4fa1-beae-a7dc0db7afbf
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-e8ad52b4-0d9b-4efd-b98f-5334eae34302
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-ed57261f-096e-4b88-b7cb-7d02e896c602
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-f4f9e72c-7e00-4dd3-bc84-9bedc99097d7
-rw-r----- 1 root root 1024 2024-10-18 23:15:14 /persistentvolumes/pvc-fa10cbde-56c2-4268-b5ce-4c2afdc7a868
[...]
2000 OK estimate files=32 bytes=32,768
To display the list of all defined Storage Class Objects, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/storageclasses/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/ceph-block
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/ceph-bucket
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/ceph-filesystem
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/local-path
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/local-storage
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/longhorn
-rw-r----- 1 root root 1024 2024-10-18 23:21:50 /storageclasses/nfs-client
2000 OK estimate files=7 bytes=7,168
To display the list of all defined Cluster Roles Objects, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/clusterroles/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/admin
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/calico-node
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/capi-aggregated-manager-role
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/capi-manager-role
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/cattle-fleet-local-system-fleet-agent-role
-rw-r----- 1 root root 1024 2024-10-18 23:22:57 /clusterroles/cattle-globalrole-admin
[...]
2000 OK estimate files=164 bytes=167,936
To display the list of all defined Cluster Role Bindings Objects, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/clusterrolesbindings/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/canal-calico
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/canal-flannel
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/capi-manager-rolebinding
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/cattle-fleet-local-system-fleet-agent-role-binding
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/cattle-globalrolebinding-globalrolebinding-nxl4c
-rw-r----- 1 root root 1024 2024-10-18 23:23:06 /clusterrolebindings/cattle-globalrolebinding-grb-5jhgc
[...]
2000 OK estimate files=133 bytes=136,192
To display the list of all defined Volume Snapshot Classes Objects, the following command example can be used:
*.ls plugin=kubernetes: client=kubernetes-fd path=/volumesnapshotclasses/
Connecting to Client kubernetes-fd at localhost:9102
-rw-r----- 1 root root 1024 2025-03-31 13:10:14 /volumesnapshotclasses/lvms-vg1
2000 OK estimate files=1 bytes=1,024
Go back to: Operations.