Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bard-csi
command
Command bard-csi is the unified CSI driver binary.
|
Command bard-csi is the unified CSI driver binary. |
|
bard-plugin-ceph-rbd
command
Command bard-plugin-ceph-rbd is the Ceph RBD backend as an out-of-tree Bard plugin.
|
Command bard-plugin-ceph-rbd is the Ceph RBD backend as an out-of-tree Bard plugin. |
|
bard-plugin-cephfs
command
Command bard-plugin-cephfs is the CephFS backend as an out-of-tree Bard plugin.
|
Command bard-plugin-cephfs is the CephFS backend as an out-of-tree Bard plugin. |
|
bard-plugin-conformance
command
bard-plugin-conformance drives a Bard backend plugin over its unix socket the way Bard core would and verifies it honors the wire contract: required semantics (idempotent create/delete, error codes, identity rules, unknown- field tolerance) plus every optional capability the plugin declares.
|
bard-plugin-conformance drives a Bard backend plugin over its unix socket the way Bard core would and verifies it honors the wire contract: required semantics (idempotent create/delete, error codes, identity rules, unknown- field tolerance) plus every optional capability the plugin declares. |
|
bard-plugin-iscsi
command
Command bard-plugin-iscsi is the iSCSI backend as an out-of-tree Bard plugin -- the reference ATTACH-style backend (control-plane LUN masking via ControllerPublish).
|
Command bard-plugin-iscsi is the iSCSI backend as an out-of-tree Bard plugin -- the reference ATTACH-style backend (control-plane LUN masking via ControllerPublish). |
|
bard-plugin-lvm
command
Command bard-plugin-lvm is the LVM backend as an out-of-tree Bard plugin.
|
Command bard-plugin-lvm is the LVM backend as an out-of-tree Bard plugin. |
|
bard-plugin-nfs
command
Command bard-plugin-nfs is an out-of-tree Bard CSI backend for NFS, and a worked example of the bardplugin SDK.
|
Command bard-plugin-nfs is an out-of-tree Bard CSI backend for NFS, and a worked example of the bardplugin SDK. |
|
kubectl-bard
command
Command kubectl-bard is the kubectl plugin front-end for Bard's day-2 tooling: put it on PATH and `kubectl bard inspect` runs the consistency scanner inside the controller pod (the only place the backend plugin sockets are reachable) and streams the report back.
|
Command kubectl-bard is the kubectl plugin front-end for Bard's day-2 tooling: put it on PATH and `kubectl bard inspect` runs the consistency scanner inside the controller pod (the only place the backend plugin sockets are reachable) and streams the report back. |
|
internal
|
|
|
backend
Package backend defines the abstraction every storage backend implements.
|
Package backend defines the abstraction every storage backend implements. |
|
backend/plugin
Package plugin adapts an out-of-tree backend (a bardplugin HTTP+JSON server on a unix socket) to Bard's internal backend.Backend interface, so the rest of the driver treats a plugin exactly like a built-in backend.
|
Package plugin adapts an out-of-tree backend (a bardplugin HTTP+JSON server on a unix socket) to Bard's internal backend.Backend interface, so the rest of the driver treats a plugin exactly like a built-in backend. |
|
cephenc
Package cephenc is the backend-agnostic encryption layer shared by Bard's Ceph plugins (ceph-rbd, cephfs): the pluggable KMS providers that resolve a per-volume passphrase, and the fscrypt key/policy helpers.
|
Package cephenc is the backend-agnostic encryption layer shared by Bard's Ceph plugins (ceph-rbd, cephfs): the pluggable KMS providers that resolve a per-volume passphrase, and the fscrypt key/policy helpers. |
|
cephfsplugin
Package cephfsplugin is the CephFS backend as an out-of-tree Bard plugin.
|
Package cephfsplugin is the CephFS backend as an out-of-tree Bard plugin. |
|
cephplugin
Package cephplugin is the Ceph RBD backend as an out-of-tree Bard plugin.
|
Package cephplugin is the Ceph RBD backend as an out-of-tree Bard plugin. |
|
config
Package config loads the driver's backend configuration.
|
Package config loads the driver's backend configuration. |
|
conformance
Package conformance drives a Bard backend plugin over its unix socket, the way Bard core would, and verifies it honors the wire contract (pkg/bardplugin): the required semantics every plugin must implement (idempotency, error codes, identity rules) plus every optional capability the plugin declares.
|
Package conformance drives a Bard backend plugin over its unix socket, the way Bard core would, and verifies it honors the wire contract (pkg/bardplugin): the required semantics every plugin must implement (idempotency, error codes, identity rules) plus every optional capability the plugin declares. |
|
dispatch
Package dispatch resolves a provisioning request to a concrete backend instance using CSI topology.
|
Package dispatch resolves a provisioning request to a concrete backend instance using CSI topology. |
|
driver
CSI-Addons is an out-of-CSI-spec extension API (github.com/csi-addons) served over its own gRPC endpoint and driven by the csi-addons sidecar + controller (e.g.
|
CSI-Addons is an out-of-CSI-spec extension API (github.com/csi-addons) served over its own gRPC endpoint and driven by the csi-addons sidecar + controller (e.g. |
|
fakerun
Package fakerun is an in-memory simulation of the external commands the Ceph RBD backend shells out to (rbd, mount, blkid, findmnt, mkfs, ...).
|
Package fakerun is an in-memory simulation of the external commands the Ceph RBD backend shells out to (rbd, mount, blkid, findmnt, mkfs, ...). |
|
incluster
Package incluster does minimal authenticated reads against the Kubernetes API from inside a pod, using the ServiceAccount token + the API server CA the kubelet projects into every container.
|
Package incluster does minimal authenticated reads against the Kubernetes API from inside a pod, using the ServiceAccount token + the API server CA the kubelet projects into every container. |
|
inspect
Package inspect implements Bard's consistency scanner: it joins what Kubernetes believes (PVs, VolumeSnapshotContents, VolumeAttachments, node topology) against backend truth (what actually exists on each backend, via the plugins' ListVolumes/ListSnapshots) and the driver's own config, and reports the drift as findings — ghost PVs whose backing volume is gone, orphaned backend volumes no PV references, snapshot mismatches, and topology misconfiguration.
|
Package inspect implements Bard's consistency scanner: it joins what Kubernetes believes (PVs, VolumeSnapshotContents, VolumeAttachments, node topology) against backend truth (what actually exists on each backend, via the plugins' ListVolumes/ListSnapshots) and the driver's own config, and reports the drift as findings — ghost PVs whose backing volume is gone, orphaned backend volumes no PV references, snapshot mismatches, and topology misconfiguration. |
|
iscsiplugin
Package iscsiplugin is an iSCSI backend as an out-of-tree Bard plugin, and the reference ATTACH-style backend: unlike Ceph RBD/LVM (which map on the node), making an iSCSI volume reachable is a control-plane operation.
|
Package iscsiplugin is an iSCSI backend as an out-of-tree Bard plugin, and the reference ATTACH-style backend: unlike Ceph RBD/LVM (which map on the node), making an iSCSI volume reachable is a control-plane operation. |
|
lvmplugin
Package lvmplugin is an LVM backend as an out-of-tree Bard plugin.
|
Package lvmplugin is an LVM backend as an out-of-tree Bard plugin. |
|
metrics
Package metrics exposes Prometheus-format gRPC operation metrics for the Bard CSI driver over a stdlib HTTP server -- deliberately NO prometheus/client_golang dependency, the same lean-image discipline as the rest of the driver (hand-rolled SigV4, KMIP as the only sanctioned dep).
|
Package metrics exposes Prometheus-format gRPC operation metrics for the Bard CSI driver over a stdlib HTTP server -- deliberately NO prometheus/client_golang dependency, the same lean-image discipline as the rest of the driver (hand-rolled SigV4, KMIP as the only sanctioned dep). |
|
nfsplugin
Package nfsplugin is the NFS backend as an out-of-tree Bard plugin, and a worked example of the bardplugin SDK exercising a very different backend shape than Ceph RBD: each volume is a subdirectory of an export (created on the controller side, mounted on the node side) -- the nfs-subdir pattern.
|
Package nfsplugin is the NFS backend as an out-of-tree Bard plugin, and a worked example of the bardplugin SDK exercising a very different backend shape than Ceph RBD: each volume is a subdirectory of an export (created on the controller side, mounted on the node side) -- the nfs-subdir pattern. |
|
volumeid
Package volumeid encodes and decodes CSI volume handles.
|
Package volumeid encodes and decodes CSI volume handles. |
|
pkg
|
|
|
bardplugin
Package bardplugin is the public SDK for writing out-of-tree Bard CSI storage backends.
|
Package bardplugin is the public SDK for writing out-of-tree Bard CSI storage backends. |
Click to show internal directories.
Click to hide internal directories.