Skip to content

Private datacenter (Outpost) test

Problem: Your target service is not reachable from the public internet — it lives behind a VPN, in a private subnet, or in a regulated environment. MaxoPerf’s managed cloud locations cannot reach it. A BYOC Outpost (Bring Your Own Compute) installs a MaxoPerf runner agent inside your network so tests run from there, with results surfaced in the same MaxoPerf console.

Test type: Any (Load test, Stress test, Smoke test).

  • A MaxoPerf workspace with permission to create private datacenters.
  • A Docker host or a Kubernetes cluster inside the target network with outbound HTTPS access to MaxoPerf service endpoints.
  • A test file targeting an internal URL.

See Connect a private datacenter for the full installation how-to.

  1. Open the Workspace page and switch to the Private datacenters tab.
  2. Click New private datacenter.
  3. Give it a descriptive name — for example k8s-staging-internal or aws-vpc-us-east.
  4. Choose the runtime (Docker or Kubernetes) and save.
  5. Copy the generated install snippet. It contains a one-time enrollment token and the MaxoPerf service endpoints.
  1. SSH into your Docker host (or apply the Kubernetes manifests to your cluster).
  2. Run the install snippet. The agent registers, exchanges the one-time token for a long-lived identity, and appears as running in the console within 30–60 seconds.

3. Write a test targeting the internal URL

Section titled “3. Write a test targeting the internal URL”
execution:
- scenario: internal-api
concurrency: 20
ramp-up: 2m
hold-for: 5m
scenarios:
internal-api:
requests:
- label: GET /internal/health
url: http://internal-api.svc.cluster.local:8080/internal/health
method: GET
- label: POST /internal/jobs
url: http://internal-api.svc.cluster.local:8080/internal/jobs
method: POST
headers:
Content-Type: application/json
Authorization: Bearer ${INTERNAL_API_TOKEN}
body: '{"type": "load-test-job", "payload": {}}'

The internal hostname resolves inside your network but not from outside — that is exactly why you need the Outpost.

4. Configure the test to use the private location

Section titled “4. Configure the test to use the private location”
  1. Upload the YAML under Files and bind INTERNAL_API_TOKEN under Settings → Secrets.
  2. Switch to the Configuration tab.
  3. Under Locations, remove any managed cloud locations and add your private datacenter location.
  4. Save and click Run now.

5. Verify the runners are in the private location

Section titled “5. Verify the runners are in the private location”
  1. Open the run and switch to the Runners tab.
  2. Each runner should display your private datacenter name as its location badge.
  3. If runners show a managed cloud region instead, check that the private location is the only selected location in the Configuration tab.
  • The Runners tab shows runners from your private datacenter (not a managed cloud region).
  • The internal URL responds successfully — 2xx responses on the health and action labels.
  • Latency is lower than it would be from a managed public cloud region because the runner is co-located with the target.
  • If latency is unexpectedly high, check network path between the runner host and the target service.
  • Mix private + cloud: weight 80 % to the private location and 20 % to a cloud region to test both the internal path and internet-facing routing simultaneously.
  • Multiple Outpost agents: register a second private datacenter in a different private subnet to test east–west latency inside your network.
  • Docker Compose quick start: for a quick smoke test, the Docker runtime requires only a single docker run command — no Kubernetes.