Categorygithub.com/sftpgo/sdk
modulepackage
0.1.8
Repository: https://github.com/sftpgo/sdk.git
Documentation: pkg.go.dev

# README

SFTPGo SDK

Go Reference

The SFTPGo SDK contains code useful for developing SFTPGo plugins.

Although we try not to break functionality, we reserve the right to reorganize the code at will and may occasionally cause breaks if they are warranted. As such we expect the tag of this module will stay less than v1.0.0.

For each SFTPGo branch there is a matching branch here. For example, the sftpgo-2.2.x branch matches SFTPGo v2.2.x.

# Packages

Package kms provides Key Management Services support.
No description provided by the author

# Functions

IsProviderSupported returns true if the specified provider is supported.

# Constants

Azure Blob Storage.
Local encrypted.
DenyPolicyDefault means that denied files matching the filters are visible in directory listing but cannot be uploaded/downloaded/overwritten/renamed.
DenyPolicyHide applies the same restrictions as DenyPolicyDefault and denied files/directories matching the filters will also be hidden in directory listing.
Google Cloud Storage.
Membership only, no settings are inherited from this group type.
Primary group.
Secondary group.
HTTP.
Local.
AWS S3 compatible.
SFTP.
Supported certificate attributes to use as username.
Supported certificate attributes to use as username.
User types, auth plugins could use this info to choose the correct authentication backend.
User types, auth plugins could use this info to choose the correct authentication backend.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.
Web Client/user REST API restrictions.

# Variables

UserTypes defines the supported user type hints for auth plugins.
WebClientOptions defines the available options for the web client interface/user REST API.

# Structs

AzBlobFsConfig defines the configuration for Azure Blob Storage based filesystem.
BandwidthLimit defines a per-source bandwidth limit.
BaseAzBlobFsConfig defines the base configuration for Azure Blob Storage based filesystem.
BaseGCSFsConfig defines the base configuration for Google Cloud Storage based filesystems.
BaseGroup defines the shared group fields.
BaseGroupUserSettings defines the base settings to apply to users.
BaseHTTPFsConfig defines the base configuration for HTTP based filesystem.
BaseS3FsConfig defines the base configuration for S3 based filesystems.
BaseSFTPFsConfig defines the base configuration for SFTP based filesystem.
BaseUser defines the shared user fields.
BaseUserFilters defines additional restrictions for a user.
BaseVirtualFolder defines the path for the virtual folder and the used quota limits.
CryptFsConfig defines the configuration to store local files as encrypted.
DirectoryPermissions defines permissions for a directory virtual path.
Filesystem defines filesystem details.
GCSFsConfig defines the configuration for Google Cloud Storage based filesystems.
Group defines an SFTPGo group.
GroupMapping defines the mapping between an SFTPGo user and a group.
GroupUserSettings defines the settings to apply to users.
HooksFilter defines user specific overrides for global hooks.
HTTPFsConfig defines the configuration for HTTP based filesystem.
OSFsConfig defines the configuration for local filesystem.
PatternsFilter defines filters based on shell like patterns.
RecoveryCode defines a 2FA recovery code.
S3FsConfig defines the base configuration for S3 based filesystems.
SFTPFsConfig defines the configuration for SFTP based filesystem.
TimePeriod defines a period of time.
TOTPConfig defines the time-based one time password configuration.
User defines a SFTPGo user.
UserFilters defines additional restrictions for a user TODO: rename to UserOptions in v3.
VirtualFolder defines a mapping between an SFTPGo exposed virtual path and a filesystem path outside the user home directory.

# Type aliases

FilesystemProvider defines the supported storage filesystems.
TLSUsername defines the TLS certificate attribute to use as username.
UserType defines the supported user types.