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:
- Navigate to the Hosts page in the SysManage web UI
- Click on a host to open its detail page
- Scroll to the Third-Party Repositories section
- 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
- Click the "Add Repository" button
- The dialog will show fields appropriate for your host's operating system
- Fill in the required fields (see supported formats above)
- The constructed repository string will be shown as you type
- Click "Add" to send the command to the host agent
- The repository list will refresh automatically after a few seconds
Enabling or Disabling Repositories
- Select one or more repositories from the list
- Click "Enable Selected" or "Disable Selected"
- Confirm the action in the dialog
- 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
- Select one or more repositories from the list
- Click "Delete Selected"
- Confirm the deletion in the dialog
- 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.
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