Discover Packages
github.com/ronxjansen/ferry
internal
lock
package
Version:
v0.3.1
Opens a new window with list of versions in this module.
Published: Jul 24, 2026
License: MIT
Opens a new window with license information.
Imports: 5
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
Jump to ...
Documentation
Overview
Index
Constants
Variables
Functions
Acquire(h, project, performer, version, message)
Release(h, project)
Status(h, project)
With(h, project, performer, version, message, fn)
Types
Source Files
Documentation
Documentation
¶
Package lock implements the deploy lock: an atomic mkdir on the primary
server with a human-readable details file, Kamal-style. The lock is scoped
to the project, so unrelated apps sharing a server deploy independently.
func Acquire(h *exec.Host, project, performer, version, message string) error
func Release(h *exec.Host, project string) error
func Status(h *exec.Host, project string) (string, error)
func With(h *exec.Host, project, performer, version, message string, fn func() error) error
Acquire takes the project's lock or fails with the current holder's details.
Release drops the project's lock.
Status returns the project's lock details, or an error when unlocked.
With runs fn holding the project's lock, always releasing it afterwards.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.