Documentation ¶
Index ¶
- Variables
- func CheckProcessVersion(ctx context.Context, log *zap.Logger, config Config, info version.Info, ...) (err error)
- type Client
- func (client *Client) All(ctx context.Context) (ver version.AllowedVersions, err error)
- func (client *Client) OldMinimum(ctx context.Context, serviceName string) (ver version.OldSemVer, err error)
- func (client *Client) Process(ctx context.Context, processName string) (process version.Process, err error)
- func (client *Client) ShouldUpdate(ctx context.Context, processName string, nodeID storj.NodeID) (_ bool, _ version.Version, err error)
- type ClientConfig
- type Config
- type DebugHandler
- type Service
Constants ¶
This section is empty.
Variables ¶
var ( // Error is the error class for version control client errors. Error = errs.Class("version control client error") )
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client defines helper methods for using version control server response data.
architecture: Client
func (*Client) OldMinimum ¶
func (client *Client) OldMinimum(ctx context.Context, serviceName string) (ver version.OldSemVer, err error)
OldMinimum returns the version with the given name at the root-level of the version control response. NB: This will be deprecated eventually in favor of what is currently the `processes` root-level object.
func (*Client) Process ¶
func (client *Client) Process(ctx context.Context, processName string) (process version.Process, err error)
Process returns the version info for the named process from the version control server response.
func (*Client) ShouldUpdate ¶
func (client *Client) ShouldUpdate(ctx context.Context, processName string, nodeID storj.NodeID) (_ bool, _ version.Version, err error)
ShouldUpdate downloads the rollout state from the versioncontrol server and checks if a user with the given nodeID should update, and if so, to what version.
type ClientConfig ¶
type ClientConfig struct { ServerAddress string `help:"server address to check its version against" default:"https://version.storj.io"` RequestTimeout time.Duration `help:"Request timeout for version checks" default:"0h1m0s"` }
ClientConfig is the config struct for the version control client.
type Config ¶
type Config struct { ClientConfig CheckInterval time.Duration `help:"Interval to check the version" default:"0h15m0s"` }
Config contains the necessary Information to check the Software Version
type DebugHandler ¶
type DebugHandler struct {
// contains filtered or unexported fields
}
DebugHandler implements version info endpoint.
func NewDebugHandler ¶
func NewDebugHandler(log *zap.Logger) *DebugHandler
NewDebugHandler returns new debug handler.
func (*DebugHandler) ServeHTTP ¶
func (server *DebugHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP returns a json representation of the current version information for the binary.
type Service ¶
Service contains the information and variables to ensure the Software is up to date
architecture: Service
func NewService ¶
func NewService(log *zap.Logger, config Config, info version.Info, service string) (client *Service)
NewService creates a Version Check Client with default configuration
func (*Service) CheckVersion ¶
CheckVersion checks to make sure the version is still okay, returning an error if not