Documentation ¶
Index ¶
- func NewBaseProgram(rootDirectory virtual.Directory, handleResolver virtual.HandleResolver, ...) nfsv4.Nfs4Program
- func NewMetricsProgram(base nfsv4.Nfs4Program) nfsv4.Nfs4Program
- func NewSystemAuthenticator(metadataExtractor *jmespath.JMESPath, maximumCacheSize int, ...) rpcserver.Authenticator
- type SystemAuthenticatorCacheKey
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBaseProgram ¶
func NewBaseProgram(rootDirectory virtual.Directory, handleResolver virtual.HandleResolver, randomNumberGenerator random.SingleThreadedGenerator, rebootVerifier nfsv4.Verifier4, stateIDOtherPrefix [stateIDOtherPrefixLength]byte, clock clock.Clock, enforcedLeaseTime, announcedLeaseTime time.Duration) nfsv4.Nfs4Program
NewBaseProgram creates an nfsv4.Nfs4Program that forwards all operations to a virtual file system. It implements most of the features of NFSv4.0.
func NewMetricsProgram ¶
func NewMetricsProgram(base nfsv4.Nfs4Program) nfsv4.Nfs4Program
NewMetricsProgram creates a decorator for nfsv4.Nfs4Program that exposes Prometheus metrics for all compound operations called.
Right now it only provides counters for the number of operations called. Timing of operation is not exposed, as it can only be computed at the procedure level, which isn't meaningful in practice.
func NewSystemAuthenticator ¶
func NewSystemAuthenticator(metadataExtractor *jmespath.JMESPath, maximumCacheSize int, evictionSet eviction.Set[SystemAuthenticatorCacheKey]) rpcserver.Authenticator
NewSystemAuthenticator is an RPCv2 Authenticator that requires that requests provide credentials of flavor AUTH_SYS, as described in RFC 5531, appendix A. The body of the credentials are converted to an AuthenticationMetadata object using a JMESPath expression. The resulting metadata is attached to the Context.
Types ¶
type SystemAuthenticatorCacheKey ¶
SystemAuthenticatorCacheKey is the key type that's used by the system authenticato's eviction set.