Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
syntax = "proto3";
package core.solo.io;
option go_package = "github.com/solo-io/solo-kit/pkg/api/v1/resources/core";
import "extproto/ext.proto";
option (extproto.hash_all) = true;
option (extproto.equal_all) = true;
option (extproto.clone_all) = true;
import "google/protobuf/struct.proto";
/**
* NamespacedStatuses indicates the Status of a resource according to each controller.
* NamespacedStatuses are meant to be read-only by users
*/
message NamespacedStatuses {
// Mapping from namespace to the Status written by the controller running in that namespace.
map<string, Status> statuses = 1;
}
/**
* Status indicates whether a resource has been (in)validated by a reporter in the system.
* Statuses are meant to be read-only by users
*/
message Status {
enum State {
// Pending status indicates the resource has not yet been validated
Pending = 0;
// Accepted indicates the resource has been validated
Accepted = 1;
// Rejected indicates an invalid configuration by the user
// Rejected resources may be propagated to the xDS server depending on their severity
Rejected = 2;
// Warning indicates a partially invalid configuration by the user
// Resources with Warnings may be partially accepted by a controller, depending on the implementation
Warning = 3;
}
// State is the enum indicating the state of the resource
State state = 1;
// Reason is a description of the error for Rejected resources. If the resource is pending or accepted, this field will be empty
string reason = 2;
// Reference to the reporter who wrote this status
string reported_by = 3;
// Reference to statuses (by resource-ref string: "Kind.Namespace.Name") of subresources of the parent resource
map<string, Status> subresource_statuses = 4;
// Opaque details about status results
google.protobuf.Struct details = 5;
}