Documentation ¶
Index ¶
Constants ¶
const ( // RedisDefaultSetValue will be used if the "Set" check method is enabled // and "RedisSetOptions.Value" is _not_ set. RedisDefaultSetValue = "go-health/redis-check" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HTTP ¶
type HTTP struct {
Config *HTTPConfig
}
HTTP implements the "ICheckable" interface.
func NewHTTP ¶
func NewHTTP(cfg *HTTPConfig) (*HTTP, error)
NewHTTP creates a new HTTP checker that can be used for ".AddCheck(s)".
type HTTPConfig ¶
type HTTPConfig struct { URL *url.URL // Required Method string // Optional (default GET) Payload interface{} // Optional StatusCode int // Optional (default 200) Expect string // Optional Client *http.Client // Optional Timeout time.Duration // Optional (default 3s) }
HTTPConfig is used for configuring an HTTP check. The only required field is `URL`.
"Method" is optional and defaults to `GET` if undefined.
"Payload" is optional and can accept `string`, `[]byte` or will attempt to marshal the input to JSON for use w/ `bytes.NewReader()`.
"StatusCode" is optional and defaults to `200`.
"Expect" is optional; if defined, operates as a basic "body should contain <string>".
"Client" is optional; if undefined, a new client will be created using "Timeout".
"Timeout" is optional and defaults to "3s".
type Redis ¶
type Redis struct { Config *RedisConfig // contains filtered or unexported fields }
Redis implements the ICheckable interface
func NewRedis ¶
func NewRedis(cfg *RedisConfig) (*Redis, error)
NewRedis creates a new "go-redis/redis" checker that can be used w/ "AddChecks()".
type RedisAuthConfig ¶
type RedisAuthConfig struct { Addr string // `host:port` format Password string // leave blank if no password DB int // leave unset if no specific db }
RedisAuthConfig defines how to connect to redis.
type RedisConfig ¶
type RedisConfig struct { Auth *RedisAuthConfig Ping bool Set *RedisSetOptions Get *RedisGetOptions }
RedisConfig is used for configuring the go-redis check.
"Auth" is _required_; redis connection/auth config.
"Ping" is optional; the most basic check method, performs a `.Ping()` on the client.
"Get" is optional; perform a "GET" on a key; refer to the "RedisGetOptions" docs for details.
"Set" is optional; perform a "SET" on a key; refer to the "RedisSetOptions" docs for details.
Note: At least _one_ check method must be set/enabled; you can also enable _all_ of the check methods (ie. perform a ping, set this key and now try to retrieve that key).
type RedisGetOptions ¶
RedisGetOptions contains attributes that can alter the behavior of the redis "GET" check.
"Key" is _required_; the name of the key that we are attempting to "GET".
"Expect" is optional; optionally verify that the value for the key matches the Expect value.
"NoErrorMissingKey" is optional; by default, the "GET" check will error if the key we are fetching does not exist; flip this bool if that is normal/expected/ok.
type RedisSetOptions ¶
RedisSetOptions contains attributes that can alter the behavior of the redis "SET" check.
"Key" is _required_; the name of the key we are attempting to "SET".
"Value" is optional; what the value should hold; if not set, it will be set to "RedisDefaultSetValue".
"Expiration" is optional; if set, a TTL will be attached to the key.