Skip to content
Snippets Groups Projects
Select Git revision
  • 78fe28a1bd48d25e476e4d7954e2d15bc13cabb0
  • master default protected
  • feature/PRXS-3383-CollectionsRankSort
  • feature/PRXS-3421-3426-AddAPI
  • refactor/PRXS-3053-Files
  • docs/3247-PerxisWebCDN
  • feature/PRXS-3421-RecursiveReferences
  • feature/3146-UpdateItemStorageInterface
  • feature/3180-RemoveOldHugo
  • feature/3264-FixExtracTranslationsArrays
  • feature/3274-ObjectIndexesFixes
  • feature/2931-AllowPartialDecode
  • feature/3055-ItemsRestAPI
  • feature/3082-gitlab-triage
  • feature/3055-LogsRestAPI
  • feature/2985-add-preset-settings
  • feature/2929-MultiInvitationFix
  • feature/2929-MultiInvitation
  • docs/2889-HugoModules
  • docs/2954-CheckResource
  • docs/3012-SplitBuild
  • v0.27.0
  • v0.21.0
  • v0.19.0
  • v0.20.0
25 results

environments.proto

Blame
  • environments.proto 3.32 KiB
    syntax = "proto3";
    
    import "google/protobuf/empty.proto";
    import "google/protobuf/timestamp.proto";
    
    option go_package = "git.perx.ru/perxis/perxis-go/proto/environments;environments";
    
    package content.environments;
    
    message Environment {
      string id = 1;
      string space_id = 2;
      string description = 3;
    
      StateInfo state_info = 4;
      repeated string aliases = 6;
      Config config = 10;
    }
    
    message StateInfo {
      enum State {
        UNKNOWN = 0;
        NEW = 1;
        PREPARING = 2;
        READY = 3;
        ERROR = 4;
      }
      State state = 1;
      string info = 2;
      google.protobuf.Timestamp started_at = 3;
    }
    
    message Config {
      string source_id = 1;
    
      // Deprecated
      repeated string features = 2;
    }
    
    message CreateRequest {
      Environment env = 1;
    }
    
    message CreateResponse {
      Environment created = 1;
    }
    
    message ListRequest {
      string space_id = 1;
    }
    
    message ListResponse {
      repeated Environment envs = 1;
    }
    
    message GetRequest {
      string space_id = 1;
      string id = 2;
    }
    
    message GetResponse {
      Environment env = 1;
    }
    
    message UpdateRequest {
      Environment env = 1;
    }
    
    message SetAliasRequest {
      string space_id = 1;
      string id = 2;
      string alias  = 3;
    }
    
    message RemoveAliasRequest {
      string space_id = 1;
      string id = 2;
      string alias  = 3;
    }
    
    message DeleteRequest {
      string space_id = 1;
      string id = 2;
    }
    
    message MigrateRequest {
      string space_id = 1;
      string id = 2;
      MigrateOptions options = 10;
    }
    
    message MigrateOptions {
      // Ожидать завершения миграции в синхронном режиме. Если в запрос передан контекст с таймаутом,
      // то после истечения таймаута миграция продолжится в асинхронном режиме
      bool wait = 1; // Deprecated - миграция по умолчанию выполняется синхронно
      bool async = 2; // Выполнить миграцию в асинхронном режиме
    }
    
    service Environments {
      rpc Create(CreateRequest) returns(CreateResponse) {}
      rpc Get(GetRequest) returns(GetResponse) {}
      rpc List(ListRequest) returns(ListResponse) {}
      rpc Update(UpdateRequest) returns(google.protobuf.Empty) {}
      rpc SetAlias(SetAliasRequest) returns(google.protobuf.Empty) {}
      rpc RemoveAlias(RemoveAliasRequest) returns(google.protobuf.Empty) {}
      rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {}
    
      // Выполнить миграцию окружения. По умолчанию выполняется в синхронном режиме, для асинхронного выполнения можно
      // передать соответствующую настройку в опциях `MigrateRequest.options`
      //
      // При вызове миграции:
      // - выполняются миграции для всех коллекций окружения
      //
      // В случае возникновения ошибок миграции они записываются в поле `Environment.state`
      rpc Migrate(MigrateRequest) returns(google.protobuf.Empty) {}
    }
    
    message EnvironmentEvent {
      string space_id = 1;
      string env_id = 2;
    
      message CreateEvent {}
    
      message UpdateEvent {}
    
      message DeleteEvent {}
    
      message MigrateEvent {}
    
      oneof event {
        CreateEvent create = 101;
        UpdateEvent update = 102;
        DeleteEvent delete = 103;
        MigrateEvent migrate = 104;
      }
    }