Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver is used for running the actual CSI driver. Driver will respond to NodePubishVolume events, and attempt to sign SPIFFE certificates for mounting pod's identity.
type Options ¶
type Options struct {
// DriverName is the driver name as installed in Kubernetes.
DriverName string
// NodeID is the name of the node the driver is running on.
NodeID string
// DataRoot is the path to the in-memory data directory used to store data.
DataRoot string
// Endpoint is the endpoint which is used to listen for gRPC requests.
Endpoint string
// TrustDomain is the trust domain of this SPIFFE PKI. The TrustDomain will
// appear in signed certificate's URI SANs.
TrustDomain string
// CertificateRequestAnnotations are annotations that are to be added to certificate requests created by the driver
CertificateRequestAnnotations map[string]string
// CertificateRequestDuration is the duration CertificateRequests will be
// requested with.
// Defaults to 1 hour if empty.
CertificateRequestDuration time.Duration
// CertificateFileName is the name of the file that the signed certificate
// will be written to inside the Pod's volume.
// Default to `tls.crt` if empty.
CertificateFileName string
// KeyFileName is the name of the file that the private key will be written
// to inside the Pod's volume.
// Default to `tls.key` if empty.
KeyFileName string
// CAFileName is the name of the file that the root CA certificates will be
// written to inside the Pod's volume. Ignored if RootCAs is nil.
CAFileName string
// RestConfig is used for interacting with the Kubernetes API server.
RestConfig *rest.Config
// RootCAs is optionally used to write root CA certificate data to Pod's
// volume. If nil, no root CA data is written to Pod's volume. If defined,
// root CA data will be written to the file with the name defined in
// CAFileName. If the root CA certificate data changes, all managed volume's
// file will be updated.
RootCAs rootca.Interface
// RuntimeConfig provides the current runtime configuration, including the
// issuer reference to use when creating CertificateRequests.
RuntimeConfig runtimeconfig.Interface
// UseOwnServiceAccount, when true, causes the driver to create
// CertificateRequests using its own ServiceAccount credentials rather than
// impersonating the mounting pod's ServiceAccount.
UseOwnServiceAccount bool
}
Options holds the Options needed for the CSI driver.
Click to show internal directories.
Click to hide internal directories.