Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
perxis-proto
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
12
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
perxis
perxis-proto
Commits
8c4815fc
Commit
8c4815fc
authored
1 year ago
by
Alena Petraki
Browse files
Options
Downloads
Patches
Plain Diff
Добавлена документация по логике работы миграции окружения и входящих в него коллекций
parent
f000812a
No related branches found
No related tags found
1 merge request
!13
Добавлена документация по логике работы миграции окружения и входящих в него коллекций
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
proto/clients/clients.proto
+1
-6
1 addition, 6 deletions
proto/clients/clients.proto
proto/collections/collections.proto
+27
-1
27 additions, 1 deletion
proto/collections/collections.proto
proto/environments/environments.proto
+8
-0
8 additions, 0 deletions
proto/environments/environments.proto
with
36 additions
and
7 deletions
proto/clients/clients.proto
+
1
−
6
View file @
8c4815fc
...
@@ -36,12 +36,7 @@ message Client {
...
@@ -36,12 +36,7 @@ message Client {
// Приложение отключено и не может авторизоваться
// Приложение отключено и не может авторизоваться
optional
bool
disabled
=
7
;
optional
bool
disabled
=
7
;
// // Приложение имеет доступ к указанным окружениям пространства (ID или Alias)
// Идентификатор роли клиента
// repeated string environments = 8;
//
// // Список правил доступа к коллекциям
// repeated common.Rule rules = 9;
string
role_id
=
8
;
string
role_id
=
8
;
OAuth
oauth
=
10
;
OAuth
oauth
=
10
;
...
...
This diff is collapsed.
Click to expand it.
proto/collections/collections.proto
+
27
−
1
View file @
8c4815fc
...
@@ -20,8 +20,14 @@ message Collection {
...
@@ -20,8 +20,14 @@ message Collection {
string
space_id
=
2
;
string
space_id
=
2
;
string
env_id
=
3
;
string
env_id
=
3
;
string
name
=
4
;
string
name
=
4
;
// Коллекция может содержать ровно одну запись. При работе с записью в такой коллекции идентификатор записи в
// обращениях в API можно не указывать и предполагать, что запись всегда есть (ее не нужно создавать)
optional
bool
single
=
5
;
optional
bool
single
=
5
;
optional
bool
system
=
6
;
optional
bool
system
=
6
;
// Коллекция не содержит данных. Возможно создание таких коллекций для использования как подключаемые подсхемы в
// других коллекциях
optional
bool
no_data
=
12
;
optional
bool
no_data
=
12
;
string
schema
=
7
;
string
schema
=
7
;
bool
hidden
=
13
;
bool
hidden
=
13
;
...
@@ -49,7 +55,7 @@ message Collection {
...
@@ -49,7 +55,7 @@ message Collection {
StateInfo
state_info
=
10
;
StateInfo
state_info
=
10
;
repeated
string
tags
=
16
;
repeated
string
tags
=
16
;
Access
access
=
20
;
Access
access
=
20
;
// Возможные действия с коллекцией на основе контекста запроса
}
}
message
CreateRequest
{
message
CreateRequest
{
...
@@ -110,10 +116,30 @@ message DeleteRequest {
...
@@ -110,10 +116,30 @@ message DeleteRequest {
}
}
service
Collections
{
service
Collections
{
// Создать коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Create` игнорируется
rpc
Create
(
CreateRequest
)
returns
(
CreateResponse
)
{}
rpc
Create
(
CreateRequest
)
returns
(
CreateResponse
)
{}
// Получить коллекцию. Схема коллекции возвращается полная, т.е. включая все подключаемые подсхемы, если не указано
// обратное в `GetRequest.options`
rpc
Get
(
GetRequest
)
returns
(
GetResponse
)
{}
rpc
Get
(
GetRequest
)
returns
(
GetResponse
)
{}
// Возвращает список коллекций, отсортированных в алфавитном порядке. По умолчанию не возвращает коллекции без данных
// и скрытые коллекции, подробнее см. `ListRequest.filter`
rpc
List
(
ListRequest
)
returns
(
ListResponse
)
{}
rpc
List
(
ListRequest
)
returns
(
ListResponse
)
{}
// Обновить коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Update` игнорируется
rpc
Update
(
UpdateRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
Update
(
UpdateRequest
)
returns
(
google.protobuf.Empty
)
{}
// Установить схему коллекции. По результатам вызова метода не происходит *применение* схемы - например,
// не перестраиваются индексы БД коллекции, поскольку это может быть длительный процесс. После редактирования всех
// необходимых схем окружения необходимо их применить - выполнить миграцию путем вызова метода `Environments.Migrate`.
// Если схема коллекции изменена, но миграция еще не была запущена, коллекция будет находиться в состоянии `CHANGED`.
//
// Если в процессе миграции возникли ошибки, в соответствующие коллекции в поле `Collection.state_info` будет записано
// содержание ошибки и установлено состояние `ERROR`
rpc
SetSchema
(
SetSchemaRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
SetSchema
(
SetSchemaRequest
)
returns
(
google.protobuf.Empty
)
{}
// Удалить коллекцию
rpc
Delete
(
DeleteRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
Delete
(
DeleteRequest
)
returns
(
google.protobuf.Empty
)
{}
}
}
This diff is collapsed.
Click to expand it.
proto/environments/environments.proto
+
8
−
0
View file @
8c4815fc
...
@@ -103,5 +103,13 @@ service Environments {
...
@@ -103,5 +103,13 @@ service Environments {
rpc
SetAlias
(
SetAliasRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
SetAlias
(
SetAliasRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
RemoveAlias
(
RemoveAliasRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
RemoveAlias
(
RemoveAliasRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
Delete
(
DeleteRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
Delete
(
DeleteRequest
)
returns
(
google.protobuf.Empty
)
{}
// Выполнить миграцию окружения. По умолчанию выполняется в асинхронном режиме, для синхронного выполнения можно
// передать соответствующую настройку в опциях `MigrateRequest.options`
//
// При вызове миграции:
// - выполняются миграции для всех коллекций окружения
//
// В случае возникновения ошибок миграции они записываются в поле `Environment.state`
rpc
Migrate
(
MigrateRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
Migrate
(
MigrateRequest
)
returns
(
google.protobuf.Empty
)
{}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment