2
0

controller.proto 897 B

12345678910111213141516171819202122232425262728293031323334353637
  1. syntax = "proto3";
  2. import "kubemodel/diagnostic.proto";
  3. import "google/protobuf/timestamp.proto";
  4. package kubemodel;
  5. option go_package = "github.com/opencost/opencost/core/pkg/model/pb/kubemodel";
  6. enum ControllerKind {
  7. KIND_UNSPECIFIED = 0;
  8. DEPLOYMENT = 1;
  9. STATEFULSET = 2;
  10. DAEMONSET = 3;
  11. JOB = 4;
  12. CRONJOB = 5;
  13. REPLICASET = 6;
  14. }
  15. // Controller represents a Kubernetes workload controller
  16. message Controller {
  17. // Identification
  18. string ID = 1;
  19. string namespaceID = 2;
  20. // Properties
  21. string name = 3;
  22. ControllerKind kind = 4;
  23. map<string, string> labels = 5;
  24. map<string, string> annotations = 6;
  25. // Resource lifecycle (only when different from cluster window)
  26. optional google.protobuf.Timestamp creationTime = 7;
  27. optional google.protobuf.Timestamp deletionTime = 8;
  28. // Diagnostic information about this resource
  29. optional DiagnosticResult diagnostic = 99;
  30. }