// Represents a set of requirements that all need to be satisfied.
message RequirementSet {
MeshRequirement mesh_requirement = 1;
repeated ApplicationRequirement application_requirements = 2;
}
// Represents the requirement for a mesh to be installed.
message MeshRequirement {
// Type of mesh
MeshType mesh_type = 1;
// Range of allowed versions. If empty, any version is allowed.
AllowedVersions versions = 2;
}
message ApplicationRequirement {
string name = 1;
AllowedVersions versions = 2;
}
Then in the registry we could do something like this:
To install istio as an application (see https://github.com/solo-io/service-mesh-hub/issues/44), we need to be able to model the fact that we need to install "istio-init" before installing "istio".
We could model it like this, for example:
Then in the registry we could do something like this: