This guide will help you install Git Provider Sync on your computer. We’ll explain each step in simple terms and include information about security features.
-
Go to the Releases page on GitHub.
-
Look for the latest version.
-
Download the file that matches your computer type (we’ll help you choose in the next section).
Choose the option that matches your Linux system:
-
Using package managers (easier method):
-
For Ubuntu or Debian-like systems: Download the
.deb
file and install it with:sudo apt install ./path-to-downloaded-file.deb
-
For Fedora or Red Hat-like systems: Download the
.rpm
file and install it with:sudo dnf install ./path-to-downloaded-file.rpm
-
For Alpine Linux: Download the
.apk
file and install it with:apk add --allow-untrusted ./path-to-downloaded-file.apk
-
-
Using pre-compiled binaries:
-
Download the
.tar.gz
file that ends withlinux_amd64.tar.gz
for most computers, orlinux_arm64.tar.gz
for some newer or smaller computers. -
Extract the file and run the program from there.
-
-
Download the file ending with
darwin_amd64.tar.gz
for older Macs, ordarwin_arm64.tar.gz
for newer Macs with M1 or M2 chips. -
Extract the file and run the program from there.
-
Choose the file that matches your BSD variant (DragonFly, Free, Net, or Open) and computer type (usually
amd64
orarm64
). -
Download and extract the file, then run the program from there.
Git Provider Sync is not planned to be released for Windows. If you need to use it on a Windows computer, you can use the Windows Subsystem for Linux (WSL) and follow the Linux installation steps.
If you’re familiar with Docker or Podman, you can run Git Provider Sync without installing it directly:
podman run --rm -it \
-v ${PWD}/gitprovidersync.yaml:/usr/bin/gitprovidersync.yaml \
ghcr.io/itiquette/gitprovidersync:<version> sync \
--config-file /usr/bin/gitprovidersync.yaml
To make sure your download is safe and hasn’t been tampered with:
-
Download the
gitprovidersync_checksums_sha256.txt
file. -
Use a checksum tool to verify that the file you downloaded matches the checksum in this file.
Note
|
You don’t need to understand or read this part, it is intended for someone with a special interest in Security. |
Git Provider Sync includes several security features to ensure the integrity and authenticity of your download.
-
SBOM (Software Bill of Materials): Each release includes SBOM files in JSON format (e.g.,
gitprovidersync<version>_<arch>.sbom.json
). These files list all the components and dependencies used in the software. -
Checksums and Signatures:
-
gitprovidersync_checksums_sha256.txt
: Contains SHA256 checksums for all release files. -
gitprovidersync_checksums_sha256.txt.pem
: A public certificate for verifying the signature. -
gitprovidersync_checksums_sha256.txt.sig
: A signature file for Cosign verification.
-
-
SLSA Level 3 Attestation:
-
multiple.intoto.jsonl
: This file provides signed provenance for attestation, which helps verify the build process.
-
These features allow you to:
-
Check the integrity of your download
-
Confirm that the build is reproducible
-
Validate the software’s dependencies
Git Provider Sync includes several features to ensure the integrity, authenticity, and transparency of your download. Let’s explore these in more detail:
- What it is
-
An SBOM is like a detailed ingredient list for software. It lists all components, libraries, and dependencies used in Git Provider Sync.
- File format
-
gitprovidersync<version>_<arch>.sbom.json
- Why it’s important
-
-
Transparency: You can see exactly what’s in the software.
-
Security: Helps identify if any components have known vulnerabilities.
-
Compliance: Useful for organizations that need to track software components.
-
- How to use it
-
You can review the SBOM using tools like SPDX or CycloneDX viewers. This is especially useful for security teams or curious users who want to know more about the software’s composition.
- Checksums file
-
gitprovidersync_checksums_sha256.txt
-
Contains SHA256 checksums for all release files.
-
Use it to verify the integrity of your download.
-
- Public certificate
-
gitprovidersync_checksums_sha256.txt.pem
-
Used to verify the signature of the checksums file.
-
- Signature file
-
gitprovidersync_checksums_sha256.txt.sig
-
Used with Cosign for advanced verification.
-
- Why they’re important
-
-
Integrity: Ensures your download hasn’t been tampered with.
-
Authenticity: Confirms the software comes from the legitimate source.
-
- How to use them
-
-
Calculate the SHA256 checksum of your downloaded file.
-
Compare it with the corresponding checksum in the
.txt
file. -
For advanced users: Use Cosign to verify the signature, ensuring the checksums file itself is authentic.
-
- What it is
-
SLSA is a security framework to prevent tampering, improve integrity, and secure packages and infrastructure in your projects, businesses or enterprises.
- File
-
multiple.intoto.jsonl
- Why it’s important
-
-
Build Integrity: Ensures the software was built in a secure and controlled environment.
-
Tamper Protection: Makes it extremely difficult for attackers to insert malicious code during the build process.
-
Traceability: Provides a verifiable record of how, when, and where the software was built.
-
- What Level 3 means
-
-
The build process is fully scripted/automated and hermetic.
-
The source is version controlled and checked for reviews.
-
The build generates provenance explaining how the artifact was created.
-
- How to use it
-
-
Advanced users can use SLSA verification tools to check the provenance and ensure it meets Level 3 requirements.
-
This is particularly important for enterprise environments or security-conscious users.
-
While these security features might seem complex, they work together to provide several layers of protection:
-
Transparency: The SBOM lets you see what’s in the software.
-
Integrity: Checksums ensure your download matches the original file.
-
Authenticity: Signatures prove the software comes from the legitimate source.
-
Build Security: SLSA attestation confirms the software was built securely.
For most users, simply checking the checksum is a good start. For those with higher security requirements, utilizing all these features provides a comprehensive security approach.
For a basic check:
-
Download the
gitprovidersync_checksums_sha256.txt
file. -
Use a checksum tool to calculate the SHA256 hash of your downloaded Git Provider Sync file.
-
Compare your calculated hash with the one in the checksums file. They should match exactly.
For advanced verification:
-
Use Cosign to verify the signature of the checksums file.
-
Use SLSA verification tools to check the build provenance.
-
Review the SBOM to understand all components included in the software.
Remember, You don’t need to understand or use all these features.