Linux: RHEL, Fedora, and Amazon Linux
For: IT and infrastructure teams installing Axemere Gateway on RHEL, Fedora, or Amazon Linux.
IT Setup Overview | PostgreSQL Setup | Linux (Debian/Ubuntu) | Linux (RHEL/Fedora) | macOS | Docker/Podman | Kubernetes | Windows (WSL2) | Cloud
RPM packages are available for RHEL, Fedora, CentOS Stream, and Amazon Linux 2023. The package installs the gateway binary and systemd unit.
Table of Contents
- PostgreSQL Setup
- Installation
- Post-install Configuration
- Start / Stop / Restart
- Verify
- Trusting the CA Certificate
- Upgrading
- See Also
PostgreSQL Setup
PostgreSQL not included. The RPM package installs only the gateway binary and systemd unit. You must provision a PostgreSQL 15+ instance separately before starting the service.
Generate a password first:
openssl rand -hex 16
Install PostgreSQL and create the database:
# 1. Install PostgreSQL 16 sudo dnf install -y postgresql16-server postgresql16 # 2. Initialise the data directory (required once after install) sudo postgresql-16-setup --initdb # 3. Start and enable the service sudo systemctl enable --now postgresql-16 sudo systemctl status postgresql-16 # should show "active (running)" # 4. Create the database user and database sudo -u postgres psql <<'EOF' CREATE USER mvgc_gateway WITH PASSWORD '<your-generated-password>'; CREATE DATABASE mvgc_gateway OWNER mvgc_gateway; EOF
Your DATABASE_URL:
# Format: postgres://<user>[:<password>]@<host>[:<port>]/<database>?sslmode=<disable|require>
DATABASE_URL=postgres://mvgc_gateway:<your-generated-password>@localhost:5432/mvgc_gateway?sslmode=disable
See PostgreSQL Setup for Docker, cloud, and other options.
Installation
Pre-built .rpm packages are available on the
GitHub Releases page for amd64 and arm64.
# Resolve and download the latest RPM for this architecture ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') RPM_URL=$(curl -fsSL https://api.github.com/repos/Axemere-LLC/mvgc-releases/releases/latest \ | grep -oE "https://github.com/Axemere-LLC/mvgc-releases/releases/download/[^\"]+/mvgc-gateway_[0-9.]+_linux_${ARCH}\.rpm" | head -1) curl -fsSL -o /tmp/mvgc-gateway.rpm "$RPM_URL" sudo rpm -i /tmp/mvgc-gateway.rpm
The package installs the same file layout as the Debian package:
| Path | Contents |
|---|---|
/usr/bin/mvgc-gateway | Binary |
/lib/systemd/system/mvgc-gateway.service | systemd unit |
/etc/default/mvgc-gateway | Environment file |
/etc/mvgc/mvgc.yaml | YAML config template |
/etc/mvgc/policies/ | Policy files (bundle, add-ons) |
/etc/mvgc/credentials/credentials.yaml | Credential seed file |
/etc/mvgc/workloads/workloads.yaml | Workload seed file |
/var/lib/mvgc/ | Data directory (signing keys) |
/var/log/mvgc/ | Log directory |
Post-install Configuration
Edit /etc/mvgc/mvgc.yaml and set database.url and gateway.admin_token at minimum:
sudo nano /etc/mvgc/mvgc.yaml
database: # Format: postgres://<user>[:<password>]@<host>[:<port>]/<database>?sslmode=<disable|require> url: "postgres://mvgc_gateway:<your-generated-password>@localhost:5432/mvgc_gateway?sslmode=disable" gateway: admin_token: "<your-admin-token>"
Alternatively, set environment variables in /etc/default/mvgc-gateway. Environment variables
always take precedence over the YAML config file.
Start / Stop / Restart
sudo systemctl enable --now mvgc-gateway # start and persist across reboots sudo systemctl stop mvgc-gateway # stop sudo systemctl restart mvgc-gateway # restart after a config change
Verify
curl http://localhost:7080/healthz
Trusting the CA Certificate
When using SSL MITM proxy mode, install the gateway's CA certificate into the RHEL/CentOS/Fedora system trust store:
curl http://localhost:7080/v1/proxy/ca.crt > mvgc-proxy-ca.crt sudo cp mvgc-proxy-ca.crt /etc/pki/ca-trust/source/anchors/mvgc-proxy-ca.crt sudo update-ca-trust
This makes all system tools (curl, wget, Python requests, Go HTTP clients) trust the gateway's CA certificate automatically.
Upgrading
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') RPM_URL=$(curl -fsSL https://api.github.com/repos/Axemere-LLC/mvgc-releases/releases/latest \ | grep -oE "https://github.com/Axemere-LLC/mvgc-releases/releases/download/[^\"]+/mvgc-gateway_[0-9.]+_linux_${ARCH}\.rpm" | head -1) curl -fsSL -o /tmp/mvgc-gateway.rpm "$RPM_URL" sudo rpm -U /tmp/mvgc-gateway.rpm sudo systemctl restart mvgc-gateway
Schema migrations run automatically on startup. Take a Postgres backup before upgrading. See the Upgrading section in the overview for details on schema migrations and downgrade.
See Also
- IT Setup Overview -- architecture, configuration reference, security hardening
- PostgreSQL Setup -- alternative database setup options
- Configuration Reference -- all environment variables and config file options
- Docker/Podman -- Docker Compose deployment