Accept partition for ingress services
This commit is contained in:
parent
c05df587e5
commit
dc7ea2ef1e
|
@ -266,10 +266,7 @@ func (e *IngressGatewayConfigEntry) Validate() error {
|
|||
|
||||
declaredHosts := make(map[string]bool)
|
||||
serviceNames := make(map[ServiceID]struct{})
|
||||
for i, s := range listener.Services {
|
||||
if err := validateInnerEnterpriseMeta(&s.EnterpriseMeta, &e.EnterpriseMeta); err != nil {
|
||||
return fmt.Errorf("services[%d]: %w", i, err)
|
||||
}
|
||||
for _, s := range listener.Services {
|
||||
sn := NewServiceName(s.Name, &s.EnterpriseMeta)
|
||||
if err := s.RequestHeaders.Validate(listener.Protocol); err != nil {
|
||||
return fmt.Errorf("request headers %s (service %q on listener on port %d)", err, sn.String(), listener.Port)
|
||||
|
|
|
@ -103,12 +103,14 @@ type IngressService struct {
|
|||
// using a "tcp" listener.
|
||||
Hosts []string
|
||||
|
||||
// Referencing other partitions is not supported.
|
||||
|
||||
// Namespace is the namespace where the service is located.
|
||||
// Namespacing is a Consul Enterprise feature.
|
||||
Namespace string `json:",omitempty"`
|
||||
|
||||
// Partition is the partition where the service is located.
|
||||
// Partitioning is a Consul Enterprise feature.
|
||||
Partition string `json:",omitempty"`
|
||||
|
||||
// TLS allows specifying some TLS configuration per listener.
|
||||
TLS *GatewayServiceTLSConfig `json:",omitempty"`
|
||||
|
||||
|
|
|
@ -964,7 +964,8 @@ func TestDecodeConfigEntry(t *testing.T) {
|
|||
"Services": [
|
||||
{
|
||||
"Name": "web",
|
||||
"Namespace": "foo"
|
||||
"Namespace": "foo",
|
||||
"Partition": "bar"
|
||||
},
|
||||
{
|
||||
"Name": "db"
|
||||
|
@ -1001,6 +1002,7 @@ func TestDecodeConfigEntry(t *testing.T) {
|
|||
{
|
||||
Name: "web",
|
||||
Namespace: "foo",
|
||||
Partition: "bar",
|
||||
},
|
||||
{
|
||||
Name: "db",
|
||||
|
|
Loading…
Reference in New Issue