This is the package repository for the PingPlotter Cloud Linux agent. Install the setup package for your system, then install the agent.
curl -fsSLO https://packages.pingman.com/pingplotter-repo.deb sudo dpkg -i pingplotter-repo.deb sudo apt-get update sudo apt-get install pingplotter.agent
curl -fsSLO https://packages.pingman.com/pingplotter-repo.rpm sudo rpm -i pingplotter-repo.rpm sudo dnf install pingplotter.agent
The setup package installs the signing key and the repository configuration. That's all that's in it: no executable code, no part of the agent. For setting up the agent itself, see the Linux agent documentation.
Repository metadata and rpm packages are signed. The public key is at
/pingplotter-agent-signing-key.asc,
and the fingerprints are under "Verifying downloads" below.
Packages are published for x86_64, aarch64 and
32-bit Arm (armhf). The agent needs glibc 2.27 or newer (2.34 on
32-bit Arm), which comes from the
.NET
runtime it's built on. In practice:
Debian 10 and later Ubuntu 18.04 LTS and later Raspberry Pi OS bullseye and later (bookworm on 32-bit) RHEL / CentOS Stream 8 and later AlmaLinux / Rocky 8 and later Fedora 28 and later Amazon Linux 2023 and later
This list is longer than Microsoft's .NET support table. Theirs covers what they actively test; since the agent bundles its own runtime, what matters here is the glibc floor, and older releases above it work fine.
The packages declare the glibc requirement as a dependency, so on an older system the install fails with a clear error instead of installing an agent that can't start. CentOS 7 and Amazon Linux 2 are below the line and aren't supported.
If you'd rather not install the setup package, these commands do the same thing. The end result is identical: the key and one repo config file.
The key goes in /usr/share/keyrings rather than
/etc/apt/keyrings so a future key rotation is a normal package
update instead of a conffile prompt.
sudo install -d -m 755 /usr/share/keyrings
sudo curl -fsSL https://packages.pingman.com/pingplotter-agent-signing-key.asc \
-o /usr/share/keyrings/pingplotter.asc
sudo tee /etc/apt/sources.list.d/pingplotter.list >/dev/null <<'EOF'
deb [signed-by=/usr/share/keyrings/pingplotter.asc] https://packages.pingman.com/apt stable main
EOF
sudo apt-get update
sudo install -d -m 755 /etc/pki/rpm-gpg
sudo curl -fsSL https://packages.pingman.com/pingplotter-agent-signing-key.asc \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-pingplotter
sudo tee /etc/yum.repos.d/pingplotter.repo >/dev/null <<'EOF'
[pingplotter]
name=PingPlotter Agent
baseurl=https://packages.pingman.com/yum/stable/
enabled=1
repo_gpgcheck=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pingplotter
EOF
If you set this repository up before we signed it, you also have an old
entry using [trusted=yes] (apt) or gpgcheck=0 (yum).
Disable that one. While it's active, your package manager can still install
from the unsigned path.
The signing key:
pub rsa4096 [C] 7496 060E 3434 DD31 1788 C514 9C87 E961 9B54 9CF8 uid Pingman Tools, LLC (PingPlotter package signing) <info@pingman.com> sub rsa4096 [S] 3894 5FED 3D9E 10C7 E4EA C0C9 F5B4 3CC9 374B 3741
Depending on your tool, you'll see one fingerprint or the other on import: gpg, dnf5 and yum show the first, dnf4 (RHEL 9 family) shows the second. Both are the same key. To check it (ideally also against a second source, since this page and the key come from the same server):
curl -fsSL https://packages.pingman.com/pingplotter-agent-signing-key.asc | gpg --show-keys
The setup packages have a signed checksum list:
gpg --import <(curl -fsSL https://packages.pingman.com/pingplotter-agent-signing-key.asc) curl -fsSLO https://packages.pingman.com/SHA256SUMS curl -fsSLO https://packages.pingman.com/SHA256SUMS.asc gpg --verify SHA256SUMS.asc SHA256SUMS sha256sum -c --ignore-missing SHA256SUMS
The repository indexes are signed the same way, and every package is checksummed inside the index, so a verified index covers the packages too:
curl -fsSLO https://packages.pingman.com/apt/dists/stable/InRelease gpg --verify InRelease curl -fsSLO https://packages.pingman.com/yum/stable/repodata/repomd.xml curl -fsSLO https://packages.pingman.com/yum/stable/repodata/repomd.xml.asc gpg --verify repomd.xml.asc repomd.xml
rpms are also signed individually:
rpm --checksig pingplotter-repo.rpm
Debian packages aren't, which is normal for deb repositories: apt's trust comes from the signed index and the checksums in it.
The deb installs two files:
/usr/share/keyrings/pingplotter.asc /etc/apt/sources.list.d/pingplotter.list
The rpm installs two files:
/etc/pki/rpm-gpg/RPM-GPG-KEY-pingplotter /etc/yum.repos.d/pingplotter.repo
If the machine has a repository entry from before we signed the repository
([trusted=yes] for apt, or a pingman repo with
gpgcheck=0 for yum), the install also disables it: apt entries get
commented out, the yum repo gets enabled=0. The original file is
backed up next to itself with a .pp-migrate-bak suffix. If that
old entry stayed active, your package manager could still install from the
unsigned path, which would make the signing pointless.
Nothing else on the system is touched and no service is started. Removing the package removes the key and the config file it installed.