Documentation
¶
Overview ¶
Deno runtime management.
DenoManager downloads and caches the Deno binary for the current platform. Substrate uses a specific Deno version to ensure consistent behavior. The binary is cached in {cache_dir}/deno/{version}-{platform}/. Default cache_dir is ~/.cache/substrate/.
This avoids requiring Deno to be pre-installed on the system.
Index ¶
- Constants
- type DenoManager
- type Process
- type ProcessManager
- type ProcessStartupError
- type SubstrateTransport
- func (SubstrateTransport) CaddyModule() caddy.ModuleInfo
- func (t *SubstrateTransport) Cleanup() error
- func (t *SubstrateTransport) Provision(ctx caddy.Context) error
- func (t *SubstrateTransport) RoundTrip(req *http.Request) (*http.Response, error)
- func (t *SubstrateTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error
- func (t *SubstrateTransport) Validate() error
Constants ¶
const DenoVersion = "v2.6.4"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DenoManager ¶ added in v1.2.0
type DenoManager struct {
// contains filtered or unexported fields
}
DenoManager handles downloading and caching of the Deno runtime
func NewDenoManager ¶ added in v1.2.0
func NewDenoManager(cacheDir string, logger *zap.Logger) *DenoManager
NewDenoManager creates a new DenoManager with the default version If cacheDir is empty, uses ~/.cache/substrate/ Deno binary is stored in {cacheDir}/deno/{version}-{platform}/
func (*DenoManager) Get ¶ added in v1.2.0
func (dm *DenoManager) Get() (string, error)
Get returns the path to the Deno binary, downloading it if necessary
type Process ¶ added in v1.0.0
type ProcessManager ¶ added in v1.0.0
type ProcessManager struct {
// contains filtered or unexported fields
}
func NewProcessManager ¶ added in v1.0.0
func NewProcessManager(idleTimeout, startupTimeout caddy.Duration, env map[string]string, denoOpts string, deno *DenoManager, logger *zap.Logger) (*ProcessManager, error)
func (*ProcessManager) Destruct ¶ added in v1.0.0
func (pm *ProcessManager) Destruct() error
func (*ProcessManager) Stop ¶ added in v1.0.0
func (pm *ProcessManager) Stop() error
type ProcessStartupError ¶ added in v1.0.4
type ProcessStartupError struct {
Err error
ExitCode int
Stdout string
Stderr string
ScriptPath string
}
ProcessStartupError contains detailed information about process startup failures
func (*ProcessStartupError) Error ¶ added in v1.0.4
func (e *ProcessStartupError) Error() string
type SubstrateTransport ¶ added in v1.0.0
type SubstrateTransport struct {
IdleTimeout caddy.Duration `json:"idle_timeout,omitempty"`
StartupTimeout caddy.Duration `json:"startup_timeout,omitempty"`
Env map[string]string `json:"env,omitempty"`
DenoOpts string `json:"deno_opts,omitempty"`
CacheDir string `json:"cache_dir,omitempty"`
// contains filtered or unexported fields
}
func (SubstrateTransport) CaddyModule ¶ added in v1.0.0
func (SubstrateTransport) CaddyModule() caddy.ModuleInfo
func (*SubstrateTransport) Cleanup ¶ added in v1.0.0
func (t *SubstrateTransport) Cleanup() error
func (*SubstrateTransport) Provision ¶ added in v1.0.0
func (t *SubstrateTransport) Provision(ctx caddy.Context) error
func (*SubstrateTransport) UnmarshalCaddyfile ¶ added in v1.0.0
func (t *SubstrateTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error
func (*SubstrateTransport) Validate ¶ added in v1.0.0
func (t *SubstrateTransport) Validate() error