Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Newdigate <andrew@gitlab.com>2017-09-29 12:42:41 +0300
committerAndrew Newdigate <andrew@gitlab.com>2017-09-29 12:42:41 +0300
commitf2ba5502be96f5b5be11c9d30098cfd3002bcbb5 (patch)
tree13da25bfbfd486ed8fee7dbbe90e4ee4149e4556
parent0a014bd71c8a6786cae95159e642d056df64cd4b (diff)
Gitaly Roadmap
-rw-r--r--README.md7
-rw-r--r--doc/ROADMAP.md40
2 files changed, 46 insertions, 1 deletions
diff --git a/README.md b/README.md
index 60b5773eb..30e6023e5 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
**Quick Links**:
[**Migration Board**](https://gitlab.com/gitlab-org/gitaly/boards/331341?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Migration) |
+ [**Roadmap**](doc/ROADMAP.md) |
[Open Conversations](https://gitlab.com/gitlab-org/gitaly/issues?label_name%5B%5D=Conversation) |
[Unassigned Conversations](https://gitlab.com/gitlab-org/gitaly/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Conversation&label_name[]=To%20Do&assignee_id=0) |
[Migrations](https://gitlab.com/gitlab-org/gitaly/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Conversation&label_name[]=Migration) |
@@ -37,7 +38,11 @@ This will be achieved by focusing on two areas (in this order):
## Current Status
-Gitaly has been shipped as part of GitLab since 9.0. We are migrating git operations from in-process Rugged implementations to Gitaly service endpoints. The migration process is [documented](/doc/MIGRATION_PROCESS.md).
+Gitaly has been shipped as part of GitLab since 9.0. We are migrating git operations from in-process Rugged implementations to Gitaly service endpoints.
+
+[The roadmap is available here](doc/ROADMAP.md).
+
+The migration process is [documented](/doc/MIGRATION_PROCESS.md).
If you're interested in seeing how well Gitaly is performing on GitLab.com, we have dashboards!
diff --git a/doc/ROADMAP.md b/doc/ROADMAP.md
new file mode 100644
index 000000000..9c18f3ff0
--- /dev/null
+++ b/doc/ROADMAP.md
@@ -0,0 +1,40 @@
+# Gitaly Product Roadmap
+
+## Gitaly Version 1.0
+
+_Timeframe_: Q4 2017
+
+**GitLab.com running with 100% of Git operations going through Gitaly**: no rugged operations or git process spawns from the Ruby monolith. NFS operations/sec to git file servers down to zero.
+
+At this point, the GitLab Kubernetes Helm Charts can move towards running Gitaly as one-or-more StatefulSets. Since some features will be opt-in, these setup will be experimental.
+
+## Gitaly Version 1.1
+
+_Timeframe_: Q1 2018
+
+**All features are mandatory**. Rugged code in `Gitlab::Git` is removed from the monolith and now only exists in Gitaly-Ruby.
+
+Kubernetes Helm Charts using multiple Gitaly Git-Storage StatefulSets become standard.
+
+## Gitaly Version 2
+
+_Timeframe_: Q2 2018
+
+This milestone will focus on optimizing the Gitaly endpoints through caching, moving from spawned child processes to in-process operations where appropriate.
+
+## Future Plans
+
+Once Gitaly is complete and fast, many new features can be added, but have yet to undergo prioritization:
+
+In no particular order.
+
+* **Multiple replicas** of Git data, for high-availability
+* **Repository repair**: fix missing refs, remove old tmp files etc
+* Automatic **fault detection** and auto-migration of git data to healthy servers
+* **Shared object databases** for optimized file storage requirements
+* **Object-storage blob-store** backend option
+* Per-user, per-group, per-repo CPU IOPS Memory resource **accounting** and **limiting**
+* Auto **shard rebalancing** of repositories across replica sets based on accounting
+* **Microsoft Git Virtual File System** support: https://gitlab.com/gitlab-org/gitlab-ce/issues/27895
+* **Git-optimized indexing**. Customized indexing solution would allow us to index _all_ branches of a repository in time+cpu efficient manner.
+* **Clonebundle support** for fast, efficient clones to specialized clients (for example, Gitlab CI): https://gitlab.com/gitlab-org/gitaly/issues/610