Documentation > Administration > Third-Party Repository Management

Third-Party Repository Management

Managing third-party package repositories on individual hosts through the SysManage web interface.

Overview

SysManage provides a graphical interface for managing third-party package repositories on individual hosts. This feature allows administrators to view, add, enable, disable, and remove repositories like Ubuntu PPAs, Fedora COPR repositories, openSUSE OBS repositories, macOS Homebrew taps, FreeBSD/NetBSD custom repositories, and Windows Chocolatey sources directly from the web UI.

Key Capabilities

  • View Current Repositories: See all third-party repositories currently configured on a host
  • Add Repositories: Add new repositories using OS-specific formats (PPA, COPR, OBS, Homebrew taps, etc.)
  • Enable/Disable: Toggle repositories on and off without removing them
  • Remove Repositories: Delete unwanted repositories from the host
  • Multi-Platform Support: Works across Debian/Ubuntu, RHEL/Fedora/CentOS, openSUSE/SLES, FreeBSD, NetBSD, macOS, and Windows
  • Real-Time Updates: Changes are sent to the host agent and applied immediately

⚠️ Important Notes

  • This feature requires the host to be in privileged mode (running as root/administrator)
  • You must have appropriate security role permissions (ADD_THIRD_PARTY_REPOSITORY, DELETE_THIRD_PARTY_REPOSITORY, etc.)
  • OpenBSD does not support third-party repositories and this feature is not available for OpenBSD hosts
  • Changes are applied per-host - this is not a centralized fleet-wide repository management tool

Accessing the Feature

The third-party repository management interface is accessed from the Host Detail page:

  1. Navigate to the Hosts page in the SysManage web UI
  2. Click on a host to open its detail page
  3. Scroll to the Third-Party Repositories section
  4. If the host is in privileged mode, you'll see the repository management interface

If you don't see the third-party repositories section, ensure:

  • The host agent is running in privileged mode (root/administrator)
  • You have the necessary security permissions
  • The host is not running OpenBSD

Supported Repository Formats by Operating System

Ubuntu / Debian - PPA (Personal Package Archives)

PPAs are the standard way to add third-party repositories on Ubuntu systems.

Adding a PPA

  • PPA Owner: The username of the PPA owner (e.g., "deadsnakes")
  • PPA Name: The name of the PPA (e.g., "ppa")
  • Result: ppa:deadsnakes/ppa

Example: To add the popular deadsnakes PPA for Python versions, enter:

  • PPA Owner: deadsnakes
  • PPA Name: ppa

Fedora / RHEL / CentOS - COPR

COPR (Cool Other Package Repo) is Fedora's community repository system.

Adding a COPR Repository

  • COPR Owner: The COPR project owner (e.g., "@dotnet-sig")
  • COPR Project: The project name (e.g., "dotnet")
  • Result: @dotnet-sig/dotnet

Example: To add the .NET COPR repository:

  • COPR Owner: @dotnet-sig
  • COPR Project: dotnet

openSUSE / SLES - OBS (Open Build Service)

OBS repositories provide additional packages for SUSE-based systems.

Adding an OBS Repository

  • Base URL: Usually https://download.opensuse.org/repositories/
  • Project Path: The OBS project path (e.g., "devel:/languages:/python")
  • Distribution Version: Your distribution version (e.g., "openSUSE_Leap_15.5")
  • Repository Name: A name for the repository (e.g., "python-devel")

Example: To add Python development packages from OBS:

  • Base URL: https://download.opensuse.org/repositories/
  • Project Path: devel:/languages:/python
  • Distribution Version: openSUSE_Leap_15.5
  • Repository Name: python-devel

macOS - Homebrew Taps

Taps are third-party Homebrew repositories hosted on GitHub or other Git servers.

Adding a Homebrew Tap

  • Tap User: The GitHub username (e.g., "homebrew")
  • Tap Repo: The tap repository name (e.g., "cask-versions")
  • Result: homebrew/cask-versions

Example: To add the Homebrew cask-versions tap:

  • Tap User: homebrew
  • Tap Repo: cask-versions

FreeBSD - pkg Repositories

Custom pkg repositories provide additional packages for FreeBSD.

Adding a pkg Repository

  • Repository Name: A name for your repository (e.g., "custom-repo")
  • Repository URL: The full URL to the repository

Example: To add a custom FreeBSD repository:

  • Repository Name: mycompany
  • Repository URL: https://pkg.mycompany.com/freebsd/${ABI}/latest

NetBSD - pkgsrc Repositories

Custom pkgsrc repositories for NetBSD binary packages.

Adding a pkgsrc Repository

  • Repository Name: A name for your repository
  • Repository URL: The full URL to the repository

Windows - Chocolatey Sources

Add custom Chocolatey package sources for Windows hosts.

Adding a Chocolatey Source

  • Source Type: Usually "chocolatey"
  • Source Name: A name for the source (e.g., "company-repo")
  • Source URL: The URL to your Chocolatey feed

Example: To add a private company Chocolatey repository:

  • Source Type: chocolatey
  • Source Name: company-internal
  • Source URL: https://chocolatey.company.com/repository

Using the Web Interface

Viewing Current Repositories

The repository list shows all currently configured third-party repositories on the host:

  • Name: The repository identifier
  • Type: The repository type (ppa, copr, obs, tap, etc.)
  • URL: The repository URL (if applicable)
  • Enabled: Whether the repository is currently enabled
  • File Path: The configuration file location on the host

The list auto-refreshes every 30 seconds to show current status.

Adding a New Repository

  1. Click the "Add Repository" button
  2. The dialog will show fields appropriate for your host's operating system
  3. Fill in the required fields (see supported formats above)
  4. The constructed repository string will be shown as you type
  5. Click "Add" to send the command to the host agent
  6. The repository list will refresh automatically after a few seconds

Enabling or Disabling Repositories

  1. Select one or more repositories from the list
  2. Click "Enable Selected" or "Disable Selected"
  3. Confirm the action in the dialog
  4. The changes will be applied to the host immediately

Note: Disabling a repository keeps it configured but prevents package managers from using it.

Removing Repositories

  1. Select one or more repositories from the list
  2. Click "Delete Selected"
  3. Confirm the deletion in the dialog
  4. The repositories will be permanently removed from the host

Warning: This permanently removes the repository configuration files from the host.

Refreshing the List

Click the "Refresh" button to manually update the repository list. The list also auto-refreshes every 30 seconds.

Required Permissions

To use third-party repository management features, users need specific security role permissions:

  • ADD_THIRD_PARTY_REPOSITORY: Required to add new repositories
  • DELETE_THIRD_PARTY_REPOSITORY: Required to remove repositories
  • ENABLE_THIRD_PARTY_REPOSITORY: Required to enable repositories
  • DISABLE_THIRD_PARTY_REPOSITORY: Required to disable repositories

Users without these permissions will see the repository list but won't be able to make changes.

Best Practices

Security Considerations

  • Verify Sources: Only add repositories from trusted sources you verify
  • Test First: Test new repositories on non-production hosts first
  • Document Purpose: Keep external documentation of why each repository was added
  • Regular Audits: Periodically review configured repositories and remove unused ones
  • Monitor Changes: Use SysManage's audit logging to track repository changes

Operational Best Practices

  • Limit Repositories: Only add repositories that are actually needed
  • Disable Rather Than Delete: Disable repositories temporarily instead of deleting if you might need them later
  • Check Compatibility: Ensure repositories match your exact OS version
  • Update After Adding: Run package updates after adding new repositories

Troubleshooting

Repository Section Not Visible

Symptoms: Third-party repositories section doesn't appear on Host Detail page

Solutions:

  • Verify the host agent is running in privileged mode (root/administrator)
  • Check that your user account has the required permissions
  • Confirm the host is not running OpenBSD (not supported)
  • Ensure the host is approved and connected

Repository Addition Fails

Symptoms: Error message when trying to add a repository

Solutions:

  • Verify the repository format is correct for the operating system
  • Check that the repository URL is accessible from the host
  • Ensure you have ADD_THIRD_PARTY_REPOSITORY permission
  • Review the error message for specific details
  • Check the host agent logs for more information

Changes Not Appearing

Symptoms: Repository added/removed but not shown in list

Solutions:

  • Wait a few seconds for the host agent to process the command
  • Click the Refresh button to manually update the list
  • Check the host's WebSocket connection status
  • Verify no network issues between server and agent

Permission Denied Errors

Symptoms: "Permission denied" errors when making changes

Solutions:

  • Verify you have the appropriate security role permissions
  • Contact your SysManage administrator to grant permissions
  • Ensure the host agent is running with sufficient privileges

Known Limitations

  • OpenBSD Not Supported: OpenBSD does not support third-party repositories by design
  • Privileged Mode Required: The host agent must be running as root/administrator
  • Per-Host Only: This is not a fleet-wide repository management tool - changes apply only to the selected host
  • No Bulk Operations: You cannot add the same repository to multiple hosts simultaneously through this interface
  • Platform-Specific: Each OS has different repository formats and requirements