Package-level declarations

Types

Link copied to clipboard

This base class describes the expected API for guest VFS implementations, including their builders (VFSBuilder) and factories (VFSFactory). Defaults are provided for the root system path and current-working-directory, both of which default to /.

Link copied to clipboard

This class implements a virtual-file-system for guest use, backed by another "backing" file-system, to which calls are proxied from the guest. Before proxying each call, I/O security policy is checked and enforced, and logging is performed.

Link copied to clipboard

Enumerates access domains, which indicate where a VFS request originates from.

Link copied to clipboard
data class AccessRequest(val type: Set<AccessType>, val domain: AccessDomain, val scope: AccessScope, val path: Path)

Specifies an access request for a resource managed by the virtual file system layer.

Link copied to clipboard

Describes a full response to a virtual file-system AccessRequest.

Link copied to clipboard

Enumerates result types for a virtual file system access request.

Link copied to clipboard

Enumerates access scopes, which indicate the type of file system object an operation is being performed on.

Link copied to clipboard

Enumerates types of file access supported via the VFS layer.

Link copied to clipboard

This class represents the rendered and effective configuration which is applied for a given guest VM I/O strategy. It is used internally as the result of combining any active policy instances.

Link copied to clipboard
@Requires(property = "elide.gvm.vfs.enabled", notEquals = "false")
@Requires(property = "elide.gvm.vfs.mode", notEquals = "HOST")
class EmbeddedGuestVFSImpl : AbstractDelegateVFS<EmbeddedGuestVFSImpl>

This VFS implementation uses an in-memory file-system, loaded from a VFS filesystem bundle file. Bundle files can be plain tarballs, compressed tarballs, or they can make use of Elide's optimized production bundle format. In each case the embedded VFS implementation will load the bundle, initialize a Jimfs file-system with the decoded and verified contents, and then satisfy guest I/O requests with the resulting file-system.

Link copied to clipboard
abstract class GuestIOException(message: String? = null, cause: Throwable? = null) : IOException

Internal base class for I/O exceptions raised from guest operations.

Link copied to clipboard
@ConfigurationProperties(value = "elide.gvm.vfs.policy")
interface GuestVFSPolicy

Micronaut-compatible configuration for guest virtual file-system (VFS) security policy.