1// Copyright 2017 Istio Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package istio.mixer.v1.config.client; 18 19option go_package="istio.io/api/mixer/v1/config/client"; 20 21import "gogoproto/gogo.proto"; 22 23option (gogoproto.goproto_getters_all) = false; 24option (gogoproto.equal_all) = false; 25option (gogoproto.gostring_all) = false; 26option (gogoproto.stable_marshaler_all) = true; 27 28// NOTE: this is a duplicate of proxy.v1.config.IstioService from 29// proxy/v1alpha1/config/route_rules.proto. 30// 31// Mixer protobufs have gogoproto specific options which are not 32// compatiable with the proxy's vanilla protobufs. Ideally, these 33// protobuf options be reconciled so fundamental Istio concepts and 34// types can be shared by components. Until then, make a copy of 35// IstioService for mixerclient to use. 36 37// IstioService identifies a service and optionally service version. 38// The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix 39// (e.g. on Kubernetes, "reviews" + "default" + "svc.cluster.local" -> "reviews.default.svc.cluster.local"). 40message IstioService { 41 // The short name of the service such as "foo". 42 string name = 1; 43 44 // Optional namespace of the service. Defaults to value of metadata namespace field. 45 string namespace = 2; 46 47 // Domain suffix used to construct the service FQDN in implementations that support such specification. 48 string domain = 3; 49 50 // The service FQDN. 51 string service = 4; 52 53 // Optional one or more labels that uniquely identify the service version. 54 // 55 // *Note:* When used for a VirtualService destination, labels MUST be empty. 56 // 57 map<string, string> labels = 5; 58} 59