gittuf

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

README

gittuf

OpenSSF Best Practices

gittuf provides a security layer for Git using some concepts introduced by The Update Framework (TUF). Among other features, gittuf handles key management for all developers on the repository, allows you to set permissions for repository branches, tags, files, etc., lets you use new cryptographic algorithms (SHA256, etc.), protects against other attacks Git is vulnerable to, and more — all while being backwards compatible with GitHub, GitLab, etc.

gittuf is a sandbox project at the Open Source Security Foundation (OpenSSF) as part of the Supply Chain Integrity Working Group.

Current Status

gittuf is currently approaching an alpha release. It is NOT intended for use in a production system or repository. Contributions are welcome, please refer to the contributing guide. Some of the features listed above are being actively developed, please refer to the roadmap and the issue tracker for more details.

Installation

gittuf requires Go 1.21 or higher.

Currently, gittuf needs to be built from source. After cloning the repository, run make. This will also run the test suite prior to installing gittuf.

$ git clone https://github.com/gittuf/gittuf
$ cd gittuf
$ make

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
rsl
third_party/go-git
A highly extensible git implementation in pure Go.
A highly extensible git implementation in pure Go.
third_party/go-git/config
Package config contains the abstraction of multiple config files
Package config contains the abstraction of multiple config files
third_party/go-git/internal/revision
Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html
Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html
third_party/go-git/plumbing
package plumbing implement the core interfaces and structs used by go-git
package plumbing implement the core interfaces and structs used by go-git
third_party/go-git/plumbing/format/config
Package config implements encoding and decoding of git config files.
Package config implements encoding and decoding of git config files.
third_party/go-git/plumbing/format/gitignore
Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition priorities.
Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition priorities.
third_party/go-git/plumbing/format/idxfile
Package idxfile implements encoding and decoding of packfile idx files.
Package idxfile implements encoding and decoding of packfile idx files.
third_party/go-git/plumbing/format/index
Package index implements encoding and decoding of index format files.
Package index implements encoding and decoding of index format files.
third_party/go-git/plumbing/format/objfile
Package objfile implements encoding and decoding of object files.
Package objfile implements encoding and decoding of object files.
third_party/go-git/plumbing/format/packfile
Package packfile implements encoding and decoding of packfile format.
Package packfile implements encoding and decoding of packfile format.
third_party/go-git/plumbing/format/pktline
Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads.
Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads.
third_party/go-git/plumbing/hash
package hash provides a way for managing the underlying hash implementations used across go-git.
package hash provides a way for managing the underlying hash implementations used across go-git.
third_party/go-git/plumbing/object
Package object contains implementations of all Git objects and utility functions to work with them.
Package object contains implementations of all Git objects and utility functions to work with them.
third_party/go-git/plumbing/protocol/packp/capability
Package capability defines the server and client capabilities.
Package capability defines the server and client capabilities.
third_party/go-git/plumbing/protocol/packp/sideband
Package sideband implements a sideband mutiplex/demultiplexer
Package sideband implements a sideband mutiplex/demultiplexer
third_party/go-git/plumbing/revlist
Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command.
Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command.
third_party/go-git/plumbing/storer
Package storer defines the interfaces to store objects, references, etc.
Package storer defines the interfaces to store objects, references, etc.
third_party/go-git/plumbing/transport
Package transport includes the implementation for different transport protocols.
Package transport includes the implementation for different transport protocols.
third_party/go-git/plumbing/transport/client
Package client contains helper function to deal with the different client protocols.
Package client contains helper function to deal with the different client protocols.
third_party/go-git/plumbing/transport/file
Package file implements the file transport protocol.
Package file implements the file transport protocol.
third_party/go-git/plumbing/transport/git
Package git implements the git transport protocol.
Package git implements the git transport protocol.
third_party/go-git/plumbing/transport/http
Package http implements the HTTP transport protocol.
Package http implements the HTTP transport protocol.
third_party/go-git/plumbing/transport/internal/common
Package common implements the git pack protocol with a pluggable transport.
Package common implements the git pack protocol with a pluggable transport.
third_party/go-git/plumbing/transport/server
Package server implements the git server protocol.
Package server implements the git server protocol.
third_party/go-git/plumbing/transport/ssh
Package ssh implements the SSH transport protocol.
Package ssh implements the SSH transport protocol.
third_party/go-git/storage/filesystem
Package filesystem is a storage backend base on filesystems
Package filesystem is a storage backend base on filesystems
third_party/go-git/storage/filesystem/dotgit
https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt
https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt
third_party/go-git/storage/memory
Package memory is a storage backend base on memory
Package memory is a storage backend base on memory
third_party/go-git/utils/binary
Package binary implements sintax-sugar functions on top of the standard library binary package
Package binary implements sintax-sugar functions on top of the standard library binary package
third_party/go-git/utils/diff
Package diff implements line oriented diffs, similar to the ancient Unix diff command.
Package diff implements line oriented diffs, similar to the ancient Unix diff command.
third_party/go-git/utils/ioutil
Package ioutil implements some I/O utility functions.
Package ioutil implements some I/O utility functions.
third_party/go-git/utils/merkletrie
Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries).
Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries).
third_party/go-git/utils/merkletrie/noder
Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors).
Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors).
tuf

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL