Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type File ¶
File checks the provided Path, at the provided Interval for new Go binaries. When a new binary is found it will replace the currently running binary.
type Github ¶
type Github struct {
//Github username and repository name
User, Repo string
//Interval between fetches
Interval time.Duration
//Asset is used to find matching release asset.
//By default a file will match if it contains
//both GOOS and GOARCH.
Asset func(filename string) bool
// contains filtered or unexported fields
}
Github uses the Github V3 API to retrieve the latest release of a given repository and enumerate its assets. If a release contains a matching asset, it will fetch and return its io.Reader stream.
type HTTP ¶
type HTTP struct {
//URL to poll for new binaries
URL string
Interval time.Duration
CheckHeaders []string
// contains filtered or unexported fields
}
HTTP fetcher uses HEAD requests to poll the status of a given file. If it detects this file has been updated, it will fetch and return its io.Reader stream.
type Interface ¶
type Interface interface {
//Init should perform validation on fields. For
//example, ensure the appropriate URLs or keys
//are defined or ensure there is connectivity
//to the appropriate web service.
Init() error
//Fetch should check if there is an updated
//binary to fetch, and then stream it back the
//form of an io.Reader. If io.Reader is nil,
//then it is assumed there are no updates. Fetch
//will be run repeatedly and forever. It is up the
//implementation to throttle the fetch frequency.
Fetch() (io.Reader, error)
}
Interface defines the required fetcher functions
type S3 ¶
type S3 struct {
//Access key falls back to env AWS_ACCESS_KEY, then metadata
Access string
//Secret key falls back to env AWS_SECRET_ACCESS_KEY, then metadata
Secret string
//Region defaults to ap-southeast-2
Region string
Bucket string
Key string
//Interval between checks
Interval time.Duration
//HeadTimeout defaults to 5 seconds
HeadTimeout time.Duration
//GetTimeout defaults to 5 minutes
GetTimeout time.Duration
// contains filtered or unexported fields
}
S3 uses authenticated HEAD requests to poll the status of a given object. If it detects this file has been updated, it will perform an object GET and return its io.Reader stream.