2023-05-05 13:47:28 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
2023-08-21 17:31:54 +00:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
2023-05-05 13:47:28 +00:00
|
|
|
|
|
|
|
syntax = "proto3";
|
|
|
|
|
2023-09-22 16:51:15 +00:00
|
|
|
package hashicorp.consul.catalog.v2beta1;
|
2023-05-05 13:47:28 +00:00
|
|
|
|
2023-09-22 16:51:15 +00:00
|
|
|
import "pbcatalog/v2beta1/health.proto";
|
|
|
|
import "pbcatalog/v2beta1/workload.proto";
|
2023-09-21 21:18:47 +00:00
|
|
|
import "pbresource/annotations.proto";
|
2023-05-05 13:47:28 +00:00
|
|
|
import "pbresource/resource.proto";
|
|
|
|
|
|
|
|
message ServiceEndpoints {
|
2023-09-21 21:18:47 +00:00
|
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
|
2023-05-05 13:47:28 +00:00
|
|
|
repeated Endpoint endpoints = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Endpoint {
|
|
|
|
// target_ref is the reference to the resource
|
|
|
|
// for this endpoint endpoint. This currently must be a workload.
|
|
|
|
hashicorp.consul.resource.ID target_ref = 1;
|
|
|
|
|
|
|
|
// addresses is the list of addresses for this endpoint.
|
|
|
|
// This has the same structure as the workload addresses.
|
|
|
|
repeated WorkloadAddress addresses = 2;
|
|
|
|
|
|
|
|
// ports is the map of ports for this endpoint.
|
|
|
|
// This has the same structure as the workload ports but
|
|
|
|
// will be filtered to just the ports selected by the service.
|
|
|
|
map<string, WorkloadPort> ports = 3;
|
|
|
|
|
|
|
|
// health_status is the aggregated health status of this endpoint.
|
|
|
|
Health health_status = 4;
|
2023-09-07 15:37:15 +00:00
|
|
|
|
|
|
|
// identity is the name of the workload identity for this endpoint.
|
|
|
|
string identity = 5;
|
2024-01-18 16:37:42 +00:00
|
|
|
|
|
|
|
// dns contains customizations like Weight that will be returned in DNS discovery requests.
|
|
|
|
DNSPolicy dns = 6;
|
2023-05-05 13:47:28 +00:00
|
|
|
}
|