Code Monkey home page Code Monkey logo

gitaly's Introduction

Gitaly

build status Gem Version coverage report

Quick Links: Migration Board | Open Conversations | Unassigned Conversations | Migrations | Want to Contribute? | GitLab Gitaly Issues | GitLab Gitaly Merge Requests |


Gitaly is a Git RPC service for handling all the git calls made by GitLab.

To see where it fits in please look at GitLab's architecture

Gitaly is still under development. We expect it to become a standard component of GitLab in Q1 2017 and to reach full scope in Q3 2017.

Project Goals

Make the git data storage tier of large GitLab instances, and GitLab.com in particular, fast.

This will be achieved by focusing on two areas (in this order):

  1. Move git operations as close to the data as possible
    • Migrate from git operations on workers, accessing git data over NFS to Gitaly services running on file-servers accessing git data on local drives (See our test results)
    • Ultimately, this will lead to all git operations occurring via the Gitaly service and the removal of the need for NFS access to git volumes.
  2. Optimize git services using caching and other techniques

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.

If you're interested in seeing how well Gitaly is performing on GitLab.com, we have dashboards!

Overall

image

By Feature

image

Migrations

The progress of Gitaly's endpoint migrations is tracked via the Migration Board

Installation

Gitaly requires Go 1.8 or newer and Ruby 2.3. Run make to download and compile Ruby dependencies, and to compile the Gitaly Go executable.

Gitaly uses git. Version 2.13.0 is recommended, and 2.8.4 at a minimum.

Configuration

See configuration documentation

Contributing

See CONTRIBUTING.md.

Name

Gitaly is a tribute to git and the town of Aly. Where the town of Aly has zero inhabitants most of the year we would like to reduce the number of disk operations to zero for most actions. It doesn't hurt that it sounds like Italy, the capital of which is the destination of all roads. All git actions in GitLab end up in Gitaly.

Design

High-level architecture overview:

Gitaly Architecture

Edit this diagram directly in Google Drawings

Presentations

gitaly's People

Contributors

jacobvosmaer avatar suprememoocow avatar ahmadsherif avatar ikbenale avatar pcarranza avatar bkcsoft avatar dosire avatar bbodenmiller avatar zjvandeweg avatar jobv avatar lukeshu avatar stanhu avatar

Watchers

James Cloos avatar 0x1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.