Skip to content

Automated infrastructure and tooling for performance benchmarking and analysis of Red Hat Trusted Artifact Signer (RHTAS).)

License

Notifications You must be signed in to change notification settings

securesign/rhtas-benchmark

Repository files navigation

RHTAS Performance Analysis Infrastructure

This repository provides tools for deploying and conducting performance analysis on the Red Hat Trusted Artifact Signer (RHTAS) stack.

Disclaimer

Caution

This repository is not stable and may change at any time. The content provided here may be incompatible with past, current, or future versions of Red Hat Trusted Artifact Signer (RHTAS).

Prerequisites

  • OpenShift cluster access (oc CLI tool installed and logged in)
  • Ansible and required Python dependencies (the deploy.sh script will set up a virtual environment automatically)

Quick Start

Deploy Infrastructure

# Deploy baseline configuration
make deploy-baseline

# OR deploy optimized configuration (high resources & affinity)
make deploy-optimized

Clean Up

# Remove only applications (keeps operators)
make clean-apps

# Remove everything including operators
make clean

Available Make Commands

Infrastructure

  • make deploy or make deploy-baseline - Deploy baseline RHTAS configuration
  • make deploy-optimized - Deploy optimized RHTAS configuration
  • make clean-apps - Remove applications only (keeps operators)
  • make clean - Remove everything including operators
  • make check - Verify prerequisites
  • make status - Show deployment status

Performance Tests

Signing Tests:

  • make sign-smoke - Simple 1 VU, 1 iteration test
  • make sign-load - Light load test with 20 VUs
  • make sign-optimal-range - Production load test with 100 VUs
  • make sign-stress - High-load stress test
  • make sign-fill - Pre-seed database with 10,000 entries

Verifying Tests:

  • make generate-verify-data - Generate UUID needed for verification tests
  • make verify-smoke - Simple 1 VU, 1 iteration test
  • make verify-load - Light load test with 80 VUs (requires UUID=<uuid>)
  • make verify-optimal-range - Production load test with 100 VUs (requires UUID=<uuid>)
  • make verify-stress - High-load stress test (requires UUID=<uuid>)

Configuration

Default Test Credentials

  • Keycloak OIDC User: jdoe@redhat.com / secure
  • Grafana Admin: admin / admin
  • Certificate Email: jdoe@redhat.com

These are hardcoded for test environment compatibility.

Custom Container Images

This repository uses custom container images that are specifically configured for this project:

  • quay.io/rh_ee_kdacosta/go-crypto-helper - Custom helper for cryptographic operations used in K6 performance tests
  • quay.io/rh_ee_kdacosta/k6 - Custom K6 image with Prometheus pushgateway support
  • quay.io/rh_ee_kdacosta/mysqld-exporter - Custom MySQL exporter with fixes for special characters (#, $) in passwords that would otherwise break password parsing

These images are required for the infrastructure to function correctly and should not be replaced with standard images.

Monitoring

The deployed infrastructure includes a Grafana instance with a custom dashboard for real-time performance insights.

RHTAS Performance Dashboard

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

About

Automated infrastructure and tooling for performance benchmarking and analysis of Red Hat Trusted Artifact Signer (RHTAS).)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published