Skip to content

Instantly share code, notes, and snippets.

@mandarjog
Created December 7, 2016 21:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mandarjog/c223238b557ab08509c72325032e9e4b to your computer and use it in GitHub Desktop.
Save mandarjog/c223238b557ab08509c72325032e9e4b to your computer and use it in GitHub Desktop.
// Copyright 2016 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
import "google/protobuf/struct.proto";
package istio.config;
// Configures a {single?} service
message ServiceConfig {
string subject = 1;
string version = 2;
repeated AspectRule rules = 3;
}
// AspectRules are intent based
message AspectRule {
string selector = 1;
repeated Aspect aspects = 2;
repeated AspectRule rules = 3;
}
// Aspect is intent based. It specifies the intent "kind"
//
message Aspect {
string kind = 1;
string adapter = 2; // optional, allows specifying an adapter
map<string, string> inputs = 3;
google.protobuf.Struct params = 4;
}
// cluster config defines adapters
message Adapter {
string name = 1; // statsd-slow
string kind = 2; // metrics
string impl = 3; // istio.statsd
google.protobuf.Struct args = 4; // based on impl {}
}
message ClusterConfig {
string version = 1;
repeated Adapter adapters = 2;
}
message ClientConfig {
string subject = 1;
string version = 2;
repeated AspectRule rules = 3;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment