mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 18:17:35 +00:00
feat: block instances (#7129)
* docs: fix init description typos
* feat: block instances using limits
* translate
* unit tests
* fix translations
* redirect /ui/login
* fix http interceptor
* cleanup
* fix http interceptor
* fix: delete cookies on gateway 200
* add integration tests
* add command test
* docs
* fix integration tests
* add bulk api and integration test
* optimize bulk set limits
* unit test bulk limits
* fix broken link
* fix assets middleware
* fix broken link
* validate instance id format
* Update internal/eventstore/search_query.go
Co-authored-by: Livio Spring <livio.a@gmail.com>
* remove support for owner bulk limit commands
* project limits to instances
* migrate instances projection
* Revert "migrate instances projection"
This reverts commit 214218732a
.
* join limits, remove owner
* remove todo
* use optional bool
* normally validate instance ids
* use 302
* cleanup
* cleanup
* Update internal/api/grpc/system/limits_converter.go
Co-authored-by: Livio Spring <livio.a@gmail.com>
* remove owner
* remove owner from reset
---------
Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
@@ -458,6 +458,41 @@ service SystemService {
|
||||
};
|
||||
}
|
||||
|
||||
// Sets many instance level limits
|
||||
rpc BulkSetLimits(BulkSetLimitsRequest) returns (BulkSetLimitsResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/instances/limits/_bulk"
|
||||
body: "*"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "system.limits.write";
|
||||
};
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: ["Usage Control", "Limits"];
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "Instance limits set";
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
key: "400";
|
||||
value: {
|
||||
description: "At least one limit must be specified for each instance";
|
||||
schema: {
|
||||
json_schema: {
|
||||
ref: "#/definitions/rpcStatus";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Resets instance level limits
|
||||
rpc ResetLimits(ResetLimitsRequest) returns (ResetLimitsResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -769,12 +804,27 @@ message SetLimitsRequest {
|
||||
description: "auditLogRetention limits the number of events that can be queried via the events API by their age. A value of '0s' means that all events are available. If this value is set, it overwrites the system default.";
|
||||
}
|
||||
];
|
||||
optional bool block = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "if block is true, requests are responded with a resource exhausted error code.";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
message SetLimitsResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message BulkSetLimitsRequest {
|
||||
repeated SetLimitsRequest limits = 1;
|
||||
}
|
||||
|
||||
message BulkSetLimitsResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
repeated zitadel.v1.ObjectDetails target_details = 2;
|
||||
}
|
||||
|
||||
message ResetLimitsRequest {
|
||||
string instance_id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
Reference in New Issue
Block a user