Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
78 lines (59 sloc) 2.68 KB
syntax = "proto3";
package supergloo.solo.io;
option go_package = "github.com/solo-io/supergloo/pkg/api/v1";
import "gogoproto/gogo.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
option (gogoproto.equal_all) = true;
import "github.com/solo-io/solo-kit/api/v1/metadata.proto";
import "github.com/solo-io/solo-kit/api/v1/status.proto";
import "github.com/solo-io/solo-kit/api/v1/ref.proto";
import "github.com/solo-io/solo-kit/api/v1/solo-kit.proto";
/*
Meshes represent a currently registered service mesh.
*/
message Mesh {
option (core.solo.io.resource).short_name = "m";
option (core.solo.io.resource).plural_name = "meshes";
// Status indicates the validation status of this resource.
// Status is read-only by clients, and set by supergloo during validation
core.solo.io.Status status = 100 [(gogoproto.nullable) = false, (gogoproto.moretags) = "testdiff:\"ignore\""];
// Metadata contains the object metadata for this resource
core.solo.io.Metadata metadata = 101 [(gogoproto.nullable) = false];
oneof mesh_type {
IstioMesh istio = 1;
}
// mtls config specifies configuration options for enabling mutual
// tls between pods in this mesh
MtlsConfig mtls_config = 2;
}
// Mesh object representing istio
message IstioMesh {
// where the istio control plane has been installed
string installation_namespace = 1;
}
// the encryption configuration that will be applied by the role
message MtlsConfig {
// whether or not mutual TLS should be enabled between pods in this mesh
bool mtls_enabled = 1;
// if set, rootCertificate will override the root certificate used by the mesh
// to encrypt mtls connections.
//
// The structure of the secret must be a standard kubernetes TLS secret
// such as can be created via `kubectl create secret tls`
//
// if mtlsEnabled is false, this field is ignored
// If deploying to Consul, Consul Connect requires that the cert and key are generated using ec, not rsa.
core.solo.io.ResourceRef root_certificate = 2;
}
message MeshGroup {
option (core.solo.io.resource).short_name = "mg";
option (core.solo.io.resource).plural_name = "meshgroups";
// Status indicates the validation status of this resource.
// Status is read-only by clients, and set by supergloo during validation
core.solo.io.Status status = 100 [(gogoproto.nullable) = false, (gogoproto.moretags) = "testdiff:\"ignore\""];
// Metadata contains the object metadata for this resource
core.solo.io.Metadata metadata = 101 [(gogoproto.nullable) = false];
// the meshes contained in this group
repeated core.solo.io.ResourceRef meshes = 3;
}
You can’t perform that action at this time.