diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2021-08-24 09:11:29 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2021-08-24 09:11:29 +0300 |
commit | 4d1c5cc7f927a3da7a997f48b996fbdf9579b047 (patch) | |
tree | b11abb389b4ff0a9b9c99005d99791169237ba5d /proto/repository-service.proto | |
parent | bb2e3f4a916f031f38c9fb1c4fc955f50f0e4275 (diff) |
repository: Deprecate `SetConfig()` RPC
With the `SetConfig()` RPC, we used to allow Rails to modify the on-disk
config of a Git repository. As a result, we have on-disk state that is
hard to observe for Gitaly and which can lead to hard-to-debug issues
when the config contains unexpected entries. We have thus worked towards
the goal of having complete control over the gitconfig in Gitaly:
- Users of on-disk remotes now use in-memory ones.
- JWT tokens are passed via header fields in requests which fetch
objects from a remote repository, where the token is injected via
environment variables.
- The last valid usecase of modifying the gitconfig is to set
"gitlab.fullpath". This usecase has since grown its own RPC call
`SetFullPath()`.
As a result, we don't have any users left which call either
`SetConfig()` or `DeleteConfig()`. This commit thus marks both as
deprecated so we can remove them in the next release.
Changelog: deprecation
Diffstat (limited to 'proto/repository-service.proto')
-rw-r--r-- | proto/repository-service.proto | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/proto/repository-service.proto b/proto/repository-service.proto index 3e8f11338..bc4b6f245 100644 --- a/proto/repository-service.proto +++ b/proto/repository-service.proto @@ -142,13 +142,23 @@ service RepositoryService { }; } + // SetConfig writes a set of config entries into the target repository's + // gitconfig. This RPC is deprecated with no general replacement: modifying + // the on-disk gitconfig is not supported anymore. The only usecase that is + // still supported is writing "gitlab.fullpath" via the new `SetFullPath()` + // RPC. rpc SetConfig(SetConfigRequest) returns (SetConfigResponse) { + option deprecated = true; option (op_type) = { op: MUTATOR }; } + // DeleteConfig deletes a set of config entries from the target repository's + // gitconfig. This RPC is deprecated with no replacement: modifying the + // on-disk gitconfig is not supported anymore. rpc DeleteConfig(DeleteConfigRequest) returns (DeleteConfigResponse) { + option deprecated = true; option (op_type) = { op: MUTATOR }; |