Add a field to disable following redirects on http checks
This commit is contained in:
parent
b0cba2ec03
commit
b3db499c74
|
@ -0,0 +1,3 @@
|
||||||
|
```release-note:security
|
||||||
|
agent: Added a new check field, `disable_redirects`, that allows for disabling the following of redirects for HTTP checks. The intention is to default this to true in a future release so that redirects must explicitly be enabled.
|
||||||
|
```
|
|
@ -2683,18 +2683,19 @@ func (a *Agent) addCheck(check *structs.HealthCheck, chkType *structs.CheckType,
|
||||||
tlsClientConfig := a.tlsConfigurator.OutgoingTLSConfigForCheck(chkType.TLSSkipVerify, chkType.TLSServerName)
|
tlsClientConfig := a.tlsConfigurator.OutgoingTLSConfigForCheck(chkType.TLSSkipVerify, chkType.TLSServerName)
|
||||||
|
|
||||||
http := &checks.CheckHTTP{
|
http := &checks.CheckHTTP{
|
||||||
CheckID: cid,
|
CheckID: cid,
|
||||||
ServiceID: sid,
|
ServiceID: sid,
|
||||||
HTTP: chkType.HTTP,
|
HTTP: chkType.HTTP,
|
||||||
Header: chkType.Header,
|
Header: chkType.Header,
|
||||||
Method: chkType.Method,
|
Method: chkType.Method,
|
||||||
Body: chkType.Body,
|
Body: chkType.Body,
|
||||||
Interval: chkType.Interval,
|
DisableRedirects: chkType.DisableRedirects,
|
||||||
Timeout: chkType.Timeout,
|
Interval: chkType.Interval,
|
||||||
Logger: a.logger,
|
Timeout: chkType.Timeout,
|
||||||
OutputMaxSize: maxOutputSize,
|
Logger: a.logger,
|
||||||
TLSClientConfig: tlsClientConfig,
|
OutputMaxSize: maxOutputSize,
|
||||||
StatusHandler: statusHandler,
|
TLSClientConfig: tlsClientConfig,
|
||||||
|
StatusHandler: statusHandler,
|
||||||
}
|
}
|
||||||
|
|
||||||
if proxy != nil && proxy.Proxy.Expose.Checks {
|
if proxy != nil && proxy.Proxy.Expose.Checks {
|
||||||
|
|
|
@ -334,18 +334,19 @@ func (c *CheckTTL) SetStatus(status, output string) string {
|
||||||
// or if the request returns an error
|
// or if the request returns an error
|
||||||
// Supports failures_before_critical and success_before_passing.
|
// Supports failures_before_critical and success_before_passing.
|
||||||
type CheckHTTP struct {
|
type CheckHTTP struct {
|
||||||
CheckID structs.CheckID
|
CheckID structs.CheckID
|
||||||
ServiceID structs.ServiceID
|
ServiceID structs.ServiceID
|
||||||
HTTP string
|
HTTP string
|
||||||
Header map[string][]string
|
Header map[string][]string
|
||||||
Method string
|
Method string
|
||||||
Body string
|
Body string
|
||||||
Interval time.Duration
|
Interval time.Duration
|
||||||
Timeout time.Duration
|
Timeout time.Duration
|
||||||
Logger hclog.Logger
|
Logger hclog.Logger
|
||||||
TLSClientConfig *tls.Config
|
TLSClientConfig *tls.Config
|
||||||
OutputMaxSize int
|
OutputMaxSize int
|
||||||
StatusHandler *StatusHandler
|
StatusHandler *StatusHandler
|
||||||
|
DisableRedirects bool
|
||||||
|
|
||||||
httpClient *http.Client
|
httpClient *http.Client
|
||||||
stop bool
|
stop bool
|
||||||
|
@ -392,6 +393,11 @@ func (c *CheckHTTP) Start() {
|
||||||
Timeout: 10 * time.Second,
|
Timeout: 10 * time.Second,
|
||||||
Transport: trans,
|
Transport: trans,
|
||||||
}
|
}
|
||||||
|
if c.DisableRedirects {
|
||||||
|
c.httpClient.CheckRedirect = func(req *http.Request, via []*http.Request) error {
|
||||||
|
return http.ErrUseLastResponse
|
||||||
|
}
|
||||||
|
}
|
||||||
if c.Timeout > 0 {
|
if c.Timeout > 0 {
|
||||||
c.httpClient.Timeout = c.Timeout
|
c.httpClient.Timeout = c.Timeout
|
||||||
}
|
}
|
||||||
|
|
|
@ -459,6 +459,46 @@ func TestCheckHTTP_NotProxied(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCheckHTTP_DisableRedirects(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
server1 := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
fmt.Fprintln(w, "server1")
|
||||||
|
}))
|
||||||
|
defer server1.Close()
|
||||||
|
|
||||||
|
server2 := httptest.NewServer(http.RedirectHandler(server1.URL, 301))
|
||||||
|
defer server2.Close()
|
||||||
|
|
||||||
|
notif := mock.NewNotify()
|
||||||
|
logger := testutil.Logger(t)
|
||||||
|
statusHandler := NewStatusHandler(notif, logger, 0, 0, 0)
|
||||||
|
cid := structs.NewCheckID("foo", nil)
|
||||||
|
|
||||||
|
check := &CheckHTTP{
|
||||||
|
CheckID: cid,
|
||||||
|
HTTP: server2.URL,
|
||||||
|
Method: "GET",
|
||||||
|
OutputMaxSize: DefaultBufSize,
|
||||||
|
Interval: 10 * time.Millisecond,
|
||||||
|
DisableRedirects: true,
|
||||||
|
Logger: logger,
|
||||||
|
StatusHandler: statusHandler,
|
||||||
|
}
|
||||||
|
check.Start()
|
||||||
|
defer check.Stop()
|
||||||
|
|
||||||
|
retry.Run(t, func(r *retry.R) {
|
||||||
|
output := notif.Output(cid)
|
||||||
|
if !strings.Contains(output, "Moved Permanently") {
|
||||||
|
r.Fatalf("should have returned 301 body instead of redirecting")
|
||||||
|
}
|
||||||
|
if strings.Contains(output, "server1") {
|
||||||
|
r.Fatalf("followed redirect")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func TestCheckHTTPTCP_BigTimeout(t *testing.T) {
|
func TestCheckHTTPTCP_BigTimeout(t *testing.T) {
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
timeoutIn, intervalIn, timeoutWant time.Duration
|
timeoutIn, intervalIn, timeoutWant time.Duration
|
||||||
|
|
|
@ -1546,6 +1546,7 @@ func (b *builder) checkVal(v *CheckDefinition) *structs.CheckDefinition {
|
||||||
Header: v.Header,
|
Header: v.Header,
|
||||||
Method: stringVal(v.Method),
|
Method: stringVal(v.Method),
|
||||||
Body: stringVal(v.Body),
|
Body: stringVal(v.Body),
|
||||||
|
DisableRedirects: boolVal(v.DisableRedirects),
|
||||||
TCP: stringVal(v.TCP),
|
TCP: stringVal(v.TCP),
|
||||||
Interval: b.durationVal(fmt.Sprintf("check[%s].interval", id), v.Interval),
|
Interval: b.durationVal(fmt.Sprintf("check[%s].interval", id), v.Interval),
|
||||||
DockerContainerID: stringVal(v.DockerContainerID),
|
DockerContainerID: stringVal(v.DockerContainerID),
|
||||||
|
|
|
@ -399,6 +399,7 @@ type CheckDefinition struct {
|
||||||
Header map[string][]string `mapstructure:"header"`
|
Header map[string][]string `mapstructure:"header"`
|
||||||
Method *string `mapstructure:"method"`
|
Method *string `mapstructure:"method"`
|
||||||
Body *string `mapstructure:"body"`
|
Body *string `mapstructure:"body"`
|
||||||
|
DisableRedirects *bool `mapstructure:"disable_redirects"`
|
||||||
OutputMaxSize *int `mapstructure:"output_max_size"`
|
OutputMaxSize *int `mapstructure:"output_max_size"`
|
||||||
TCP *string `mapstructure:"tcp"`
|
TCP *string `mapstructure:"tcp"`
|
||||||
Interval *string `mapstructure:"interval"`
|
Interval *string `mapstructure:"interval"`
|
||||||
|
|
|
@ -424,6 +424,7 @@ type RuntimeConfig struct {
|
||||||
// http = string
|
// http = string
|
||||||
// header = map[string][]string
|
// header = map[string][]string
|
||||||
// method = string
|
// method = string
|
||||||
|
// disable_redirects = (true|false)
|
||||||
// tcp = string
|
// tcp = string
|
||||||
// h2ping = string
|
// h2ping = string
|
||||||
// interval = string
|
// interval = string
|
||||||
|
|
|
@ -5743,6 +5743,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "aldrIQ4l",
|
Method: "aldrIQ4l",
|
||||||
Body: "wSjTy7dg",
|
Body: "wSjTy7dg",
|
||||||
|
DisableRedirects: true,
|
||||||
TCP: "RJQND605",
|
TCP: "RJQND605",
|
||||||
H2PING: "9N1cSb5B",
|
H2PING: "9N1cSb5B",
|
||||||
H2PingUseTLS: false,
|
H2PingUseTLS: false,
|
||||||
|
@ -5770,6 +5771,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "gLrztrNw",
|
Method: "gLrztrNw",
|
||||||
Body: "0jkKgGUC",
|
Body: "0jkKgGUC",
|
||||||
|
DisableRedirects: false,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "4jG5casb",
|
TCP: "4jG5casb",
|
||||||
H2PING: "HCHU7gEb",
|
H2PING: "HCHU7gEb",
|
||||||
|
@ -5797,6 +5799,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "Dou0nGT5",
|
Method: "Dou0nGT5",
|
||||||
Body: "5PBQd2OT",
|
Body: "5PBQd2OT",
|
||||||
|
DisableRedirects: true,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "JY6fTTcw",
|
TCP: "JY6fTTcw",
|
||||||
H2PING: "rQ8eyCSF",
|
H2PING: "rQ8eyCSF",
|
||||||
|
@ -6008,6 +6011,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "X5DrovFc",
|
Method: "X5DrovFc",
|
||||||
Body: "WeikigLh",
|
Body: "WeikigLh",
|
||||||
|
DisableRedirects: true,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "ICbxkpSF",
|
TCP: "ICbxkpSF",
|
||||||
H2PING: "7s7BbMyb",
|
H2PING: "7s7BbMyb",
|
||||||
|
@ -6204,6 +6208,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "T66MFBfR",
|
Method: "T66MFBfR",
|
||||||
Body: "OwGjTFQi",
|
Body: "OwGjTFQi",
|
||||||
|
DisableRedirects: true,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "bNnNfx2A",
|
TCP: "bNnNfx2A",
|
||||||
H2PING: "qC1pidiW",
|
H2PING: "qC1pidiW",
|
||||||
|
@ -6229,6 +6234,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "ciYHWors",
|
Method: "ciYHWors",
|
||||||
Body: "lUVLGYU7",
|
Body: "lUVLGYU7",
|
||||||
|
DisableRedirects: false,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "FfvCwlqH",
|
TCP: "FfvCwlqH",
|
||||||
H2PING: "spI3muI3",
|
H2PING: "spI3muI3",
|
||||||
|
@ -6254,6 +6260,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
Method: "9afLm3Mj",
|
Method: "9afLm3Mj",
|
||||||
Body: "wVVL2V6f",
|
Body: "wVVL2V6f",
|
||||||
|
DisableRedirects: true,
|
||||||
OutputMaxSize: checks.DefaultBufSize,
|
OutputMaxSize: checks.DefaultBufSize,
|
||||||
TCP: "fjiLFqVd",
|
TCP: "fjiLFqVd",
|
||||||
H2PING: "5NbNWhan",
|
H2PING: "5NbNWhan",
|
||||||
|
|
|
@ -90,6 +90,7 @@
|
||||||
"AliasService": "",
|
"AliasService": "",
|
||||||
"Body": "",
|
"Body": "",
|
||||||
"DeregisterCriticalServiceAfter": "0s",
|
"DeregisterCriticalServiceAfter": "0s",
|
||||||
|
"DisableRedirects": false,
|
||||||
"DockerContainerID": "",
|
"DockerContainerID": "",
|
||||||
"EnterpriseMeta": {},
|
"EnterpriseMeta": {},
|
||||||
"FailuresBeforeCritical": 0,
|
"FailuresBeforeCritical": 0,
|
||||||
|
@ -297,6 +298,7 @@
|
||||||
"Body": "",
|
"Body": "",
|
||||||
"CheckID": "",
|
"CheckID": "",
|
||||||
"DeregisterCriticalServiceAfter": "0s",
|
"DeregisterCriticalServiceAfter": "0s",
|
||||||
|
"DisableRedirects": false,
|
||||||
"DockerContainerID": "",
|
"DockerContainerID": "",
|
||||||
"FailuresBeforeCritical": 0,
|
"FailuresBeforeCritical": 0,
|
||||||
"FailuresBeforeWarning": 0,
|
"FailuresBeforeWarning": 0,
|
||||||
|
@ -456,4 +458,4 @@
|
||||||
"Version": "",
|
"Version": "",
|
||||||
"VersionPrerelease": "",
|
"VersionPrerelease": "",
|
||||||
"Watches": []
|
"Watches": []
|
||||||
}
|
}
|
|
@ -110,6 +110,7 @@ check = {
|
||||||
}
|
}
|
||||||
method = "Dou0nGT5"
|
method = "Dou0nGT5"
|
||||||
body = "5PBQd2OT"
|
body = "5PBQd2OT"
|
||||||
|
disable_redirects = true
|
||||||
tcp = "JY6fTTcw"
|
tcp = "JY6fTTcw"
|
||||||
h2ping = "rQ8eyCSF"
|
h2ping = "rQ8eyCSF"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -138,6 +139,7 @@ checks = [
|
||||||
}
|
}
|
||||||
method = "aldrIQ4l"
|
method = "aldrIQ4l"
|
||||||
body = "wSjTy7dg"
|
body = "wSjTy7dg"
|
||||||
|
disable_redirects = true
|
||||||
tcp = "RJQND605"
|
tcp = "RJQND605"
|
||||||
h2ping = "9N1cSb5B"
|
h2ping = "9N1cSb5B"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -165,6 +167,7 @@ checks = [
|
||||||
}
|
}
|
||||||
method = "gLrztrNw"
|
method = "gLrztrNw"
|
||||||
body = "0jkKgGUC"
|
body = "0jkKgGUC"
|
||||||
|
disable_redirects = false
|
||||||
tcp = "4jG5casb"
|
tcp = "4jG5casb"
|
||||||
h2ping = "HCHU7gEb"
|
h2ping = "HCHU7gEb"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -389,6 +392,7 @@ service = {
|
||||||
}
|
}
|
||||||
method = "9afLm3Mj"
|
method = "9afLm3Mj"
|
||||||
body = "wVVL2V6f"
|
body = "wVVL2V6f"
|
||||||
|
disable_redirects = true
|
||||||
tcp = "fjiLFqVd"
|
tcp = "fjiLFqVd"
|
||||||
h2ping = "5NbNWhan"
|
h2ping = "5NbNWhan"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -414,6 +418,7 @@ service = {
|
||||||
}
|
}
|
||||||
method = "T66MFBfR"
|
method = "T66MFBfR"
|
||||||
body = "OwGjTFQi"
|
body = "OwGjTFQi"
|
||||||
|
disable_redirects = true
|
||||||
tcp = "bNnNfx2A"
|
tcp = "bNnNfx2A"
|
||||||
h2ping = "qC1pidiW"
|
h2ping = "qC1pidiW"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -439,6 +444,7 @@ service = {
|
||||||
}
|
}
|
||||||
method = "ciYHWors"
|
method = "ciYHWors"
|
||||||
body = "lUVLGYU7"
|
body = "lUVLGYU7"
|
||||||
|
disable_redirects = false
|
||||||
tcp = "FfvCwlqH"
|
tcp = "FfvCwlqH"
|
||||||
h2ping = "spI3muI3"
|
h2ping = "spI3muI3"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -478,6 +484,7 @@ services = [
|
||||||
}
|
}
|
||||||
method = "X5DrovFc"
|
method = "X5DrovFc"
|
||||||
body = "WeikigLh"
|
body = "WeikigLh"
|
||||||
|
disable_redirects = true
|
||||||
tcp = "ICbxkpSF"
|
tcp = "ICbxkpSF"
|
||||||
h2ping = "7s7BbMyb"
|
h2ping = "7s7BbMyb"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
@ -520,6 +527,7 @@ services = [
|
||||||
}
|
}
|
||||||
method = "5wkAxCUE"
|
method = "5wkAxCUE"
|
||||||
body = "7CRjCJyz"
|
body = "7CRjCJyz"
|
||||||
|
disable_redirects = false
|
||||||
tcp = "MN3oA9D2"
|
tcp = "MN3oA9D2"
|
||||||
h2ping = "OV6Q2XEg"
|
h2ping = "OV6Q2XEg"
|
||||||
h2ping_use_tls = false
|
h2ping_use_tls = false
|
||||||
|
|
|
@ -111,6 +111,7 @@
|
||||||
},
|
},
|
||||||
"method": "Dou0nGT5",
|
"method": "Dou0nGT5",
|
||||||
"body": "5PBQd2OT",
|
"body": "5PBQd2OT",
|
||||||
|
"disable_redirects": true,
|
||||||
"output_max_size": 4096,
|
"output_max_size": 4096,
|
||||||
"tcp": "JY6fTTcw",
|
"tcp": "JY6fTTcw",
|
||||||
"h2ping": "rQ8eyCSF",
|
"h2ping": "rQ8eyCSF",
|
||||||
|
@ -139,6 +140,7 @@
|
||||||
},
|
},
|
||||||
"method": "aldrIQ4l",
|
"method": "aldrIQ4l",
|
||||||
"body": "wSjTy7dg",
|
"body": "wSjTy7dg",
|
||||||
|
"disable_redirects": true,
|
||||||
"tcp": "RJQND605",
|
"tcp": "RJQND605",
|
||||||
"h2ping": "9N1cSb5B",
|
"h2ping": "9N1cSb5B",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -166,6 +168,7 @@
|
||||||
},
|
},
|
||||||
"method": "gLrztrNw",
|
"method": "gLrztrNw",
|
||||||
"body": "0jkKgGUC",
|
"body": "0jkKgGUC",
|
||||||
|
"disable_redirects": false,
|
||||||
"tcp": "4jG5casb",
|
"tcp": "4jG5casb",
|
||||||
"h2ping": "HCHU7gEb",
|
"h2ping": "HCHU7gEb",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -385,6 +388,7 @@
|
||||||
},
|
},
|
||||||
"method": "9afLm3Mj",
|
"method": "9afLm3Mj",
|
||||||
"body": "wVVL2V6f",
|
"body": "wVVL2V6f",
|
||||||
|
"disable_redirects": true,
|
||||||
"tcp": "fjiLFqVd",
|
"tcp": "fjiLFqVd",
|
||||||
"h2ping": "5NbNWhan",
|
"h2ping": "5NbNWhan",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -411,6 +415,7 @@
|
||||||
},
|
},
|
||||||
"method": "T66MFBfR",
|
"method": "T66MFBfR",
|
||||||
"body": "OwGjTFQi",
|
"body": "OwGjTFQi",
|
||||||
|
"disable_redirects": true,
|
||||||
"tcp": "bNnNfx2A",
|
"tcp": "bNnNfx2A",
|
||||||
"h2ping": "qC1pidiW",
|
"h2ping": "qC1pidiW",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -436,6 +441,7 @@
|
||||||
},
|
},
|
||||||
"method": "ciYHWors",
|
"method": "ciYHWors",
|
||||||
"body": "lUVLGYU7",
|
"body": "lUVLGYU7",
|
||||||
|
"disable_redirects": false,
|
||||||
"tcp": "FfvCwlqH",
|
"tcp": "FfvCwlqH",
|
||||||
"h2ping": "spI3muI3",
|
"h2ping": "spI3muI3",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -475,6 +481,7 @@
|
||||||
},
|
},
|
||||||
"method": "X5DrovFc",
|
"method": "X5DrovFc",
|
||||||
"body": "WeikigLh",
|
"body": "WeikigLh",
|
||||||
|
"disable_redirects": true,
|
||||||
"tcp": "ICbxkpSF",
|
"tcp": "ICbxkpSF",
|
||||||
"h2ping": "7s7BbMyb",
|
"h2ping": "7s7BbMyb",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
@ -517,6 +524,7 @@
|
||||||
},
|
},
|
||||||
"method": "5wkAxCUE",
|
"method": "5wkAxCUE",
|
||||||
"body": "7CRjCJyz",
|
"body": "7CRjCJyz",
|
||||||
|
"disable_redirects": false,
|
||||||
"tcp": "MN3oA9D2",
|
"tcp": "MN3oA9D2",
|
||||||
"h2ping": "OV6Q2XEg",
|
"h2ping": "OV6Q2XEg",
|
||||||
"h2ping_use_tls": false,
|
"h2ping_use_tls": false,
|
||||||
|
|
|
@ -29,6 +29,7 @@ type CheckDefinition struct {
|
||||||
Header map[string][]string
|
Header map[string][]string
|
||||||
Method string
|
Method string
|
||||||
Body string
|
Body string
|
||||||
|
DisableRedirects bool
|
||||||
TCP string
|
TCP string
|
||||||
Interval time.Duration
|
Interval time.Duration
|
||||||
DockerContainerID string
|
DockerContainerID string
|
||||||
|
@ -71,6 +72,7 @@ func (t *CheckDefinition) UnmarshalJSON(data []byte) (err error) {
|
||||||
GRPCUseTLSSnake bool `json:"grpc_use_tls"`
|
GRPCUseTLSSnake bool `json:"grpc_use_tls"`
|
||||||
ServiceIDSnake string `json:"service_id"`
|
ServiceIDSnake string `json:"service_id"`
|
||||||
H2PingUseTLSSnake bool `json:"h2ping_use_tls"`
|
H2PingUseTLSSnake bool `json:"h2ping_use_tls"`
|
||||||
|
DisableRedirectsSnake bool `json:"disable_redirects"`
|
||||||
|
|
||||||
*Alias
|
*Alias
|
||||||
}{
|
}{
|
||||||
|
@ -116,6 +118,9 @@ func (t *CheckDefinition) UnmarshalJSON(data []byte) (err error) {
|
||||||
if t.ServiceID == "" {
|
if t.ServiceID == "" {
|
||||||
t.ServiceID = aux.ServiceIDSnake
|
t.ServiceID = aux.ServiceIDSnake
|
||||||
}
|
}
|
||||||
|
if aux.DisableRedirectsSnake {
|
||||||
|
t.DisableRedirects = aux.DisableRedirectsSnake
|
||||||
|
}
|
||||||
|
|
||||||
if (aux.H2PING != "" && !aux.H2PingUseTLSSnake) || (aux.H2PING == "" && aux.H2PingUseTLSSnake) {
|
if (aux.H2PING != "" && !aux.H2PingUseTLSSnake) || (aux.H2PING == "" && aux.H2PingUseTLSSnake) {
|
||||||
t.H2PingUseTLS = aux.H2PingUseTLSSnake
|
t.H2PingUseTLS = aux.H2PingUseTLSSnake
|
||||||
|
@ -205,6 +210,7 @@ func (c *CheckDefinition) CheckType() *CheckType {
|
||||||
Header: c.Header,
|
Header: c.Header,
|
||||||
Method: c.Method,
|
Method: c.Method,
|
||||||
Body: c.Body,
|
Body: c.Body,
|
||||||
|
DisableRedirects: c.DisableRedirects,
|
||||||
OutputMaxSize: c.OutputMaxSize,
|
OutputMaxSize: c.OutputMaxSize,
|
||||||
TCP: c.TCP,
|
TCP: c.TCP,
|
||||||
Interval: c.Interval,
|
Interval: c.Interval,
|
||||||
|
|
|
@ -37,6 +37,7 @@ type CheckType struct {
|
||||||
Header map[string][]string
|
Header map[string][]string
|
||||||
Method string
|
Method string
|
||||||
Body string
|
Body string
|
||||||
|
DisableRedirects bool
|
||||||
TCP string
|
TCP string
|
||||||
Interval time.Duration
|
Interval time.Duration
|
||||||
AliasNode string
|
AliasNode string
|
||||||
|
|
|
@ -6,8 +6,6 @@ import (
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/golang/protobuf/ptypes/duration"
|
|
||||||
"github.com/golang/protobuf/ptypes/timestamp"
|
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
@ -16,6 +14,9 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/golang/protobuf/ptypes/duration"
|
||||||
|
"github.com/golang/protobuf/ptypes/timestamp"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/hashicorp/consul-net-rpc/go-msgpack/codec"
|
"github.com/hashicorp/consul-net-rpc/go-msgpack/codec"
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
|
@ -1572,6 +1573,7 @@ type HealthCheckDefinition struct {
|
||||||
Header map[string][]string `json:",omitempty"`
|
Header map[string][]string `json:",omitempty"`
|
||||||
Method string `json:",omitempty"`
|
Method string `json:",omitempty"`
|
||||||
Body string `json:",omitempty"`
|
Body string `json:",omitempty"`
|
||||||
|
DisableRedirects bool `json:",omitempty"`
|
||||||
TCP string `json:",omitempty"`
|
TCP string `json:",omitempty"`
|
||||||
H2PING string `json:",omitempty"`
|
H2PING string `json:",omitempty"`
|
||||||
H2PingUseTLS bool `json:",omitempty"`
|
H2PingUseTLS bool `json:",omitempty"`
|
||||||
|
@ -1720,6 +1722,7 @@ func (c *HealthCheck) CheckType() *CheckType {
|
||||||
Header: c.Definition.Header,
|
Header: c.Definition.Header,
|
||||||
Method: c.Definition.Method,
|
Method: c.Definition.Method,
|
||||||
Body: c.Definition.Body,
|
Body: c.Definition.Body,
|
||||||
|
DisableRedirects: c.Definition.DisableRedirects,
|
||||||
TCP: c.Definition.TCP,
|
TCP: c.Definition.TCP,
|
||||||
H2PING: c.Definition.H2PING,
|
H2PING: c.Definition.H2PING,
|
||||||
H2PingUseTLS: c.Definition.H2PingUseTLS,
|
H2PingUseTLS: c.Definition.H2PingUseTLS,
|
||||||
|
|
|
@ -19,6 +19,7 @@ func CheckTypeToStructs(s *CheckType, t *structs.CheckType) {
|
||||||
t.Header = MapHeadersToStructs(s.Header)
|
t.Header = MapHeadersToStructs(s.Header)
|
||||||
t.Method = s.Method
|
t.Method = s.Method
|
||||||
t.Body = s.Body
|
t.Body = s.Body
|
||||||
|
t.DisableRedirects = s.DisableRedirects
|
||||||
t.TCP = s.TCP
|
t.TCP = s.TCP
|
||||||
t.Interval = structs.DurationFromProto(s.Interval)
|
t.Interval = structs.DurationFromProto(s.Interval)
|
||||||
t.AliasNode = s.AliasNode
|
t.AliasNode = s.AliasNode
|
||||||
|
@ -54,6 +55,7 @@ func CheckTypeFromStructs(t *structs.CheckType, s *CheckType) {
|
||||||
s.Header = NewMapHeadersFromStructs(t.Header)
|
s.Header = NewMapHeadersFromStructs(t.Header)
|
||||||
s.Method = t.Method
|
s.Method = t.Method
|
||||||
s.Body = t.Body
|
s.Body = t.Body
|
||||||
|
s.DisableRedirects = t.DisableRedirects
|
||||||
s.TCP = t.TCP
|
s.TCP = t.TCP
|
||||||
s.Interval = structs.DurationToProto(t.Interval)
|
s.Interval = structs.DurationToProto(t.Interval)
|
||||||
s.AliasNode = t.AliasNode
|
s.AliasNode = t.AliasNode
|
||||||
|
@ -132,6 +134,7 @@ func HealthCheckDefinitionToStructs(s *HealthCheckDefinition, t *structs.HealthC
|
||||||
t.Header = MapHeadersToStructs(s.Header)
|
t.Header = MapHeadersToStructs(s.Header)
|
||||||
t.Method = s.Method
|
t.Method = s.Method
|
||||||
t.Body = s.Body
|
t.Body = s.Body
|
||||||
|
t.DisableRedirects = s.DisableRedirects
|
||||||
t.TCP = s.TCP
|
t.TCP = s.TCP
|
||||||
t.H2PING = s.H2PING
|
t.H2PING = s.H2PING
|
||||||
t.H2PingUseTLS = s.H2PingUseTLS
|
t.H2PingUseTLS = s.H2PingUseTLS
|
||||||
|
@ -158,6 +161,7 @@ func HealthCheckDefinitionFromStructs(t *structs.HealthCheckDefinition, s *Healt
|
||||||
s.Header = NewMapHeadersFromStructs(t.Header)
|
s.Header = NewMapHeadersFromStructs(t.Header)
|
||||||
s.Method = t.Method
|
s.Method = t.Method
|
||||||
s.Body = t.Body
|
s.Body = t.Body
|
||||||
|
s.DisableRedirects = t.DisableRedirects
|
||||||
s.TCP = t.TCP
|
s.TCP = t.TCP
|
||||||
s.H2PING = t.H2PING
|
s.H2PING = t.H2PING
|
||||||
s.H2PingUseTLS = t.H2PingUseTLS
|
s.H2PingUseTLS = t.H2PingUseTLS
|
||||||
|
|
|
@ -268,10 +268,11 @@ type HealthCheckDefinition struct {
|
||||||
TLSServerName string `protobuf:"bytes,19,opt,name=TLSServerName,proto3" json:"TLSServerName,omitempty"`
|
TLSServerName string `protobuf:"bytes,19,opt,name=TLSServerName,proto3" json:"TLSServerName,omitempty"`
|
||||||
TLSSkipVerify bool `protobuf:"varint,2,opt,name=TLSSkipVerify,proto3" json:"TLSSkipVerify,omitempty"`
|
TLSSkipVerify bool `protobuf:"varint,2,opt,name=TLSSkipVerify,proto3" json:"TLSSkipVerify,omitempty"`
|
||||||
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
||||||
Header map[string]*HeaderValue `protobuf:"bytes,3,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Header map[string]*HeaderValue `protobuf:"bytes,3,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
Method string `protobuf:"bytes,4,opt,name=Method,proto3" json:"Method,omitempty"`
|
Method string `protobuf:"bytes,4,opt,name=Method,proto3" json:"Method,omitempty"`
|
||||||
Body string `protobuf:"bytes,18,opt,name=Body,proto3" json:"Body,omitempty"`
|
Body string `protobuf:"bytes,18,opt,name=Body,proto3" json:"Body,omitempty"`
|
||||||
TCP string `protobuf:"bytes,5,opt,name=TCP,proto3" json:"TCP,omitempty"`
|
DisableRedirects bool `protobuf:"varint,22,opt,name=DisableRedirects,proto3" json:"DisableRedirects,omitempty"`
|
||||||
|
TCP string `protobuf:"bytes,5,opt,name=TCP,proto3" json:"TCP,omitempty"`
|
||||||
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
||||||
Interval *durationpb.Duration `protobuf:"bytes,6,opt,name=Interval,proto3" json:"Interval,omitempty"`
|
Interval *durationpb.Duration `protobuf:"bytes,6,opt,name=Interval,proto3" json:"Interval,omitempty"`
|
||||||
// mog: func-to=uint func-from=uint32
|
// mog: func-to=uint func-from=uint32
|
||||||
|
@ -367,6 +368,13 @@ func (x *HealthCheckDefinition) GetBody() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *HealthCheckDefinition) GetDisableRedirects() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.DisableRedirects
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (x *HealthCheckDefinition) GetTCP() string {
|
func (x *HealthCheckDefinition) GetTCP() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.TCP
|
return x.TCP
|
||||||
|
@ -497,10 +505,11 @@ type CheckType struct {
|
||||||
ScriptArgs []string `protobuf:"bytes,5,rep,name=ScriptArgs,proto3" json:"ScriptArgs,omitempty"`
|
ScriptArgs []string `protobuf:"bytes,5,rep,name=ScriptArgs,proto3" json:"ScriptArgs,omitempty"`
|
||||||
HTTP string `protobuf:"bytes,6,opt,name=HTTP,proto3" json:"HTTP,omitempty"`
|
HTTP string `protobuf:"bytes,6,opt,name=HTTP,proto3" json:"HTTP,omitempty"`
|
||||||
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
||||||
Header map[string]*HeaderValue `protobuf:"bytes,20,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Header map[string]*HeaderValue `protobuf:"bytes,20,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
Method string `protobuf:"bytes,7,opt,name=Method,proto3" json:"Method,omitempty"`
|
Method string `protobuf:"bytes,7,opt,name=Method,proto3" json:"Method,omitempty"`
|
||||||
Body string `protobuf:"bytes,26,opt,name=Body,proto3" json:"Body,omitempty"`
|
Body string `protobuf:"bytes,26,opt,name=Body,proto3" json:"Body,omitempty"`
|
||||||
TCP string `protobuf:"bytes,8,opt,name=TCP,proto3" json:"TCP,omitempty"`
|
DisableRedirects bool `protobuf:"varint,31,opt,name=DisableRedirects,proto3" json:"DisableRedirects,omitempty"`
|
||||||
|
TCP string `protobuf:"bytes,8,opt,name=TCP,proto3" json:"TCP,omitempty"`
|
||||||
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
||||||
Interval *durationpb.Duration `protobuf:"bytes,9,opt,name=Interval,proto3" json:"Interval,omitempty"`
|
Interval *durationpb.Duration `protobuf:"bytes,9,opt,name=Interval,proto3" json:"Interval,omitempty"`
|
||||||
AliasNode string `protobuf:"bytes,10,opt,name=AliasNode,proto3" json:"AliasNode,omitempty"`
|
AliasNode string `protobuf:"bytes,10,opt,name=AliasNode,proto3" json:"AliasNode,omitempty"`
|
||||||
|
@ -630,6 +639,13 @@ func (x *CheckType) GetBody() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *CheckType) GetDisableRedirects() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.DisableRedirects
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (x *CheckType) GetTCP() string {
|
func (x *CheckType) GetTCP() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.TCP
|
return x.TCP
|
||||||
|
@ -822,7 +838,7 @@ var file_proto_pbservice_healthcheck_proto_rawDesc = []byte{
|
||||||
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x69, 0x6d,
|
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x69, 0x6d,
|
||||||
0x65, 0x6f, 0x75, 0x74, 0x22, 0x23, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61,
|
0x65, 0x6f, 0x75, 0x74, 0x22, 0x23, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61,
|
||||||
0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03,
|
0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03,
|
||||||
0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x86, 0x07, 0x0a, 0x15, 0x48, 0x65,
|
0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x07, 0x0a, 0x15, 0x48, 0x65,
|
||||||
0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
|
0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
|
||||||
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x09, 0x52, 0x04, 0x48, 0x54, 0x54, 0x50, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x65,
|
0x09, 0x52, 0x04, 0x48, 0x54, 0x54, 0x50, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x65,
|
||||||
|
@ -837,127 +853,132 @@ var file_proto_pbservice_healthcheck_proto_rawDesc = []byte{
|
||||||
0x79, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74,
|
0x79, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74,
|
||||||
0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f,
|
0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f,
|
||||||
0x64, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x64, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x18, 0x05, 0x20, 0x01,
|
0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
|
||||||
0x28, 0x09, 0x52, 0x03, 0x54, 0x43, 0x50, 0x12, 0x35, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72,
|
0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
0x10, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
|
||||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
|
0x73, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24,
|
0x54, 0x43, 0x50, 0x12, 0x35, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18,
|
||||||
0x0a, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x18,
|
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||||
0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78,
|
|
||||||
0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
|
|
||||||
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x52, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x61, 0x0a, 0x1e, 0x44, 0x65, 0x72,
|
0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x75,
|
||||||
|
0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
|
||||||
|
0x0d, 0x52, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65,
|
||||||
|
0x12, 0x33, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x54, 0x69,
|
||||||
|
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x61, 0x0a, 0x1e, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
|
||||||
|
0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||||
|
0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
|
||||||
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||||
|
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1e, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69,
|
||||||
|
0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76,
|
||||||
|
0x69, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x69,
|
||||||
|
0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x63,
|
||||||
|
0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x6b,
|
||||||
|
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x11, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61,
|
||||||
|
0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x18,
|
||||||
|
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06,
|
||||||
|
0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x48, 0x32,
|
||||||
|
0x50, 0x49, 0x4e, 0x47, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x32, 0x50, 0x69, 0x6e, 0x67, 0x55, 0x73,
|
||||||
|
0x65, 0x54, 0x4c, 0x53, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x48, 0x32, 0x50, 0x69,
|
||||||
|
0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43,
|
||||||
|
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x1e, 0x0a, 0x0a,
|
||||||
|
0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
|
||||||
|
0x52, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x1c, 0x0a, 0x09,
|
||||||
|
0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
|
0x09, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x6c,
|
||||||
|
0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2b,
|
||||||
|
0x0a, 0x03, 0x54, 0x54, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
|
||||||
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x54, 0x54, 0x4c, 0x1a, 0x51, 0x0a, 0x0b, 0x48,
|
||||||
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||||
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05,
|
||||||
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62,
|
||||||
|
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61,
|
||||||
|
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd4,
|
||||||
|
0x09, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
|
||||||
|
0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43,
|
||||||
|
0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74,
|
||||||
|
0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74,
|
||||||
|
0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x05, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x69,
|
||||||
|
0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x63,
|
||||||
|
0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50,
|
||||||
|
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x54, 0x54, 0x50, 0x12, 0x38, 0x0a, 0x06,
|
||||||
|
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
|
||||||
|
0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x79,
|
||||||
|
0x70, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
|
||||||
|
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
|
||||||
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12,
|
||||||
|
0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x42, 0x6f,
|
||||||
|
0x64, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64,
|
||||||
|
0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x44, 0x69,
|
||||||
|
0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x10,
|
||||||
|
0x0a, 0x03, 0x54, 0x43, 0x50, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x43, 0x50,
|
||||||
|
0x12, 0x35, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x49,
|
||||||
|
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x61, 0x73,
|
||||||
|
0x4e, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x6c, 0x69, 0x61,
|
||||||
|
0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65,
|
||||||
|
0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x41, 0x6c, 0x69,
|
||||||
|
0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x44, 0x6f, 0x63,
|
||||||
|
0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74,
|
||||||
|
0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c,
|
||||||
|
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x16, 0x0a,
|
||||||
|
0x06, 0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x48,
|
||||||
|
0x32, 0x50, 0x49, 0x4e, 0x47, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x32, 0x50, 0x69, 0x6e, 0x67, 0x55,
|
||||||
|
0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x48, 0x32, 0x50,
|
||||||
|
0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x52, 0x50,
|
||||||
|
0x43, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x1e, 0x0a,
|
||||||
|
0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28,
|
||||||
|
0x08, 0x52, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x24, 0x0a,
|
||||||
|
0x0d, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1b,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
|
||||||
|
0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65,
|
||||||
|
0x72, 0x69, 0x66, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x54, 0x4c, 0x53, 0x53,
|
||||||
|
0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x54, 0x69, 0x6d,
|
||||||
|
0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
|
||||||
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
|
||||||
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b,
|
||||||
|
0x0a, 0x03, 0x54, 0x54, 0x4c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
|
||||||
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x54, 0x54, 0x4c, 0x12, 0x32, 0x0a, 0x14, 0x53,
|
||||||
|
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x73, 0x73,
|
||||||
|
0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x53, 0x75, 0x63, 0x63, 0x65,
|
||||||
|
0x73, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12,
|
||||||
|
0x34, 0x0a, 0x15, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72,
|
||||||
|
0x65, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15,
|
||||||
|
0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x57, 0x61,
|
||||||
|
0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x16, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
|
||||||
|
0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18,
|
||||||
|
0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42,
|
||||||
|
0x65, 0x66, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a,
|
||||||
|
0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x54, 0x54, 0x50, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x54, 0x54, 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x50,
|
||||||
|
0x72, 0x6f, 0x78, 0x79, 0x47, 0x52, 0x50, 0x43, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||||
|
0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x52, 0x50, 0x43, 0x12, 0x61, 0x0a, 0x1e, 0x44, 0x65, 0x72,
|
||||||
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53,
|
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53,
|
||||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
|
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28,
|
||||||
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1e, 0x44, 0x65,
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1e, 0x44, 0x65,
|
||||||
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c,
|
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c,
|
||||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a,
|
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d,
|
||||||
0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
|
0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x19, 0x20,
|
||||||
0x52, 0x0a, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x11,
|
0x01, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69,
|
||||||
0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49,
|
0x7a, 0x65, 0x1a, 0x51, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
|
||||||
0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43,
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||||
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68,
|
0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
0x65, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c,
|
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48,
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||||
0x52, 0x06, 0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x32, 0x50, 0x69,
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||||
0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
|
0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f,
|
||||||
0x48, 0x32, 0x50, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x12, 0x0a, 0x04,
|
0x6e, 0x73, 0x75, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x73, 0x65, 0x72,
|
||||||
0x47, 0x52, 0x50, 0x43, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x47, 0x52, 0x50, 0x43,
|
0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x0e,
|
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53,
|
|
||||||
0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22,
|
|
||||||
0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x10,
|
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69,
|
|
||||||
0x63, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x54, 0x54, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
||||||
0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
||||||
0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x54, 0x54, 0x4c, 0x1a,
|
|
||||||
0x51, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
|
||||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
||||||
0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
||||||
0x16, 0x2e, 0x70, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64,
|
|
||||||
0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
|
||||||
0x38, 0x01, 0x22, 0xa8, 0x09, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65,
|
|
||||||
0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
||||||
0x09, 0x52, 0x07, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61,
|
|
||||||
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16,
|
|
||||||
0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
|
||||||
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x18,
|
|
||||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
|
|
||||||
0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
|
|
||||||
0x52, 0x0a, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04,
|
|
||||||
0x48, 0x54, 0x54, 0x50, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x12, 0x38, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b,
|
|
||||||
0x32, 0x20, 0x2e, 0x70, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x65,
|
|
||||||
0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74,
|
|
||||||
0x72, 0x79, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65,
|
|
||||||
0x74, 0x68, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68,
|
|
||||||
0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09,
|
|
||||||
0x52, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x18, 0x08, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x43, 0x50, 0x12, 0x35, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65,
|
|
||||||
0x72, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
|
|
||||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
|
|
||||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
|
|
||||||
0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
|
|
||||||
0x28, 0x09, 0x52, 0x09, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a,
|
|
||||||
0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
|
||||||
0x65, 0x12, 0x2c, 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61,
|
|
||||||
0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x44, 0x6f,
|
|
||||||
0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12,
|
|
||||||
0x14, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
|
||||||
0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x18,
|
|
||||||
0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x48, 0x32, 0x50, 0x49, 0x4e, 0x47, 0x12, 0x22, 0x0a,
|
|
||||||
0x0c, 0x48, 0x32, 0x50, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c, 0x53, 0x18, 0x1e, 0x20,
|
|
||||||
0x01, 0x28, 0x08, 0x52, 0x0c, 0x48, 0x32, 0x50, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x54, 0x4c,
|
|
||||||
0x53, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
||||||
0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55, 0x73, 0x65,
|
|
||||||
0x54, 0x4c, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x47, 0x52, 0x50, 0x43, 0x55,
|
|
||||||
0x73, 0x65, 0x54, 0x4c, 0x53, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x72, 0x76,
|
|
||||||
0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x4c,
|
|
||||||
0x53, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54,
|
|
||||||
0x4c, 0x53, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x10, 0x20, 0x01,
|
|
||||||
0x28, 0x08, 0x52, 0x0d, 0x54, 0x4c, 0x53, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66,
|
|
||||||
0x79, 0x12, 0x33, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01,
|
|
||||||
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x54,
|
|
||||||
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x54, 0x54, 0x4c, 0x18, 0x12, 0x20,
|
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
||||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03,
|
|
||||||
0x54, 0x54, 0x4c, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x65,
|
|
||||||
0x66, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28,
|
|
||||||
0x05, 0x52, 0x14, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65,
|
|
||||||
0x50, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x15, 0x46, 0x61, 0x69, 0x6c, 0x75,
|
|
||||||
0x72, 0x65, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67,
|
|
||||||
0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73,
|
|
||||||
0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a,
|
|
||||||
0x16, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x43,
|
|
||||||
0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x46,
|
|
||||||
0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x69,
|
|
||||||
0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x52, 0x50, 0x43,
|
|
||||||
0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x52, 0x50,
|
|
||||||
0x43, 0x12, 0x61, 0x0a, 0x1e, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43,
|
|
||||||
0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x66,
|
|
||||||
0x74, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
||||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
|
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1e, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
|
|
||||||
0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
|
|
||||||
0x66, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61,
|
|
||||||
0x78, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x75, 0x74,
|
|
||||||
0x70, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x51, 0x0a, 0x0b, 0x48, 0x65,
|
|
||||||
0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76,
|
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x73,
|
|
||||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c,
|
|
||||||
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x2d, 0x5a,
|
|
||||||
0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68,
|
|
||||||
0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2f, 0x70, 0x72, 0x6f,
|
|
||||||
0x74, 0x6f, 0x2f, 0x70, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -62,6 +62,7 @@ message HealthCheckDefinition {
|
||||||
map<string, HeaderValue> Header = 3;
|
map<string, HeaderValue> Header = 3;
|
||||||
string Method = 4;
|
string Method = 4;
|
||||||
string Body = 18;
|
string Body = 18;
|
||||||
|
bool DisableRedirects = 22;
|
||||||
string TCP = 5;
|
string TCP = 5;
|
||||||
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
||||||
google.protobuf.Duration Interval = 6;
|
google.protobuf.Duration Interval = 6;
|
||||||
|
@ -110,6 +111,7 @@ message CheckType {
|
||||||
map<string, HeaderValue> Header = 20;
|
map<string, HeaderValue> Header = 20;
|
||||||
string Method = 7;
|
string Method = 7;
|
||||||
string Body = 26;
|
string Body = 26;
|
||||||
|
bool DisableRedirects = 31;
|
||||||
string TCP = 8;
|
string TCP = 8;
|
||||||
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
||||||
google.protobuf.Duration Interval = 9;
|
google.protobuf.Duration Interval = 9;
|
||||||
|
|
|
@ -206,6 +206,9 @@ The table below shows this endpoint's support for
|
||||||
|
|
||||||
- `Body` `(string: "")` - Specifies a body that should be sent with `HTTP` checks.
|
- `Body` `(string: "")` - Specifies a body that should be sent with `HTTP` checks.
|
||||||
|
|
||||||
|
- `DisableRedirects` `(bool: false)` - Specifies whether to disable following HTTP
|
||||||
|
redirects when performing an HTTP check.
|
||||||
|
|
||||||
- `Header` `(map[string][]string: {})` - Specifies a set of headers that should
|
- `Header` `(map[string][]string: {})` - Specifies a set of headers that should
|
||||||
be set for `HTTP` checks. Each header can have multiple values.
|
be set for `HTTP` checks. Each header can have multiple values.
|
||||||
|
|
||||||
|
@ -273,6 +276,7 @@ The table below shows this endpoint's support for
|
||||||
"Method": "POST",
|
"Method": "POST",
|
||||||
"Header": { "Content-Type": ["application/json"] },
|
"Header": { "Content-Type": ["application/json"] },
|
||||||
"Body": "{\"check\":\"mem\"}",
|
"Body": "{\"check\":\"mem\"}",
|
||||||
|
"DisableRedirects": true,
|
||||||
"TCP": "example.com:22",
|
"TCP": "example.com:22",
|
||||||
"Interval": "10s",
|
"Interval": "10s",
|
||||||
"Timeout": "5s",
|
"Timeout": "5s",
|
||||||
|
|
|
@ -57,6 +57,7 @@ There are several different kinds of checks:
|
||||||
fields can be set through the `header` field which is a map of lists of
|
fields can be set through the `header` field which is a map of lists of
|
||||||
strings, e.g. `{"x-foo": ["bar", "baz"]}`. By default, HTTP checks will be
|
strings, e.g. `{"x-foo": ["bar", "baz"]}`. By default, HTTP checks will be
|
||||||
configured with a request timeout equal to 10 seconds.
|
configured with a request timeout equal to 10 seconds.
|
||||||
|
|
||||||
It is possible to configure a custom HTTP check timeout value by
|
It is possible to configure a custom HTTP check timeout value by
|
||||||
specifying the `timeout` field in the check definition. The output of the
|
specifying the `timeout` field in the check definition. The output of the
|
||||||
check is limited to roughly 4KB. Responses larger than this will be truncated.
|
check is limited to roughly 4KB. Responses larger than this will be truncated.
|
||||||
|
@ -66,6 +67,9 @@ There are several different kinds of checks:
|
||||||
automatically from the URL if it uses a hostname (as opposed to an IP address);
|
automatically from the URL if it uses a hostname (as opposed to an IP address);
|
||||||
the value can be overridden by setting `tls_server_name`.
|
the value can be overridden by setting `tls_server_name`.
|
||||||
|
|
||||||
|
Consul follows HTTP redirects by default. Set the `disable_redirects` field to
|
||||||
|
`true` to disable redirects.
|
||||||
|
|
||||||
- `TCP + Interval` - These checks make a TCP connection attempt to the specified
|
- `TCP + Interval` - These checks make a TCP connection attempt to the specified
|
||||||
IP/hostname and port, waiting `interval` amount of time between attempts
|
IP/hostname and port, waiting `interval` amount of time between attempts
|
||||||
(e.g. 30 seconds). If no hostname
|
(e.g. 30 seconds). If no hostname
|
||||||
|
@ -185,6 +189,7 @@ check = {
|
||||||
Content-Type = ["application/json"]
|
Content-Type = ["application/json"]
|
||||||
}
|
}
|
||||||
body = "{\"method\":\"health\"}"
|
body = "{\"method\":\"health\"}"
|
||||||
|
disable_redirects = true
|
||||||
interval = "10s"
|
interval = "10s"
|
||||||
timeout = "1s"
|
timeout = "1s"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue