Forge Package Repository

Forge Package Repository

Arch Linux packages for the Forge Infrastructure Management System.

Available Packages

Quick Setup

1. Add GPG Keys

# Import both signing keys (some packages use different keys)
curl -O https://pkg.forge.meshping.net/formation-signing-key.asc
curl -O https://pkg.forge.meshping.net/forge-signing-key.asc
sudo pacman-key --add formation-signing-key.asc
sudo pacman-key --add forge-signing-key.asc
sudo pacman-key --lsign-key 3FEF1F69868D3E4B42FDBDA2B887956FB5D8B0C6
sudo pacman-key --lsign-key A54F639C38CE89BF5F1495FF40EB70E3A6B0402B

2. Add Repository

Add to /etc/pacman.conf:

[forge]
Server = https://pkg.forge.meshping.net/
SigLevel = Required

3. Install Packages

# Update package database
sudo pacman -Sy

# Install forge components
sudo pacman -S forge-agent forge-config forge-docs

Manual Repository Setup

To set up your own repository mirror:

  1. Build packages (from /src/forge/):

    ./scripts/build-forge-repo.sh
  2. Copy repository files:

    # Copy all repository files to your web server
    rsync -av /shared/forge/packages/ your-server:/path/to/repo/
  3. Update clients to use your server URL in /etc/pacman.conf

Repository Structure

/shared/forge/packages/
├── forge.db.tar.zst           # Package database
├── forge.files.tar.zst        # File database  
├── formation-signing-key.asc  # Formation GPG signing key
├── forge-signing-key.asc      # Forge GPG signing key
├── forge-agent-0.4.5-1-x86_64.pkg.tar.zst
├── forge-config-1.3.1-1-x86_64.pkg.tar.zst
├── forge-docs-0.1.0-1-x86_64.pkg.tar.zst
└── *.sig                      # Package signatures

Package Verification

All packages are signed with GPG. To verify manually:

# Verify signature
gpg --verify forge-agent-0.4.5-1-x86_64.pkg.tar.zst.sig

# Check package integrity  
pacman -Qkk forge-agent