https://github.com/cqfn/degitx
Distributed git repository manager
https://github.com/cqfn/degitx
distributed-systems git go p2p research
Last synced: 6 months ago
JSON representation
Distributed git repository manager
- Host: GitHub
- URL: https://github.com/cqfn/degitx
- Owner: cqfn
- License: mit
- Created: 2020-09-07T07:15:44.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T23:25:37.000Z (over 2 years ago)
- Last Synced: 2024-11-24T20:41:18.333Z (12 months ago)
- Topics: distributed-systems, git, go, p2p, research
- Language: TeX
- Homepage:
- Size: 21.4 MB
- Stars: 29
- Watchers: 6
- Forks: 7
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README



[](https://t.me/cqfn_degit)
DeGitX - distributed git repository manager,
see explanation in the [white paper](https://central.artipie.com/degit/wp/white-paper-latest.pdf)
or join Telegram chat to discuss: [@cqfn_degit](https://t.me/cqfn_degit).
## Build
Run `make` to build binaries, they are located at `./target` dir.
## Install
Download proper binary asset from releases page: https://github.com/cqfn/degitx/releases
(e.g. `degit_(version)_Linux_x86_64.tar.gz` for Linux64 machine).
To verify build signature, download `checksums.txt`, `checksums.txt.sig` and
import GPG by id `84292276B8D114FD450F84C0421ED823A1B750E3` from one of the keyservers, e.g.
```bash
gpg --keyserver pgp.mit.edu --recv-keys 84292276B8D114FD450F84C0421ED823A1B750E3
```
GPG public key from `degit-key.pub` repository root, then import GPG key into your GPG keychain.
After GPG import, verify checksums signature files (downloaded from release assets) using command
```bash
gpg --verify checksums.txt.sig
```
If everithing is OK, verify SHA256 hash of binary asset downloaded (ignore errors for other platform assets):
```bash
sha256sum -c checksums.txt
```
If checksum is OK, extract binary from the archive:
```bash
tar -xvzf degit_(version)_(platform).tar.gz
```
## Node Configuration
`yaml` is the only node configuration format and consist of:
- `version` - config format version
- `keys` - node crypto keys:
- `alg` - key algorithm
- `private` - private key location
- `public` - public key location
All fields are required.
### Contributing
This page will help you with contributing workflow:
https://github.com/cqfn/degitx/blob/master/CONTRIBUTING.md
To build the project use `make` command:
- `make` - install all dependencies, generate proto files, run tests and build node
- `make install-deps` - install required dependencies
- `make proto` - generate protobuf source code
- `make build` - build core package
- `make test` - run tests
- `make degitx` - build `node` binary
- `make degitx-gitaly` - build front-end binary
- `make lint` - run linters. [golangci-lint](https://golangci-lint.run/) required to be installed in advance.
- `make verify` - build, test, lint, degitx and degitx-gitaly