mirror of
https://github.com/status-im/consul.git
synced 2025-01-28 22:45:58 +00:00
5fb9df1640
* Adding explicit MPL license for sub-package This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository. * Adding explicit MPL license for sub-package This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository. * Updating the license from MPL to Business Source License Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at <Blog URL>, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl. * add missing license headers * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 --------- Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
161 lines
4.9 KiB
Protocol Buffer
161 lines
4.9 KiB
Protocol Buffer
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
syntax = "proto3";
|
|
|
|
package hashicorp.consul.internal.service;
|
|
|
|
import "google/protobuf/duration.proto";
|
|
import "private/pbcommon/common.proto";
|
|
|
|
// HealthCheck represents a single check on a given node
|
|
//
|
|
// mog annotation:
|
|
//
|
|
// target=github.com/hashicorp/consul/agent/structs.HealthCheck
|
|
// output=healthcheck.gen.go
|
|
// name=Structs
|
|
message HealthCheck {
|
|
string Node = 1;
|
|
// mog: func-to=CheckIDType func-from=string
|
|
string CheckID = 2;
|
|
string Name = 3;
|
|
string Status = 4; // The current check status
|
|
string Notes = 5; // Additional notes with the status
|
|
string Output = 6; // Holds output of script runs
|
|
string ServiceID = 7; // optional associated service
|
|
string ServiceName = 8; // optional service name
|
|
repeated string ServiceTags = 9; // optional service tags
|
|
string Type = 12; // Check type: http/ttl/tcp/etc
|
|
|
|
HealthCheckDefinition Definition = 10;
|
|
|
|
// mog: func-to=RaftIndexToStructs func-from=NewRaftIndexFromStructs
|
|
common.RaftIndex RaftIndex = 11;
|
|
|
|
// mog: func-to=EnterpriseMetaToStructs func-from=NewEnterpriseMetaFromStructs
|
|
common.EnterpriseMeta EnterpriseMeta = 13;
|
|
|
|
// mog: func-to=int func-from=int32
|
|
int32 ExposedPort = 14;
|
|
|
|
string Interval = 15;
|
|
string Timeout = 16;
|
|
string PeerName = 17;
|
|
}
|
|
|
|
message HeaderValue {
|
|
repeated string Value = 1;
|
|
}
|
|
|
|
// HealthCheckDefinition of a single HealthCheck.
|
|
//
|
|
// mog annotation:
|
|
//
|
|
// target=github.com/hashicorp/consul/agent/structs.HealthCheckDefinition
|
|
// output=healthcheck.gen.go
|
|
// name=Structs
|
|
message HealthCheckDefinition {
|
|
string HTTP = 1;
|
|
string TLSServerName = 19;
|
|
bool TLSSkipVerify = 2;
|
|
|
|
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
|
map<string, HeaderValue> Header = 3;
|
|
string Method = 4;
|
|
string Body = 18;
|
|
bool DisableRedirects = 22;
|
|
string TCP = 5;
|
|
string UDP = 23;
|
|
string OSService = 24;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration Interval = 6;
|
|
|
|
// mog: func-to=uint func-from=uint32
|
|
uint32 OutputMaxSize = 9;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration Timeout = 7;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration DeregisterCriticalServiceAfter = 8;
|
|
repeated string ScriptArgs = 10;
|
|
string DockerContainerID = 11;
|
|
string Shell = 12;
|
|
string H2PING = 20;
|
|
bool H2PingUseTLS = 21;
|
|
string GRPC = 13;
|
|
bool GRPCUseTLS = 14;
|
|
string AliasNode = 15;
|
|
string AliasService = 16;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration TTL = 17;
|
|
}
|
|
|
|
// CheckType is used to create either the CheckMonitor or the CheckTTL.
|
|
// The following types are supported: Script, HTTP, TCP, Docker, TTL, GRPC,
|
|
// Alias. Script, H2PING,
|
|
// HTTP, Docker, TCP, H2PING and GRPC all require Interval. Only one of the types may
|
|
// to be provided: TTL or Script/Interval or HTTP/Interval or TCP/Interval or
|
|
// Docker/Interval or GRPC/Interval or H2PING/Interval or AliasService.
|
|
//
|
|
// mog annotation:
|
|
//
|
|
// target=github.com/hashicorp/consul/agent/structs.CheckType
|
|
// output=healthcheck.gen.go
|
|
// name=Structs
|
|
message CheckType {
|
|
// mog: func-to=CheckIDType func-from=string
|
|
string CheckID = 1;
|
|
string Name = 2;
|
|
string Status = 3;
|
|
string Notes = 4;
|
|
|
|
repeated string ScriptArgs = 5;
|
|
string HTTP = 6;
|
|
// mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs
|
|
map<string, HeaderValue> Header = 20;
|
|
string Method = 7;
|
|
string Body = 26;
|
|
bool DisableRedirects = 31;
|
|
string TCP = 8;
|
|
string UDP = 32;
|
|
string OSService = 33;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration Interval = 9;
|
|
|
|
string AliasNode = 10;
|
|
string AliasService = 11;
|
|
string DockerContainerID = 12;
|
|
string Shell = 13;
|
|
string H2PING = 28;
|
|
bool H2PingUseTLS = 30;
|
|
string GRPC = 14;
|
|
bool GRPCUseTLS = 15;
|
|
string TLSServerName = 27;
|
|
bool TLSSkipVerify = 16;
|
|
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration Timeout = 17;
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration TTL = 18;
|
|
|
|
// mog: func-to=int func-from=int32
|
|
int32 SuccessBeforePassing = 21;
|
|
// mog: func-to=int func-from=int32
|
|
int32 FailuresBeforeWarning = 29;
|
|
// mog: func-to=int func-from=int32
|
|
int32 FailuresBeforeCritical = 22;
|
|
|
|
// Definition fields used when exposing checks through a proxy
|
|
string ProxyHTTP = 23;
|
|
string ProxyGRPC = 24;
|
|
|
|
// DeregisterCriticalServiceAfter, if >0, will cause the associated
|
|
// service, if any, to be deregistered if this check is critical for
|
|
// longer than this duration.
|
|
// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
|
|
google.protobuf.Duration DeregisterCriticalServiceAfter = 19;
|
|
|
|
// mog: func-to=int func-from=int32
|
|
int32 OutputMaxSize = 25;
|
|
}
|